POST v{version}/OnlineOrders/SubmitCalculatedOnlineOrder

Sends an order to the POS

Request Information

URI Parameters

Name Type Description Additional information
version string

None.

Body Parameters

SubmitCalculatedOnlineOrderV2ApiModel
Name Type Description Additional information
SiteId integer

Required

UID globally unique identifier

The UID of the Calculated Order you are trying to Submit

Required

CRMMemberID string

Optional - send the CRM Member ID that the order is for

RequestedDeliveryTimeUTC date

Optionally supply a delivery time for the order. This works the same way as hold order at a site, and is based on table rules that are setup. E.g. order for tomorrow at 10pm, the order will sit in the system and fire 45minutes before this time (so at 9:15pm) and will then be sent to the kitchen etc and act like a normal order. Stock is consumed when the order is initially placed so that the item is not out of stock when it's time to make the item

GratuityAmount decimal number

Specify if the bill contains gratuity/tip. This must be balanced by a Tender, e.g. £20 bill + £5 gratuity = £25 tender

DeliveryChargeAmount decimal number

Specify if the bill contains Delivery Charge. This must be balanced by a Tender e.g. £20 bill + £5 delivery charge = £25 tender

ThirdPartyOrigin string

Free text field to store the order origin if you are collaborating orders, e.g. deliveroo, ubereats. Leave empty otherwise

String length: inclusive between 0 and 10000

ThirdPartyTransactionID string

Free text field to store the partner order ID

String length: inclusive between 0 and 10000

ThirdPartyReference string

Free text field to store the partner order reference

String length: inclusive between 0 and 10000

OrderParams string

Online Order Params Config

String length: inclusive between 0 and 10000

MergeOnToExistingBill boolean

Specify if the Bill should merge into existing bills on a Table.

CustomerInfo SubmitCalculatedOnlineOrderV2CustomerApiModel

Customer Info

Required

Tenders Collection of SubmitCalculateOrderV2TenderApiModel

Tenders for the bill, if tenders do not match the full bill amount the order will remain open on the POS and will not auto-finalize. This can be finalized either on the POS, or paid later via the TablePayment Endpoint

Request Formats

application/json, text/json

Sample:
{
  "SiteId": 1,
  "UID": "6e3163b0-6b64-4053-a0a2-bdae1f8ecf41",
  "CRMMemberID": "sample string 1",
  "RequestedDeliveryTimeUTC": "2024-11-21T06:29:12.1260139+00:00",
  "GratuityAmount": 1.0,
  "DeliveryChargeAmount": 1.0,
  "ThirdPartyOrigin": "sample string 2",
  "ThirdPartyTransactionID": "sample string 3",
  "ThirdPartyReference": "sample string 4",
  "OrderParams": "sample string 5",
  "MergeOnToExistingBill": true,
  "CustomerInfo": {
    "FirstName": "sample string 1",
    "LastName": "sample string 2",
    "Line1": "sample string 3",
    "Line2": "sample string 4",
    "City": "sample string 5",
    "PostCode": "sample string 6",
    "ContactNumber": "sample string 7",
    "ContactAccessCode": "sample string 8",
    "AdditionalDetails": {
      "SaftCompanyName": "sample string 1",
      "SaftCompanyAddress": "sample string 2",
      "SaftTaxId": "sample string 3"
    }
  },
  "Tenders": [
    {
      "TenderTypeID": 1,
      "PLU": "sample string 2",
      "Amount": 1.0
    },
    {
      "TenderTypeID": 1,
      "PLU": "sample string 2",
      "Amount": 1.0
    }
  ]
}

application/xml, text/xml

Sample:
<SubmitCalculatedOnlineOrderV2ApiModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Tevalis.API.Core.Models.v2.OnlineOrdersV2.APIModels">
  <CRMMemberID>sample string 1</CRMMemberID>
  <CustomerInfo>
    <AdditionalDetails>
      <SaftCompanyAddress>sample string 2</SaftCompanyAddress>
      <SaftCompanyName>sample string 1</SaftCompanyName>
      <SaftTaxId>sample string 3</SaftTaxId>
    </AdditionalDetails>
    <City>sample string 5</City>
    <ContactAccessCode>sample string 8</ContactAccessCode>
    <ContactNumber>sample string 7</ContactNumber>
    <FirstName>sample string 1</FirstName>
    <LastName>sample string 2</LastName>
    <Line1>sample string 3</Line1>
    <Line2>sample string 4</Line2>
    <PostCode>sample string 6</PostCode>
  </CustomerInfo>
  <DeliveryChargeAmount>1</DeliveryChargeAmount>
  <GratuityAmount>1</GratuityAmount>
  <MergeOnToExistingBill>true</MergeOnToExistingBill>
  <OrderParams>sample string 5</OrderParams>
  <RequestedDeliveryTimeUTC>2024-11-21T06:29:12.1260139+00:00</RequestedDeliveryTimeUTC>
  <SiteId>1</SiteId>
  <Tenders>
    <SubmitCalculateOrderV2TenderApiModel>
      <Amount>1</Amount>
      <PLU>sample string 2</PLU>
      <TenderTypeID>1</TenderTypeID>
    </SubmitCalculateOrderV2TenderApiModel>
    <SubmitCalculateOrderV2TenderApiModel>
      <Amount>1</Amount>
      <PLU>sample string 2</PLU>
      <TenderTypeID>1</TenderTypeID>
    </SubmitCalculateOrderV2TenderApiModel>
  </Tenders>
  <ThirdPartyOrigin>sample string 2</ThirdPartyOrigin>
  <ThirdPartyReference>sample string 4</ThirdPartyReference>
  <ThirdPartyTransactionID>sample string 3</ThirdPartyTransactionID>
  <UID>6e3163b0-6b64-4053-a0a2-bdae1f8ecf41</UID>
</SubmitCalculatedOnlineOrderV2ApiModel>

application/x-www-form-urlencoded

Sample:

Sample not available.

Response Information

Resource Description

CalculateOnlineOrderV2ResponseDto
Name Type Description Additional information
UID globally unique identifier

The UID of your calculated order. This is used to submit the order when doing Submit Calculated Order

TableNumber integer

None.

PriceGroupID integer

None.

Covers integer

None.

ServiceChargeAmount decimal number

None.

Terminal string

Name of the Terminal that served the request

TotalGross decimal number

The total amount payable for the bill

EstimatedTimeUTC date

This returns either the KMS Average time, or the Minimum time specified via System Settings

StandardOrderItems Collection of CalculateOnlineOrderV2ItemResponseDto

None.

StandardMacroItems Collection of CalculateOnlineOrderV2MacroItemResponseDto

None.

Promotions Collection of CalculateOnlineOrderV2PromotionResponseDto

None.

ConfigurableDiscounts Collection of CalculateOnlineOrderV2ConfigurableDiscountResponseDto

None.

Response Formats

application/json, text/json

Sample:
{
  "UID": "97e862e9-d642-4105-8f74-c80a029f289e",
  "TableNumber": 1,
  "PriceGroupID": 2,
  "Covers": 3,
  "ServiceChargeAmount": 1.0,
  "Terminal": "sample string 4",
  "TotalGross": 5.0,
  "EstimatedTimeUTC": "2024-11-21T06:29:12.1519906+00:00",
  "StandardOrderItems": [
    {
      "PLU": "sample string 1",
      "Quantity": 2,
      "OverridePrice": 1.0,
      "ItemRef": "sample string 3",
      "ExpGross": 4.0,
      "ItemNotes": [
        "sample string 1",
        "sample string 2"
      ],
      "Modifiers": [
        {
          "OptionGroupID": 1,
          "OptionItemID": 2,
          "IsRemove": true,
          "OverridePrice": 1.0,
          "ExpGross": 4.0,
          "Modifiers": []
        },
        {
          "OptionGroupID": 1,
          "OptionItemID": 2,
          "IsRemove": true,
          "OverridePrice": 1.0,
          "ExpGross": 4.0,
          "Modifiers": []
        }
      ]
    },
    {
      "PLU": "sample string 1",
      "Quantity": 2,
      "OverridePrice": 1.0,
      "ItemRef": "sample string 3",
      "ExpGross": 4.0,
      "ItemNotes": [
        "sample string 1",
        "sample string 2"
      ],
      "Modifiers": [
        {
          "OptionGroupID": 1,
          "OptionItemID": 2,
          "IsRemove": true,
          "OverridePrice": 1.0,
          "ExpGross": 4.0,
          "Modifiers": []
        },
        {
          "OptionGroupID": 1,
          "OptionItemID": 2,
          "IsRemove": true,
          "OverridePrice": 1.0,
          "ExpGross": 4.0,
          "Modifiers": []
        }
      ]
    }
  ],
  "StandardMacroItems": [
    {
      "ParentOrderItem": {
        "PLU": "sample string 1",
        "Quantity": 2,
        "OverridePrice": 1.0,
        "ItemRef": "sample string 3",
        "ExpGross": 4.0,
        "ItemNotes": [
          "sample string 1",
          "sample string 2"
        ],
        "Modifiers": [
          {
            "OptionGroupID": 1,
            "OptionItemID": 2,
            "IsRemove": true,
            "OverridePrice": 1.0,
            "ExpGross": 4.0,
            "Modifiers": []
          },
          {
            "OptionGroupID": 1,
            "OptionItemID": 2,
            "IsRemove": true,
            "OverridePrice": 1.0,
            "ExpGross": 4.0,
            "Modifiers": []
          }
        ]
      },
      "ChildrenOrderItems": [
        {
          "PLU": "sample string 1",
          "Quantity": 2,
          "OverridePrice": 1.0,
          "ItemRef": "sample string 3",
          "ExpGross": 4.0,
          "ItemNotes": [
            "sample string 1",
            "sample string 2"
          ],
          "Modifiers": [
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            },
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            }
          ]
        },
        {
          "PLU": "sample string 1",
          "Quantity": 2,
          "OverridePrice": 1.0,
          "ItemRef": "sample string 3",
          "ExpGross": 4.0,
          "ItemNotes": [
            "sample string 1",
            "sample string 2"
          ],
          "Modifiers": [
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            },
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            }
          ]
        }
      ]
    },
    {
      "ParentOrderItem": {
        "PLU": "sample string 1",
        "Quantity": 2,
        "OverridePrice": 1.0,
        "ItemRef": "sample string 3",
        "ExpGross": 4.0,
        "ItemNotes": [
          "sample string 1",
          "sample string 2"
        ],
        "Modifiers": [
          {
            "OptionGroupID": 1,
            "OptionItemID": 2,
            "IsRemove": true,
            "OverridePrice": 1.0,
            "ExpGross": 4.0,
            "Modifiers": []
          },
          {
            "OptionGroupID": 1,
            "OptionItemID": 2,
            "IsRemove": true,
            "OverridePrice": 1.0,
            "ExpGross": 4.0,
            "Modifiers": []
          }
        ]
      },
      "ChildrenOrderItems": [
        {
          "PLU": "sample string 1",
          "Quantity": 2,
          "OverridePrice": 1.0,
          "ItemRef": "sample string 3",
          "ExpGross": 4.0,
          "ItemNotes": [
            "sample string 1",
            "sample string 2"
          ],
          "Modifiers": [
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            },
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            }
          ]
        },
        {
          "PLU": "sample string 1",
          "Quantity": 2,
          "OverridePrice": 1.0,
          "ItemRef": "sample string 3",
          "ExpGross": 4.0,
          "ItemNotes": [
            "sample string 1",
            "sample string 2"
          ],
          "Modifiers": [
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            },
            {
              "OptionGroupID": 1,
              "OptionItemID": 2,
              "IsRemove": true,
              "OverridePrice": 1.0,
              "ExpGross": 4.0,
              "Modifiers": []
            }
          ]
        }
      ]
    }
  ],
  "Promotions": [
    {
      "PromotionID": 1,
      "ExpGross": 2.0,
      "AffectedItemRefs": [
        "sample string 1",
        "sample string 2"
      ],
      "AffectedItems": [
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        },
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        }
      ]
    },
    {
      "PromotionID": 1,
      "ExpGross": 2.0,
      "AffectedItemRefs": [
        "sample string 1",
        "sample string 2"
      ],
      "AffectedItems": [
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        },
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        }
      ]
    }
  ],
  "ConfigurableDiscounts": [
    {
      "DiscountID": 1,
      "ExpGross": 2.0,
      "AffectedItemRefs": [
        "sample string 1",
        "sample string 2"
      ],
      "AffectedItems": [
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        },
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        }
      ]
    },
    {
      "DiscountID": 1,
      "ExpGross": 2.0,
      "AffectedItemRefs": [
        "sample string 1",
        "sample string 2"
      ],
      "AffectedItems": [
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        },
        {
          "ItemRef": "sample string 1",
          "AffectedValue": 2.0
        }
      ]
    }
  ]
}

application/xml

Sample:

Sample not available.

text/xml

Sample:

Sample not available.