API reference

Orders, shifts and pickup

Staff-side orders with server-side pricing, the allowed-transition table, cash shifts and pickup windows.

post

/v1/orders:preview

Price a cart with core's pricing function; writes nothing; labelled Preview (R40 C1)

operationId previewOrder

Auth

Member token+Tenant header

Request body

OrdersPreviewRequestcontract orders.preview.request
  • outlet_idUuid7required
  • channel_idUuid7required
  • brand_idUuid7 | nullrequired
  • kindenum (4)required
    dine_intakeawaypickupdelivery
  • pickup_window_idUuid7 | nullrequired
  • promised_atIsoDatetime | nullrequired
  • coupon_codesarray of stringrequired
    max items 5
  • loyalty_redeem_pointsintegerrequired
    ≥ 0≤ 9007199254740991
  • linesarray of objectrequired
    min items 1
    • item_idUuid7required
    • variant_idUuid7 | nullrequired
    • option_idsarray of Uuid7required
    • qty_milliintegerrequired
      > 0≤ 9007199254740991
    • barcodestring | nullrequired
      pattern ^[0-9A-Za-z-]{4,32}$

Response 200

OrdersPreviewResponsecontract orders.preview.response
  • labelconst "preview"required
  • priced_atIsoDatetimerequired
  • currencystringrequired
    pattern ^[A-Z]{3}$
  • tax_ruleobjectrequired
    • pack_codestringrequired
      pattern ^[A-Z]{2}$
    • pack_versionintegerrequired
      ≥ 1≤ 9007199254740991
  • linesarray of objectrequired
    • line_nointegerrequired
      ≥ 1≤ 9007199254740991
    • item_idUuid7required
    • variant_idUuid7 | nullrequired
    • qty_milliintegerrequired
      > 0≤ 9007199254740991
    • unit_price_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • options_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • line_discount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_classstringrequired
      pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
    • tax_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • line_total_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • price_refstringrequired
      pattern ^⟨cite:(?:row:[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_]*:[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|(?:doc|msg|claim|snapshot):[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?:·(?:0|[1-9][0-9]*)-(?:0|[1-9][0-9]*))?⟩$
    • option_refsarray of stringrequired
    • deal_refsarray of stringrequired
    • coupon_refsarray of stringrequired
  • subtotal_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • discount_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • tax_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • total_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • refusalsarray of objectrequired
    • line_nointeger | nullrequired
      ≥ 1≤ 9007199254740991
    • reason_codeReasonCoderequired

Errors

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

get

/v1/orders

Orders in the caller's outlet scope, newest first; a shift's orders are those it took a tender for

operationId listOrders

Auth

Member token+Tenant header

Parameters

  • outletin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • statusin queryenum (7)optional
    placedacceptedrejectedpreparingreadycompletedcancelled
  • table_refin querystringoptional
  • shiftin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • business_datein querystring (date)optional
  • limitin queryintegeroptional
  • cursorin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Response 200

V1OrdersListcontract v1.orders.list
  • itemsarray of objectrequired
    • order_idUuid7required
    • outlet_idUuid7required
    • channel_idUuid7required
    • device_idUuid7 | nullrequired
    • kindenum (4)required
      dine_intakeawaypickupdelivery
    • table_refstring | nullrequired
    • statusenum (7)required
      placedacceptedrejectedpreparingreadycompletedcancelled
    • 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])))$
    • ticket_nointegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • subtotal_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • discount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • total_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • promised_atIsoDatetime | nullrequired
    • created_atIsoDatetimerequired
  • next_cursorUuid7 | nullrequired

Errors

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

post

/v1/orders

orders.place.v1 — core re-prices; client totals are ignored; a preview total that no longer holds is refused (preview_total_changed)

operationId placeOrder

Auth

Member token+Tenant header

Request body

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

Response 201

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/orders/{id}

One order with its lines and tenders; paid and remaining computed by core in the same read

operationId getOrder

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}$

Response 200

V1Ordercontract v1.order
  • order_idUuid7required
  • outlet_idUuid7required
  • channel_idUuid7required
  • device_idUuid7 | nullrequired
  • kindenum (4)required
    dine_intakeawaypickupdelivery
  • table_refstring | nullrequired
  • statusenum (7)required
    placedacceptedrejectedpreparingreadycompletedcancelled
  • 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])))$
  • ticket_nointegerrequired
    ≥ 1≤ 9007199254740991
  • invoice_fyinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • invoice_nointeger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • promised_atIsoDatetime | nullrequired
  • pickup_window_idUuid7 | nullrequired
  • subtotal_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • discount_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • tax_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • total_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • loyalty_minorintegerrequired
    ≥ 0≤ 9007199254740991
  • paid_minorintegerrequired
    ≥ 0≤ 9007199254740991
  • remaining_minorintegerrequired
    ≥ 0≤ 9007199254740991
  • currencystringrequired
    pattern ^[A-Z]{3}$
  • linesarray of objectrequired
    • line_idUuid7required
    • line_nointegerrequired
      ≥ 1≤ 9007199254740991
    • item_idUuid7required
    • variant_idUuid7 | nullrequired
    • option_idsarray of Uuid7required
    • qty_milliintegerrequired
      > 0≤ 9007199254740991
    • unit_price_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • line_discount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
  • tendersarray of V1Tenderrequired
  • created_atIsoDatetimerequired

Errors

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

get

/v1/orders/{id}/receipt

The bill per the country pack (tax invoice, or a Sec 9(5) record-only receipt)

operationId getOrderReceipt

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}$

Response 200

V1OrderReceiptcontract v1.order.receipt
  • order_idUuid7required
  • kindenum (2)required
    tax_invoicerecord
  • titlestringrequired
  • operatorstring | nullrequired
  • sellerobjectrequired
    • namestringrequired
    • addressstringrequired
  • tax_idsarray of objectrequired
    • codestringrequired
    • labelstringrequired
    • valuestringrequired
  • numberstringrequired
    min length 1
  • datestringrequired
    min length 1
  • currencystringrequired
    pattern ^[A-Z]{3}$
  • linesarray of objectrequired
    • line_nointegerrequired
      ≥ 1≤ 9007199254740991
    • item_idUuid7required
    • name_keystringrequired
      pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
    • qty_milliintegerrequired
      > 0≤ 9007199254740991
    • unit_price_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • amount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • discount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • net_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • total_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_classstringrequired
      pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
    • componentsarray of objectrequired
      • codestringrequired
        min length 1max length 20
      • rate_bpintegerrequired
        ≥ 0≤ 9007199254740991
      • amount_minorintegerrequired
        ≥ -9007199254740991≤ 9007199254740991
  • net_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • tax_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • total_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • componentsarray of objectrequired
    • codestringrequired
      min length 1max length 20
    • rate_bpintegerrequired
      ≥ 0≤ 9007199254740991
    • amount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991

Errors

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

post

/v1/orders/{id}:accept

Accept a placed order

operationId acceptOrder

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 "orders.order.accept.v1"required
  • payloadOrdersOrderAcceptV1required

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/orders/{id}:reject

Reject a placed order with a reason code; consumed stock, redeemed points and the pickup slot are given back

operationId rejectOrder

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 "orders.order.reject.v1"required
  • payloadOrdersOrderRejectV1required

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/orders/{id}:advance

Move an order one step (preparing, ready, completed, or cancelled with a reason — refused while payments stand unrefunded); completion derives loyalty earn and the sale's journal entry

operationId advanceOrder

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 "orders.order.advance.v1"required
  • payloadOrdersOrderAdvanceV1required

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/orders/{id}:push-back

Move the promised time later with a reason code; deals are re-judged at the new time; refused once a payment is recorded

operationId pushBackOrder

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 "orders.promise.push_back.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.

post

/v1/orders/{id}/tenders

Record a cash / card / UPI payment (recorded only — Munim does not process payments)

operationId recordTender

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 "orders.tender.record.v1"required
  • payloadOrdersTenderRecordV1required

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/orders/{id}/voids

Void a line, or the whole order (which cancels it; voids never exceed the total), with a reason; before any payment

operationId recordVoid

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 "orders.void.record.v1"required
  • payloadOrdersVoidRecordV1required

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/orders/{id}/refunds

Record a refund with a reason, within what was paid and the member's authority

operationId recordRefund

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 "orders.refund.record.v1"required
  • payloadOrdersRefundRecordV1required

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/pickup-windows

An outlet's pickup slots for a local calendar day, in time order, with capacity and booked

operationId listPickupWindows

Auth

Member token+Tenant header

Parameters

  • outletin querystringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • datein querystring (date)required
  • limitin queryintegeroptional
  • cursorin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Response 200

V1PickupWindowsListcontract v1.pickup-windows.list
  • itemsarray of objectrequired
    • pickup_window_idUuid7required
    • outlet_idUuid7required
    • starts_atIsoDatetimerequired
    • ends_atIsoDatetimerequired
    • capacity_ordersintegerrequired
      ≥ 1≤ 9007199254740991
    • bookedintegerrequired
      ≥ 0≤ 9007199254740991
  • next_cursorUuid7 | nullrequired

Errors

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

post

/v1/pickup-windows

Create pickup slots for a business date (outlet-local times, DST-safe); existing slots are kept

operationId generatePickupWindows

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "orders.pickup_window.generate.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/shifts

Drawer shifts in the caller's outlet scope, newest first (from / to = the outlet's business day of the opening, local time less its business-day cutoff)

operationId listShifts

Auth

Member token+Tenant header

Parameters

  • outletin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • devicein querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • statusin queryenum (2)optional
    openclosed
  • fromin querystring (date)optional
  • toin querystring (date)optional
  • limitin queryintegeroptional
  • cursorin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Response 200

V1ShiftsListcontract v1.shifts.list
  • itemsarray of objectrequired
    • shift_idUuid7required
    • outlet_idUuid7required
    • device_idUuid7 | nullrequired
    • statusenum (2)required
      openclosed
    • opened_byUuid7required
    • opened_atIsoDatetimerequired
    • float_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • closed_byUuid7 | nullrequired
    • closed_atIsoDatetime | nullrequired
    • counted_cash_minorinteger | nullrequired
      ≥ -9007199254740991≤ 9007199254740991
    • expected_cash_minorinteger | nullrequired
      ≥ -9007199254740991≤ 9007199254740991
    • variance_minorinteger | nullrequired
      ≥ -9007199254740991≤ 9007199254740991
  • next_cursorUuid7 | nullrequired

Errors

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

post

/v1/shifts

Open a drawer shift with its float

operationId openShift

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "orders.shift.open.v1"required
  • payloadOrdersShiftOpenV1required

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/shifts/{id}:close

Close a shift with the counted cash; core computes expected cash and variance

operationId closeShift

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 "orders.shift.close.v1"required
  • payloadOrdersShiftCloseV1required

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/shifts/{id}

One drawer shift: opening float and, once closed, counted cash, expected cash and variance (row fields)

operationId getShift

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}$

Response 200

V1Shiftcontract v1.shift
  • shift_idUuid7required
  • outlet_idUuid7required
  • device_idUuid7 | nullrequired
  • statusenum (2)required
    openclosed
  • opened_byUuid7required
  • opened_atIsoDatetimerequired
  • float_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • currencystringrequired
    pattern ^[A-Z]{3}$
  • closed_byUuid7 | nullrequired
  • closed_atIsoDatetime | nullrequired
  • counted_cash_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • expected_cash_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • variance_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991

Errors

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