Skip to content

Online ordering

Directory, online menu and order tracking

The endpoints behind ordering from your own site: the public directory, the restaurant profile, the online menu, order placement and post-checkout tracking. Unauthenticated and addressed by restaurant slug.

Restaurant directory

GET /public/directory Scope: public (no key)

Lists the restaurants that have opted into public discovery. Use it to build your own directory page; the same data drives the diner-facing discovery surface on tablezio.com.

Query parameters

qstringOptional

Free-text search over the listing.

citystringOptional

Filter by city.

cuisinestringOptional

Filter by cuisine.

limitintegerOptional

Maximum results to return.

Request

curl 'https://api.tablezio.com/public/directory?city=Madrid&limit=20'

Public restaurant profile

GET /public/restaurants/{slug}/info Scope: public (no key)

Returns the public profile of one restaurant: the details a guest needs before ordering. Everything here is what the restaurant chose to publish — this endpoint never exposes operational records.

Path parameters

slugstringRequired

Restaurant slug.

Request

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/info'

Online ordering menu

GET /public/restaurants/{slug}/online-menu Scope: public (no key)

The menu as the online ordering flow needs it — the items and prices that apply to the online channel. It reads the same catalogue as the POS, so an 86’d item disappears from here without a second edit.

Path parameters

slugstringRequired

Restaurant slug.

Request

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/online-menu'

Public menu page payload

GET /public/restaurants/{slug}/public-menu Scope: public (no key)

The read-only menu payload behind the hosted menu page at tablezio.com/r/{slug}/menu. Use this one when you want to display a menu without an ordering flow attached.

Path parameters

slugstringRequired

Restaurant slug.

Request

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/public-menu'

Place an online order

POST /public/restaurants/{slug}/online-orders Scope: public (no key)

Creates an order on the online channel — pickup or delivery — for the restaurant identified by slug. This is the endpoint behind ordering from your own site, which is what keeps the order (and the guest record) yours rather than a marketplace’s.

Path parameters

slugstringRequired

Restaurant slug.

Request

curl -X POST 'https://api.tablezio.com/public/restaurants/casa-pepe/online-orders' \
  -H 'Content-Type: application/json' \
  -d '{"type":"takeout","customer":{"name":"Ana","phone":"+34600000000"},"items":[{"menuItemId":"5a1b2c3d4e5f6a7b8c9d0e1f","quantity":1}]}'

Track an online order

GET /public/restaurants/{slug}/orders/{orderId}/track Scope: public (no key)

Returns the tracking state of an online order so the guest can follow it after checkout. It is scoped to the restaurant in the path, so an order id alone is not enough to read an order from a different restaurant.

Path parameters

slugstringRequired

Restaurant slug.

orderIdstringRequired

Order id returned when the order was placed.

Request

curl 'https://api.tablezio.com/public/restaurants/casa-pepe/orders/507f1f77bcf86cd799439011/track'