{{YourSyncReceiptsWebhookURL}}?receiptId={receiptId}&tableId={tableId}&includeClosed=(True|False)&from=2022-05-04T09:00:00.000000Z&to=2022-05-05T00:00:00.000000Z

Please do not yet share this information to anyone else.
The below spec might still be prone to changes.

This webhook gets called when a channel wants to get an accurate view on an order/receipt in the POS. This information might be used for payment purposes and contains information about price totals (discounts, surcharges, taxes, totals) and items.

The call will be made with a receiptId, orderId or a tableId. We will make this call with one of these parameters, never with multiple combined. Although we expect only one result when calling with receiptId or orderId, you can return us the result in an array, containing only one entry.

An optional parameter "includeClosed" might be added. If it is not provided, its value is expected to be "True".

  • receiptId: the ID of the receipt in the POS. It is the ID which was communicated back to us upon sending an order, as described in the Update Order Status expected return.
  • orderId: in case we did (not yet) get back a receiptId, we will communicate with you using the deliverect orderId which was communicated to you during the POST Orders webhook call
  • tableId: the ID of the table for which we want to retrieve the receipt(s). The ID will be the one communicated by the POS on webhook GET Tables.
  • includeClosed: Should the return include closed/paid receipts? If set to True (which should be considered the default value if the parameter is not sent), it should also include receipts that have already been paid and closed. If it is False, we only should receive tickets that are open for payment.
  • from: The receipt(s) returned should be no older than this date (if no from parameter is provided, you can assume we need the receipt(s) to be created no longer than 24 hours ago)
  • to: The receipt(s) returned should not be newer than this date (if no to parameter is provided, you can assume the receipt(s) need to be created for order up until today). There might be cases where a future date could make sense (e.g. in the case of pre-orders).

curl --location --request GET '{{YourGetReceiptWebhookURL}}?receiptId=R29532LF'
curl --location --request GET '{{YourGetReceiptWebhookURL}}?tableId=T1'
curl --location --request GET '{{YourGetReceiptWebhookURL}}?orderId=62********************2e'

Below an example response. An explanation to the fields can be found on the GET Receipts by ID endpoint, as they are a one-on-one match.

{
  "receipts": [{
    "receiptId": "R29532LF",
    "tableId": "T1",
    "created": "2022-05-04T09:11:51.166000Z",
    "closed": "1970-00-00T00:00:00.000000Z",  
    "decimalDigits": 2,
    "subTotal": 700,
    "discountTotal": 100,
    "discounts": [{
        "name": "Our company birthday discount",
        "total": 100
    }],
    "surchargesTotal": 200,
    "surcharges": [{
        "name": "Take-away",
        "total": 200
    }],
    "taxTotal": 48,
    "taxes": [{
        "name": "6% VAT",
        "total": 48
    }],
    "total": 800,
    "totalDue": 400,
    "items": [
      {
        "plu": "PLU-01",
        "name": "My first product",
        "quantity": 1,
        "price": 300,
        "subItems": []
      },
      {
        "plu": "PLU-02",
        "name": "My second product",
        "quantity": 1,
        "price": 400,
        "subItems": [
          {
            "plu": "PLU-03",
            "name": "My modifier",
            "quantity": 1,
            "price": 0,
            "subItems": []
          }
        ]
      }
    ],
    "payments": [
      {
        "name": "Cash",
        "total": 400
      }
    ]
  }]
}

📘

UTC Time

Note that all time values in our API are in UTC time.