YumKiosk YumKiosk Docs
Website Agent login Owner panel
For Agents

Accepting incoming sessions

How the incoming-session queue works and best practices for handling calls.

Accepting incoming sessions

Accepting sessions is the core of the agent job. A kiosk customer taps Start order, a card pops up in your dashboard, and you click Accept — that's the short version. The longer version covers queue priority, timing, what happens behind the scenes, and the etiquette we've seen drive the best customer satisfaction scores.

How the queue works

When a customer taps Start order on a kiosk, the kiosk sends POST /api/public/sessions/start to the cloud. The cloud creates a pending session row, then broadcasts an IncomingSession event over the WebSocket to every agent who is:

  • Logged in on this business
  • Status = Available
  • Allowed to serve the kiosk's location
  • Not already in another session

Every eligible agent sees the same card appear in their dashboard simultaneously. It's a race — the first agent to click Accept wins. The server uses an atomic UPDATE ... WHERE status = 'pending' to prevent double-accepts, so two agents clicking at the exact same millisecond can't both get the call.

Queue priority

Within the queue, sessions are ranked by age — the oldest waiting session is highlighted with a pulsing border so you pick it up first. There's no hidden priority based on VIP customers or order value; everyone's treated fairly in the order they tapped.

Timing and the accept SLA

We track accept latency (time between the session being created and you clicking Accept) as a top-line performance metric. The platform target is under 8 seconds. Agents with consistently fast accepts get a small visual badge on their profile and tend to rank higher in owner reports.

If a session sits in the queue for more than 60 seconds with nobody available, the kiosk shows a "we're experiencing high demand" message and offers the customer the option to wait or come back later. If nobody accepts in 120 seconds total, the session auto-cancels and the kiosk returns to the attract screen.

Accept best practices

A few small habits we've seen consistently separate top agents from average ones:

  1. Always have your camera on when accepting. Customers are more engaged when they can see a face. You can mute your mic if you need a second to load the order screen.
  2. Greet immediately. "Hi! Welcome to [Business]. What can I get started for you today?" — no dead air.
  3. Confirm the order back as you build it. "So that's one cheeseburger, medium, with no onions — is that right?" This catches errors before payment and makes customers feel heard.
  4. Use the customer's name if it's on screen. If they've loaded their loyalty account, their name appears in the session header.
  5. Smile. Sounds cheesy, but it comes through in your voice.

Declining vs. dismissing

Lead agents and managers can dismiss a session without accepting it, which bumps it back into the queue for someone else. Regular agents don't have this option — they either accept it or let it time out. This prevents cherry-picking and keeps the queue moving.

Concurrent sessions

An agent can only be in one session at a time. While you're in a call, your status auto-flips to Busy and you're removed from the incoming queue. You don't need to manually change anything.

Technical failures

If the video fails to connect after accepting (network blip, camera permission denied, etc.), the session auto-aborts after 15 seconds and the customer sees a "connection error, please try again" screen. You'll see a red banner explaining what went wrong, and the session doesn't count against your completion rate metric. These are tracked separately so agents aren't penalized for infrastructure issues.