A restaurant order service that writes straight into the POS.
Ricki Pollo is a rotisserie-chicken restaurant in Puebla, Mexico, and a live ByAgentX client. We built the ordering back end its AI agents use: every order is checked against the live menu, lands in the Poster POS monitor and is accepted or cancelled by staff at the register.
The problem.
- Orders arrived as free-text chat messages that staff had to retype into the POS during the rush.
- Prices, combos and modifiers in chat replies could drift from what the register actually sells.
- Orders outside opening hours or outside the delivery area needed a person to follow up, and those were easy to lose.
What we built.
Order engine
Validates each item and modifier against the live POS menu (cached and refreshed automatically), checks the delivery-area list and opening hours, and computes the total. Prices always come from the POS, never from the model.
Direct POS write
Accepted orders are created as online orders in the Poster POS, so they appear on the register monitor with its sound alert. Nobody retypes anything.
Staff alerts
A message to the staff group shows each order and updates itself when the order is accepted or cancelled at the register.
Hours and edge cases
Orders placed before opening are queued and sent automatically at opening time. Late orders are held for a person to confirm the next day.
Safe retries
A durable queue with idempotency keys means a retry or a double tap never creates a second order.
Customer-facing agent
The restaurant's assistant, Fernanda, answers menu, price and hours questions on the website chat, Instagram and Facebook, using only the published menu.
How it fits together.
Status flows back: when staff accept or cancel in the POS, the staff-group message updates itself.
Simplified diagram. Hostnames, keys and internal addresses are left out on purpose.
The stack.
- Server-side Node.js order service (systemd), private to our server
- Poster POS API (incoming online orders, live menu reads)
- Telegram bot for staff alerts with status sync from the POS
- LLM-backed sales agent with a signed session per visitor and menu-grounded replies
- Private by default: the order API is not exposed to the internet
How we test and roll back.
- An automated test suite covers menu validation, zones, opening-hour edges (11:59 / 12:00 / 18:59 / 19:00), retries and the POS writer gate. It ran green on the server before the latest deploy.
- The POS writer stays switched off until it is explicitly armed. Every new pass is first proven with dry runs that cannot reach the POS.
- Live testing used orders clearly marked “TEST – DO NOT PREPARE”, announced to the branch in advance, then cancelled at the register.
- Every deploy keeps a dated backup of the previous build. Rollback means restoring it and restarting one service, and the same health checks run afterwards.
Where people stay in control.
- Staff accept or cancel every order at the register. The agent never confirms an order the kitchen has not accepted.
- Addresses outside the published delivery list, and orders after closing time, go to a person.
- The agent cannot invent prices, promotions or capacity for large groups. Anything it cannot verify, it hands to the branch phone.
- Customer phone numbers and addresses stay out of logs. Only staff in the restaurant's group see them.
What the client gets.
- An order service connected to their own POS, under their own POS account
- An assistant with the restaurant's name that answers from the real menu
- Staff alerts and order-status sync they already understand
- Weekly review of conversations and a written change log
Comparable packages
$1,500 USD/mo
One-time setup $6,000
Calls, texts, web and Facebook/Instagram, 2–3 workflows.
$3,000 USD/mo
One-time setup $12,000
Multiple locations, pipelines and custom integrations such as a POS.
Prices from our public US price list. Telephony, messaging, AI usage and payment fees are passed through at cost. Final scope in writing.
Status and what we don't publish.
Verified November 2026: the order service runs in production on our server, connected to the restaurant's POS. Supervised test orders created by the service reached the register monitor and the staff group, and were cancelled at the register. Customer channels are being connected to the service in stages. Until then, customers place orders through the restaurant's staffed WhatsApp line, and the assistant handles questions. We will publish order volumes only once there is real production data.
Want this for your business?
Book a 20-minute call. We look at your channels, your systems and where an agent pays off, and you leave with a plan.