Skip to main content

Get Full Bill

The Tables API is now archived. For up-to-date Pay at Table integrations, please use the Dojo API and EPOS Data API:

The card machine subscribes to the GetFullBill operation when it is ready to print out the bill at the end of a meal. This bill includes all charges, items, taxes, and service charges. Unlike the GetBillItems response, the full bill also includes a range of configuration options, including text, logos, QR codes, and restaurant contact information.

API operations

  1. Receive a getFullBillRequest from Dojo.
  2. If the specified session does not exist, the EPOS responds with a SESSION_NO_SUCH_SESSION error.
  3. If the session exists but no bill is associated with it, the EPOS responds with a BILL_NO_SUCH_BILL error.
  4. If both the session and the bill exist and match, the EPOS responds with a PUB message.
{
"jsonrpc": "2.0",
"id": "3899e951-ce44-4233-a900-31b637705747",
"method": "GetFullBill",
"params": {
"sessionId": "6c133121-8423-48af-b9c1-ce6741f224da",
"requestorInfo": {
"requestorType": "REQUESTOR_TYPE_CARD_MACHINE",
"cardMachineRequestorInfo": {
"terminalId": "123123",
"waiterId": 1
}
}
}
}

Printing

Printing the bill on your Dojo card machine organizes the itemized bill information from your POS using preconfigured templates. The fullBill schema manages all the available templating options. You have the following options:

  • fullBill.header: formatting for the bill header
  • fullBill.billItems: the bill item data
  • fullBill.footer: formatting for the bill footer

You can use any number of receiptSection options in the header and footer:

  • receiptHorizontalLine: Adds either a single or double horizontal line to break up content
  • receiptImage: Adds an SVG representation of an image with alignment options
  • receiptLogo: Adds a centre-aligned SVG representation of an image
  • receiptMerchantAddress: Adds a pre-formatted version of the full address belonging to the merchant
  • receiptMerchantEmailAddress: Adds the pre-formatted email address of the merchant
  • receiptMerchantName: Adds the pre-formatted name of the merchant
  • receiptMerchantPhoneNumber: Adds a pre-formatted phone number belonging to the merchant
  • receiptText: Includes a generic text line with customizable options. There are three available sizes: SIZE_HEADER_1 (20 characters per line), SIZE_HEADER_2 (24 characters per line), and SIZE_BODY (28 characters per line). Additionally, you can choose the alignment, and there's an option to embolden the text if desired.
  • receiptURL: Adds a URL with the option to display it as a QR code along with any descriptive text
  • receiptVATNumber: Adds a pre-formatted VAT number belonging to the merchant

An visual example of a full bill including each piece of preformatting is available here.