Dojo Orders API

The Orders API from Dojo — 7 operation(s) for orders.

Operations 9

POST /v1/orders Create an order #
GET /v1/orders/{orderId} Get an order by id #
DELETE /v1/orders/{orderId} Cancel an order by id #
POST /v1/orders/search Search orders
POST /v1/orders/{orderId}/lock Lock an EPOS Order #
DELETE /v1/orders/{orderId}/locks/{lockId} Unlock an EPOS Order #
PUT /v1/orders/{orderId}/locks/{lockId} Extend an EPOS Order Lock #
GET /v1/orders/{orderId}/bill Get a printable bill #
POST /v1/orders/{orderId}/record-payment Record Payment Request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dojo-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dojo-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EPOS Data API (REST) Orders API
  version: '1.0'
  description: 'REST contract that an external POS/EPOS system implements so Dojo products can

    fetch and update commerce entities (Orders, Tables, Areas, Parties, Reservations)

    and record payments. Use this when the EPOS exposes its own publicly reachable

    HTTP endpoints; for on-premise EPOSes that cannot accept inbound HTTP, use the

    [WebSocket variant](/epos-data-asyncapi/bundled.yaml) of the same contract.


    Core modules:

    - Tables

    - Areas

    - Orders

    - Parties

    - Reservations


    API modules can generally be

    implemented independently, with a small number of interdependent fields affected

    by other modules (for example, if Parties are implemented & the information is

    known, a `partyId` should be attached to an Order''s `dineInDetails`).


    All requests also contain special headers within the REST headers,

    containing details about the requestor that can be used for logging purposes or EPOS business logic

    (such as waiter id based access to entities).


    Before any of these endpoints will be invoked by Dojo, register the capabilities you implement with `PUT /epos/integrations/rest`. See the EPOS Data API guide for the full registration flow.'
servers:
- url: https://your-epos.example.com
  description: 'The EPOS Data REST API has no shared base URL: each EPOS provider hosts the

    endpoints on their own domain and registers them against that base via

    `PUT /epos/integrations/rest`. The placeholder `https://your-epos.example.com`

    is illustrative — replace with your own publicly reachable HTTPS URL.'
tags:
- name: Orders
paths:
  /v1/orders:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
        required: true
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: .
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-post-orders
      summary: Create an order
      description: 'Create an order on the EPOS. Capability: `CreateOrder`

        '
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
  /v1/orders/{orderId}:
    parameters:
    - name: orderId
      description: The ID of the order to retrieve.
      schema:
        type: string
      in: path
      required: true
    - $ref: '#/components/parameters/WaiterId'
    - $ref: '#/components/parameters/DojoRequestingProduct'
    - $ref: '#/components/parameters/DeviceId'
    - $ref: '#/components/parameters/DeviceType'
    get:
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: OK
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-get-orders-orderId
      summary: Get an order by id
      description: 'Retrieve details of an order using the order ID. Capability: `GetOrderById`

        '
    delete:
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: OK
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-delete-orders-orderId
      summary: Cancel an order by id
      description: 'Cancels an order by ID. Capability: `CancelOrderById`

        '
  /v1/orders/search:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchOrdersRequest'
        required: true
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedOrdersResponse'
          description: .
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      summary: Search orders
      description: 'Searches through the orders on the EPOS. Capability: `SearchOrders`

        '
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
  /v1/orders/{orderId}/lock:
    parameters:
    - name: orderId
      description: The ID of the order to lock.
      schema:
        type: string
      in: path
      required: true
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderLockRequest'
        required: true
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: Successful response with the order in its current state.
        '409':
          description: Conflict, order currently cannot be locked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
                example:
                  errorType: Conflict
                  debugMessage: The order is already locked by waiter Joe at till 123
                  traceId: some-internal-trace-guid
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-post-order-lock
      summary: Lock an EPOS Order
      description: 'Request a Dojo write lock on an EPOS Order, returning the latest version of the Order once locked. Capability: CreateOrderLock

        '
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
  /v1/orders/{orderId}/locks/{lockId}:
    parameters:
    - name: orderId
      description: The ID of the order to unlock.
      schema:
        type: string
      in: path
      required: true
    - name: lockId
      description: The unique ID of a lock generated by Dojo. Consuming this isn't strictly required as Dojo will create at most one lock per order, but it can be useful for tracking the lifecycle of any lock.
      schema:
        type: string
      in: path
      required: true
    delete:
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: The order in the state after the lock has been released
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-delete-order-lock
      summary: Unlock an EPOS Order
      description: 'Request to release a Dojo write lock on an EPOS Order, returning the latest version of the Order once unlocked. Capability: `DeleteOrderLock`

        '
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtendOrderLockRequest'
        required: true
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendOrderLockResponse'
          description: .
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-put-extend-order-lock
      summary: Extend an EPOS Order Lock
      description: 'Request a Dojo write lock on an EPOS Order is extended, returning the latest version of the Order. Capability: `ExtendOrderLock`

        '
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
  /v1/orders/{orderId}/bill:
    parameters:
    - name: orderId
      description: The ID of the order to get the bill for.
      schema:
        type: string
      in: path
      required: true
    get:
      tags:
      - Orders
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderBill'
          description: Successful response with the bill for an order.
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      operationId: v1-get-orders-bill
      summary: Get a printable bill
      description: 'Retrieve a printable version of the Order, specifying the Header and Footer sections as it should be printed on the terminal. Capability: `GetOrderBill`'
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
  /v1/orders/{orderId}/record-payment:
    parameters:
    - name: orderId
      description: The ID of the order to record the payment against
      schema:
        type: string
      in: path
      required: true
    post:
      tags:
      - Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentWithLockId'
        required: true
      responses:
        '200':
          description: .
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOSError'
      summary: Record Payment Request
      operationId: v1-post-record-order-payment
      description: 'Request to record a payment against this order. If the payment cannot be recorded, use the error messages and Dojo will reverse/release/refund the payment. Capability: `RecordOrderPayment`'
      parameters:
      - $ref: '#/components/parameters/WaiterId'
      - $ref: '#/components/parameters/DojoRequestingProduct'
      - $ref: '#/components/parameters/DeviceId'
      - $ref: '#/components/parameters/DeviceType'
components:
  schemas:
    BillLine:
      title: BillLine
      anyOf:
      - title: Image
        required:
        - image
      - title: Logo
        required:
        - logo
      - title: Merchant Address
        required:
        - merchantAddress
      - title: Merchant Email Address
        required:
        - merchantEmailAddress
      - title: Merchant Name
        required:
        - merchantName
      - title: Merchant Phone Number
        required:
        - merchantPhoneNumber
      - title: Text
        required:
        - text
      - title: URL/QR
        required:
        - url
      - title: Horizontal Line
        required:
        - horizontalLine
      - title: Tax Number
        required:
        - taxNumber
      required:
      - lineType
      type: object
      properties:
        image:
          $ref: '#/components/schemas/BillImage'
        logo:
          $ref: '#/components/schemas/BillLogo'
        merchantAddress:
          $ref: '#/components/schemas/BillMerchantAddress'
        merchantEmailAddress:
          $ref: '#/components/schemas/BillMerchantEmailAddress'
        merchantName:
          $ref: '#/components/schemas/BillMerchantName'
        merchantPhoneNumber:
          $ref: '#/components/schemas/BillMerchantPhoneNumber'
        text:
          $ref: '#/components/schemas/BillText'
        url:
          $ref: '#/components/schemas/BillURL'
        horizontalLine:
          $ref: '#/components/schemas/BillHorizontalLine'
        taxNumber:
          $ref: '#/components/schemas/BillTaxNumber'
        lineType:
          $ref: '#/components/schemas/BillLineType'
    BillMerchantEmailAddress:
      title: BillMerchantEmailAddress
      required:
      - emailAddress
      type: object
      properties:
        emailAddress:
          title: emailAddress
          type: string
          description: The email address
      description: A predefined bill field, containing the merchants contact email address. This will be pre-formatted in the bill
      example:
        emailAddress: dojo@dojo.tech
    Payment:
      description: ''
      required:
      - paidAmount
      - paymentIntentId
      type: object
      properties:
        paymentIntentId:
          description: ''
          type: string
        paidAmount:
          $ref: '#/components/schemas/Money'
          description: Indicates the paid amount of this specific payment, excluding `tipsAmount` but includes eventual service charges.
        tipsAmount:
          $ref: '#/components/schemas/Money'
          description: The tip amount added to this specific payment. It is not included in `paidAmount`.
    Align:
      title: Align
      type: string
      enum:
      - Center
      - Left
      - Right
      example:
      - Center
    DineInDetails:
      description: Details for an order-in order
      type: object
      properties:
        tableId:
          type: string
        waiterId:
          type: string
        partyId:
          description: The ID of the party that made this order, if known.
          type: string
        reservationId:
          description: If this order is a pre-order for a reservation, the ID of that reservation.
          type: string
        readyAt:
          format: date-time
          description: Specify timestamp in ISO8601 UTC standard when a pre-order should be ready. Only applicable for pre-orders.
          type: string
      x-examples:
        Example 1:
          tableId: test
          waiterId: test
    OrderItem:
      required:
      - name
      - amountPerItem
      - plu
      - quantity
      type: object
      properties:
        amountPerItem:
          description: The base price of the single item, before any modifiers, subitems or discounts are applied.
          $ref: '#/components/schemas/Money'
        quantity:
          type: integer
        note:
          type: string
        name:
          description: A human-readable name of the item.
          type: string
        plu:
          type: string
        subItems:
          description: Sub-items applied to the item
          type: array
          items:
            $ref: '#/components/schemas/OrderSubItem'
        modifiers:
          description: Modifiers applied to the item
          type: array
          items:
            $ref: '#/components/schemas/Modifier'
      x-examples:
        Example 1:
          plu: UGG-BB-PUR-06
          name: test
          price: 0
          quantity: 1073741824
          note: string
          modifiers: []
          subItems: []
    BillTaxNumber:
      title: BillTaxNumber
      required:
      - name
      - number
      type: object
      properties:
        name:
          title: name
          type: string
          description: The tax name
          example: VAT
        number:
          title: number
          type: string
          description: The tax number
      description: A predefined bill field, containing the merchants tax number. This will be pre-formatted in the bill, and shown at the bottom
      example:
        name: VAT
        number: '12345678'
    SearchDineInDetails:
      description: Details for searching order-in orders
      type: object
      properties:
        tableId:
          type: string
        waiterId:
          type: string
        partyId:
          description: The ID of the party that made this order, if known.
          type: string
        reservationId:
          description: If this order is a pre-order for a reservation, the ID of that reservation.
          type: string
      x-examples:
        Example 1:
          tableId: test
          waiterId: test
    BillHorizontalLine:
      title: HorizontalLineType
      type: object
      properties:
        line:
          type: string
          enum:
          - Single
          - Double
      description: A bill line containing a horizontal line
      example: Single
    SearchOrdersRequest:
      description: ''
      type: object
      properties:
        dineIn:
          $ref: '#/components/schemas/SearchDineInDetails'
        payableOnly:
          description: Return only orders where payable=true
          type: boolean
        cursor:
          $ref: '#/components/schemas/Cursor'
    Money:
      title: Money
      required:
      - value
      - currencyCode
      type: object
      properties:
        value:
          format: int64
          description: The amount in the minor unit, for example '100' for 1.00 GBP.
          type: integer
        currencyCode:
          description: Three-letter currency code in ISO 4217 alpha-3 format. Currently this accepts `GBP` and `EUR`.
          maxLength: 10
          minLength: 1
          type: string
      example:
        value: 1000
        currencyCode: GBP
      x-stoplight:
        id: c9op7zec1txu2
    BillLineType:
      title: BillLineType
      type: string
      enum:
      - Image
      - Logo
      - MerchantAddress
      - MerchantEmailAddress
      - MerchantName
      - MerchantPhoneNumber
      - Text
      - URL
      - HorizontalLine
      - TaxNumber
    BillMerchantName:
      title: BillMerchantName
      required:
      - name
      type: object
      properties:
        name:
          title: name
          type: string
          description: A predefined bill field, containing the merchants name. This will be pre-formatted in the bill
      description: A predefined bill field, containing the merchants name. This will be pre-formatted in the bill
      example:
        name: Dojo
    BillMerchantAddress:
      title: BillMerchantAddress
      required:
      - addressLines
      - postcode
      type: object
      properties:
        addressLines:
          title: addressLines
          type: array
          description: Lines of address
          items:
            type: string
        postcode:
          title: postcode
          type: string
          description: ZIP or postal code.
      description: A predefined bill field, containing an address. This will be pre-formatted in the receipt
      example:
        addressLines:
        - Brunel Building
        - 1 & 2 Canalside Walk
        postcode: W2 1DG
    CollectionDetails:
      title: CollectionDetails
      description: ''
      type: object
      properties:
        asap:
          description: A boolean indicating whether order collection is as soon as possible
          type: boolean
        collectAt:
          format: date-time
          description: Order collection timestamp in ISO8601 UTC standard. Only applicable when asap is not set or false
          type: string
      example:
        collectionTime: '2024-02-21T14:39:21.6050276Z'
        asap: false
    ExtendOrderLockRequest:
      type: object
      description: Request an extension to the write lock on an Order.
      additionalProperties: false
      title: ExtendOrderLockRequest
      required:
      - expiry
      properties:
        expiry:
          description: 'The lock expiry time. If this time has been reached and no UnlockOrder has been received the lock can be considered stale and released.

            This may be extended by the ExtendOrderLockRequest if registered. It is optional to consume this expiry.

            Dojo will always attempt to release or extend the lock before this expiry is reached, it exists to avoid stale locks if there is a full loss of communication between the EPOS and Dojo.

            '
          type: string
          format: date-time
    Size:
      title: Size
      type: string
      enum:
      - Body
      - Header1
      - Header2
    BillMerchantPhoneNumber:
      title: BillMerchantPhoneNumber
      required:
      - phoneNumber
      type: object
      properties:
        phoneNumber:
          title: phoneNumber
          type: string
          description: The phone number
      description: A predefined bill field, containing the merchants contact phone number. This will be pre-formatted in the bill
      example:
        phoneNumber: 01234 567890
    PaymentWithLockId:
      description: ''
      required:
      - paidAmount
      - paymentIntentId
      type: object
      properties:
        paymentIntentId:
          description: ''
          type: string
        paidAmount:
          description: Indicates the paid amount of this specific payment, excluding `tipsAmount` but includes eventual service charges.
          $ref: '#/components/schemas/Money'
        tipsAmount:
          $ref: '#/components/schemas/Money'
          description: The tip amount added to this specific payment. It is not included in `paidAmount`.
        lockId:
          description: The unique ID of a lock generated by Dojo. Consuming this isn't strictly required as Dojo will create at most one lock per order, but it can be useful for tracking the lifecycle of any lock.
          type: string
    Order:
      title: Order
      required:
      - id
      - status
      - details
      type: object
      properties:
        id:
          description: Order ID
          type: string
        items:
          description: The line items purchased by the customer.
          type: array
          items:
            $ref: '#/components/schemas/OrderItem'
        note:
          type: string
          x-stoplight:
            id: zya8zg3nxml7g
        customer:
          $ref: '#/components/schemas/Customer'
        discounts:
          description: List of discounts applied to the order
          type: array
          items:
            $ref: '#/components/schemas/Discount'
          x-stoplight:
            id: 8ldf6i31rv859
        taxLines:
          description: Taxes applied to the order
          type: array
          items:
            $ref: '#/components/schemas/TaxLine'
          x-stoplight:
            id: xsg3y0lftsyhl
        status:
          $ref: '#/components/schemas/OrderStatus'
          description: Order status
          default: New
          x-stoplight:
            id: hssxgnvst3s5l
        createdAt:
          format: date-time
          description: The creation date, in ISO 8601 UTC format.
          type: string
          x-stoplight:
            id: xu24ufyqm895l
        updatedAt:
          format: date-time
          description: The timestamp of the update date, in ISO 8601 UTC format.
          type: string
          x-stoplight:
            id: 9hvb1r8h1wgdq
        totalAmount:
          $ref: '#/components/schemas/Money'
          description: The total amount of the order, after discount and taxes. Includes `serviceChargeAmount` but not `tipsAmount`.
        payments:
          description: ''
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        payable:
          description: Flag to indicate if the order is able to be paid for.
          type: boolean
        paidAmount:
          $ref: '#/components/schemas/Money'
          description: Indicates the paid amount of this specific payment, excluding `tipsAmount` but includes eventual service charges.
        serviceChargeAmount:
          $ref: '#/components/schemas/Money'
          description: The amount of service charge applied.
        reference:
          description: Human readable order ID
          type: string
        tipsAmount:
          $ref: '#/components/schemas/Money'
          description: The sum of all the `tipsAmount` in the payments array. This must not be included in `totalAmount` or `paidAmount`
        details:
          $ref: '#/components/schemas/OrderDetails'
        displayName:
          description: The display name of the order
          type: string
      x-stoplight:
        id: 2w4jh88mce9tz
      example:
        id: ord_12345678
        details:
          orderType: DineIn
          dineIn:
            tableId: Table 5
            waiterId: Becky
        items:
        - quantity: 2
          name: Pizza Pepperoni
          plu: '1234'
          amountPerItem:
            value: 1235
            currencyCode: GBP
        - quantity: 2
          name: Lager
          plu: '1245'
          amountPerItem:
            value: 510
            currencyCode: GBP
        - quantity: 1
          name: Water Still
          plu: '1'
          amountPerItem:
            value: 50
            currencyCode: GBP
        - quantity: 2
          name: Coca Cola
          plu: '2'
          amountPerItem:
            value: 249
            currencyCode: GBP
        - quantity: 1
          name: Burger
          plu: '234'
          amountPerItem:
            value: 1090
            currencyCode: GBP
          modifiers:
          - name: No Lettuce
            quantity: 1
            amountPerItem:
              value: 0
              currencyCode: GBP
            plu: '74983'
        - quantity: 1
          name: Burger
          plu: '234'
          amountPerItem:
            value: 1090
            currencyCode: GBP
          modifiers:
          - name: Extra Cheese
            quantity: 1
            amountPerItem:
              value: 0
              currencyCode: GBP
            plu: '10987'
          - name: Bacon
            quantity: 1
            amountPerItem:
              value: 0
              currencyCode: GBP
            plu: '872'
        discounts:
        - name: 10% discount
          amountTotal:
            value: 621
            currencyCode: GBP
          amountPercentage: 1000
        serviceChargeAmount:
          value: 6295
          currencyCode: GBP
        taxLines:
        - id: VAT
          name: VAT
          amountPercentage: 20
          amountTotal:
            value: 6295
            currencyCode: GBP
        status: Created
        createdAt: '2022-03-15T20:00:00Z'
        updatedAt: '2022-03-15T20:00:00Z'
        totalAmount:
          value: 6295
          currencyCode: GBP
        payable: true
        paidAmount:
          value: 0
          currencyCode: GBP
        reference: Table 5
    BillSection:
      title: BillSection
      type: object
      required:
      - lines
      properties:
        lines:
          type: array
          items:
            $ref: '#/components/schemas/BillLine'
      description: An object representing either a header or footer on a BillSection
    EPOSError:
      title: EPOSError
      type: object
      required:
      - errorType
      properties:
        debugMessage:
          type: string
        traceId:
          type: string
        errorType:
          $ref: '#/components/schemas/EPOSErrorType'
    Cursor:
      title: Cursor
      description: A cursor for use in pagination.
      type: object
      properties:
        limit:
          description: The maximum number of results to be returned in a single page.
          maximum: 100
          type: integer
          x-stoplight:
            id: l5tzcxdo5qbt1
        before:
          description: A cursor for use in pagination for the previous page. before and after are mutually exclusive. Only one of these may be used.
          type: string
          x-stoplight:
            id: 8vxj9sdmbby14
        after:
          description: A cursor for use in pagination for the next page. before and after are mutually exclusive. Only one of these may be used.
          type: string
          x-stoplight:
            id: 1jsibbqp1zdti
      x-stoplight:
        id: m8ixmhyvzw3oo
    PagedOrdersResponse:
      title: PagedOrder
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Order'
          readOnly: false
          x-stoplight:
            id: ou7je7f6bizdg
        before:
          type: string
          x-stoplight:
            id: jutkpidtbhr6q
        after:
          type: string
          x-stoplight:
            id: vwlxjfle0yxqt
      x-stoplight:
        id: bjkxvbo62zl42
    BillLogo:
      title: BillLogo
      required:
      - svgImage
      type: object
      properties:
        svgImage:
          title: svgImage
          type: string
          description: SVG representation of an image
      description: A predefined bill field, containing a logo. This will appear at the top of the bill
      example:
        svgImage: <svg viewBox='0 0 389 100' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M146.7 100C119.754 100 97.8318 77.5807 97.8318 50.0245C97.8318 22.4682 119.754 0.0489248 146.7 0.0489248C173.645 0.0489248 195.568 22.4682 195.568 50.0245C195.568 77.5807 173.645 100 146.7 100ZM146.616 17.6737C129.155 17.6737 114.946 32.204 114.946 50.0612C114.946 67.9183 129.155 82.4486 146.616 82.4486C164.078 82.4486 178.286 67.9183 178.286 50.0612C178.286 32.204 164.078 17.6737 146.616 17.6737ZM339.182 100C312.237 100 290.314 77.5807 290.314 50.0245C290.314 22.4682 312.237 0.0489248 339.182 0.0489248C366.128 0.0489248 388.05 22.4682 388.05 50.0245C388.05 77.5807 366.128 100 339.182 100ZM339.098 17.6737C321.637 17.6737 307.429 32.204 307.429 50.0612C307.429 67.9183 321.637 82.4486 339.098 82.4486C356.56 82.4486 370.768 67.9183 370.768 50.0612C370.768 32.204 356.56 17.6737 339.098 17.6737ZM17.5212 100C7.85764 100 0 91.9643 0 82.0817V17.9795C0 8.09687 7.85764 0.0489248 17.5212 0.0489248H38.2716C65.2172 0.0489248 87.1397 22.4682 87.1397 50.0245C87.1397 77.5807 65.2172 100 38.2716 100H17.5212ZM17.4136 17.6676C17.4136 17.6709 17.4108 17.6737 17.4075 17.6738C17.2907 17.677 17.1983 17.7736 17.1983 17.8938V82.2285C17.1983 82.3508 17.294 82.4486 17.4136 82.4486

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dojo/refs/heads/main/openapi/dojo-orders-api-openapi.yml