https://api.[tenant].getomneo.com/api/v3.
Walk-in queue
Check a customer into the queue for a definition that allows walk-ins. Send aPOST to /appointment-queues with the definition and location. Omit profile_id for an anonymous walk-in.
201. For an anonymous walk-in, drop profile_id:
data object, with status defaulting to waiting and appointment_id still null:
profile_id, profile, staff_id, and staff are null.
A queue entry moves through four statuses.
Advance the status with a
PUT to /appointment-queues/{id}:
Converting a served entry into an appointment
To keep a record of the service, create an appointment and link it to the queue entry through theappointment_id field. Create the appointment first, then set appointment_id on the queue entry:
Waitlist
Register a customer’s interest when no slot suits. Send aPOST to /appointment-waitlists. profile_id is required here (a waitlist entry always belongs to a known Profile). Include desired_start_at to record when the customer would like to be seen.
data object, with status defaulting to active:
A waitlist entry moves through three statuses.
Fulfilling a waitlist entry
When a slot opens, create an appointment for the customer, then fulfil the entry by linking the appointment throughappointment_id and setting the status to fulfilled:
Filtering queues and waitlists
Both lists support the same filter pattern as the rest of the API. Filter by definition, location, and status to build an operator view for one service at one store.Both list endpoints are paginated. Use
page[size] and page through meta.pagination, the same as every other Omneo list endpoint.End-to-end example: a walk-in becomes a booked service
This is the full arc for a customer who arrives without a booking and is served.1
Check the customer in
status: "waiting" and an id (here 812).2
Call the customer
3
Create the appointment for the service
id from the 201 response.4
Mark served and link the appointment
PUT the entry with status: "fulfilled" and appointment_id.Response codes
Errors
Edge cases and gotchas
- Anonymous walk-ins have no Profile. Omit
profile_idon a queue create for a walk-in you cannot identify. The waitlist always requiresprofile_id, because an entry has to belong to a known customer so you can contact them. - Linking is the source of truth, not conversion. Nothing converts a queue or waitlist entry automatically. You create the appointment yourself, then set
appointment_idon the entry and move itsstatus. - Statuses differ between the two. A queue moves through
waiting,called,served,cancelled; a waitlist throughactive,fulfilled,cancelled. Filter with the values that belong to each resource. - Deleting removes the entry.
DELETEreturns204and no body. To keep the record, setstatustocancelledinstead.