API reference

Kitchen

The kitchen board, tickets, prep times and prep lists.

get

/v1/kitchen/board

Live tickets for an outlet (optionally one station) with elapsed/due and amber/red colour; restaurants and cloud kitchens only

operationId getKdsBoard

Auth

Member token+Tenant header

Parameters

  • outletin querystringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
  • stationin querystringoptional
    pattern ^[a-z][a-z0-9_]*$

Response 200

V1KdsBoardcontract v1.kds.board
  • outlet_idUuid7required
  • as_ofIsoDatetimerequired
  • stationsarray of stringrequired
  • ticketsarray of objectrequired
    • ticket_idUuid7required
    • order_idUuid7required
    • ticket_nointegerrequired
      ≥ 1≤ 9007199254740991
    • business_datestring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • stationstringrequired
      max length 40pattern ^[a-z][a-z0-9_]*$
    • statusenum (4)required
      queuedpreparingreadydone
    • kindenum (4)required
      dine_intakeawaypickupdelivery
    • table_refstring | nullrequired
    • channel_kindstringrequired
    • started_atIsoDatetimerequired
    • accepted_atIsoDatetime | nullrequired
    • ready_atIsoDatetime | nullrequired
    • due_atIsoDatetime | nullrequired
    • promised_atIsoDatetime | nullrequired
    • laneenum (2)required
      nowlater
    • surface_atIsoDatetime | nullrequired
    • colourenum (3)required
      normalamberred
    • linesarray of objectrequired
      • line_nointegerrequired
        ≥ 1≤ 9007199254740991
      • item_idUuid7required
      • name_keystringrequired
        min length 1max length 200
      • qty_milliintegerrequired
        ≥ -9007199254740991≤ 9007199254740991
      • optionsarray of objectrequired
        Show fields of options
        • option_idUuid7required
        • name_keystringrequired
          min length 1max length 200
      • notestring | nullrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/kitchen/tickets/{id}:advance

kitchen.ticket.advance.v1 — queued → preparing → ready → done; a stale from_status or an illegal move is 409

operationId advanceKitchenTicket

Auth

Member token+Tenant header

Parameters

  • idin pathstringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "kitchen.ticket.advance.v1"required
  • payloadKitchenTicketAdvanceV1required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/kitchen/prep-times

kitchen.prep_time.set.v1 — a manager's own expected prep time (closes the previous one)

operationId setPrepTime

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "kitchen.prep_time.set.v1"required
  • payloadKitchenPrepTimeSetV1required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/kitchen/prep-lists

kitchen.prep_list.create.v1 — a manager's own prep list (intel's proposals arrive as drafts and wait for approval)

operationId createPrepList

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "kitchen.prep_list.create.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/kitchen/prep-list

Whether the outlet's prep list for a business date is approved, waiting for approval, absent, or cannot be verified

operationId getPrepList

Auth

Member token+Tenant header

Parameters

  • outletin querystringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
  • business_datein querystring (date)required

Response 200

V1KitchenPrepListcontract v1.kitchen.prep_list
  • outlet_idUuid7required
  • business_datestring (date)required
    pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
  • stateenum (4)required
    approvedwaitingnonecannot_verify
  • reason_codeReasonCode | nullrequired
  • prep_listobject | nullrequired
    • prep_list_idUuid7required
    • statusenum (3)required
      opendonecancelled
    • draft_idUuid7 | nullrequired
    • linesarray of objectrequired
      • ingredient_idUuid7 | nullrequired
      • item_idUuid7 | nullrequired
      • qty_milliintegerrequired
        ≥ -9007199254740991≤ 9007199254740991
      • unitstringrequired
        pattern ^[a-z][a-z_]{0,15}$

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.