POST v1/Delivery/Quotes/{siteId}

For ASAP DeliveryType, intended to schedule delivery as soon as possible:

  • It tries to request quotes with up to 3 time slots available for current day.
For DropoffTime DeliveryType, intended to schedule delivery for specific time:

  • Request quotes for requested time.

If there are no quotes available, returns HTTP status 400, with error message describing there were no quotes available.

There are 3 possible response HTTP status codes:

  • 200, with at least one quote.
  • 400, with message.
  • 500, with message.

URI template

v1/Delivery/Quotes/{siteId}

Request Information

URI Parameters

NameDescriptionTypeAdditional information
siteId

integer

Required

Body Parameters

InDeliveryQuotes
NameDescriptionTypeAdditional information
SiteId

Id of the Site.

integer

None.

DeliveryAddress

Address where order should be delivered.

DeliveryAddress

Required

EstimatedPrice

The estimate is sent to the delivery service, and they use it internally for the value of the order. It should be based on the subtotal or as close to the actual total as possible.

decimal number

Required

DeliveryType

Distinguish between ASAP delivery or delivery on specific time.

DeliveryType In DeliveryQuotes

Required

DropoffTime

Forbidden when DeliveryType is ASAP. Response will include estimated dropoff time at the Site.
Required when DeliveryType is DropoffTime. It is interpreted as local time at the Site (POS). For example "2019-07-26T10:15:00".

date

None.

DeliveryItems

Do not use. Feature is incomplete.

Collection of OrderItem

None.

Request Formats

application/json, text/json

Sample:
{
  "SiteId": 1,
  "DeliveryAddress": {
    "$id": "2",
    "Street": "sample string 2",
    "StreetSecondLine": "sample string 3",
    "City": "sample string 4",
    "ZipCode": "sample string 5",
    "State": "sample string 6"
  },
  "EstimatedPrice": 7.0,
  "DeliveryType": 0,
  "DropoffTime": "2024-04-26T14:08:47.680597",
  "DeliveryItems": [
    {
      "SalesItemId": 9,
      "MenuItemId": 10,
      "Quantity": 11,
      "ItemOrderingMode": 0,
      "Modifiers": [
        {
          "SalesItemOptionId": 12,
          "ItemOptionGroupId": 13,
          "Quantity": 14,
          "IsOnEntireItem": true,
          "IsOnSection1": true,
          "IsOnSection2": true,
          "IsOnSection3": true,
          "IsOnSection4": true,
          "Modifiers": null,
          "Action": 0,
          "DefaultAction": 0
        },
        {
          "SalesItemOptionId": 20,
          "ItemOptionGroupId": 21,
          "Quantity": 22,
          "IsOnEntireItem": true,
          "IsOnSection1": true,
          "IsOnSection2": true,
          "IsOnSection3": true,
          "IsOnSection4": true,
          "Modifiers": null,
          "Action": 0,
          "DefaultAction": 0
        }
      ],
      "Section1Type": 0,
      "Section2Type": 0,
      "Section3Type": 0,
      "Section4Type": 0
    },
    {
      "SalesItemId": 28,
      "MenuItemId": 29,
      "Quantity": 30,
      "ItemOrderingMode": 0,
      "Modifiers": [
        {
          "SalesItemOptionId": 31,
          "ItemOptionGroupId": 32,
          "Quantity": 33,
          "IsOnEntireItem": true,
          "IsOnSection1": true,
          "IsOnSection2": true,
          "IsOnSection3": true,
          "IsOnSection4": true,
          "Modifiers": null,
          "Action": 0,
          "DefaultAction": 0
        },
        {
          "SalesItemOptionId": 39,
          "ItemOptionGroupId": 40,
          "Quantity": 41,
          "IsOnEntireItem": true,
          "IsOnSection1": true,
          "IsOnSection2": true,
          "IsOnSection3": true,
          "IsOnSection4": true,
          "Modifiers": null,
          "Action": 0,
          "DefaultAction": 0
        }
      ],
      "Section1Type": 0,
      "Section2Type": 0,
      "Section3Type": 0,
      "Section4Type": 0
    }
  ]
}

application/xml, text/xml

Sample:
<InDeliveryQuotes xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OnlineOrderingAPI.Inbound">
  <DeliveryAddress>
    <City>sample string 4</City>
    <State>sample string 6</State>
    <Street>sample string 2</Street>
    <StreetSecondLine>sample string 3</StreetSecondLine>
    <ZipCode>sample string 5</ZipCode>
  </DeliveryAddress>
  <DeliveryItems>
    <OrderItem>
      <ItemOrderingMode>Normal</ItemOrderingMode>
      <MenuItemId>10</MenuItemId>
      <Modifiers>
        <ItemModifier>
          <Action>Default</Action>
          <DefaultAction>Default</DefaultAction>
          <IsOnEntireItem>true</IsOnEntireItem>
          <IsOnSection1>true</IsOnSection1>
          <IsOnSection2>true</IsOnSection2>
          <IsOnSection3>true</IsOnSection3>
          <IsOnSection4>true</IsOnSection4>
          <ItemOptionGroupId>13</ItemOptionGroupId>
          <Modifiers i:nil="true" />
          <Quantity>14</Quantity>
          <SalesItemOptionId>12</SalesItemOptionId>
        </ItemModifier>
        <ItemModifier>
          <Action>Default</Action>
          <DefaultAction>Default</DefaultAction>
          <IsOnEntireItem>true</IsOnEntireItem>
          <IsOnSection1>true</IsOnSection1>
          <IsOnSection2>true</IsOnSection2>
          <IsOnSection3>true</IsOnSection3>
          <IsOnSection4>true</IsOnSection4>
          <ItemOptionGroupId>21</ItemOptionGroupId>
          <Modifiers i:nil="true" />
          <Quantity>22</Quantity>
          <SalesItemOptionId>20</SalesItemOptionId>
        </ItemModifier>
      </Modifiers>
      <Quantity>11</Quantity>
      <SalesItemId>9</SalesItemId>
      <Section1Type>Unassigned</Section1Type>
      <Section2Type>Unassigned</Section2Type>
      <Section3Type>Unassigned</Section3Type>
      <Section4Type>Unassigned</Section4Type>
    </OrderItem>
    <OrderItem>
      <ItemOrderingMode>Normal</ItemOrderingMode>
      <MenuItemId>29</MenuItemId>
      <Modifiers>
        <ItemModifier>
          <Action>Default</Action>
          <DefaultAction>Default</DefaultAction>
          <IsOnEntireItem>true</IsOnEntireItem>
          <IsOnSection1>true</IsOnSection1>
          <IsOnSection2>true</IsOnSection2>
          <IsOnSection3>true</IsOnSection3>
          <IsOnSection4>true</IsOnSection4>
          <ItemOptionGroupId>32</ItemOptionGroupId>
          <Modifiers i:nil="true" />
          <Quantity>33</Quantity>
          <SalesItemOptionId>31</SalesItemOptionId>
        </ItemModifier>
        <ItemModifier>
          <Action>Default</Action>
          <DefaultAction>Default</DefaultAction>
          <IsOnEntireItem>true</IsOnEntireItem>
          <IsOnSection1>true</IsOnSection1>
          <IsOnSection2>true</IsOnSection2>
          <IsOnSection3>true</IsOnSection3>
          <IsOnSection4>true</IsOnSection4>
          <ItemOptionGroupId>40</ItemOptionGroupId>
          <Modifiers i:nil="true" />
          <Quantity>41</Quantity>
          <SalesItemOptionId>39</SalesItemOptionId>
        </ItemModifier>
      </Modifiers>
      <Quantity>30</Quantity>
      <SalesItemId>28</SalesItemId>
      <Section1Type>Unassigned</Section1Type>
      <Section2Type>Unassigned</Section2Type>
      <Section3Type>Unassigned</Section3Type>
      <Section4Type>Unassigned</Section4Type>
    </OrderItem>
  </DeliveryItems>
  <DeliveryType>ASAP</DeliveryType>
  <DropoffTime>2024-04-26T14:08:47.680597</DropoffTime>
  <EstimatedPrice>7</EstimatedPrice>
  <SiteId>1</SiteId>
</InDeliveryQuotes>

Response Information

Resource Description

List of quotes.

QuotesResponse
NameDescriptionTypeAdditional information
Quotes

Available quotes.

Collection of QuoteViewBasicData

None.

Response Formats

application/json, text/json

Sample:
{
  "Quotes": [
    {
      "$id": "1",
      "RequestedAt": "2024-04-26T14:08:47.680597",
      "ExpiresAt": "2024-04-26T14:08:47.680597",
      "QuotePromise": {
        "$id": "2",
        "Fee": 3.0,
        "CurrencyCode": "sample string 4",
        "PickupTime": "2024-04-26T14:08:47.680597",
        "DropoffTime": "2024-04-26T14:08:47.680597",
        "DeliveryWindowStart": "2024-04-26T14:08:47.680597",
        "DeliveryWindowEnd": "2024-04-26T14:08:47.680597"
      },
      "QuoteId": "sample string 9",
      "ApplicationId": {
        "$id": "3",
        "Name": "sample string 10",
        "Version": "sample string 11"
      }
    },
    {
      "$id": "4",
      "RequestedAt": "2024-04-26T14:08:47.680597",
      "ExpiresAt": "2024-04-26T14:08:47.680597",
      "QuotePromise": {
        "$id": "5",
        "Fee": 14.0,
        "CurrencyCode": "sample string 15",
        "PickupTime": "2024-04-26T14:08:47.680597",
        "DropoffTime": "2024-04-26T14:08:47.680597",
        "DeliveryWindowStart": "2024-04-26T14:08:47.680597",
        "DeliveryWindowEnd": "2024-04-26T14:08:47.680597"
      },
      "QuoteId": "sample string 20",
      "ApplicationId": {
        "$id": "6",
        "Name": "sample string 21",
        "Version": "sample string 22"
      }
    }
  ]
}

application/xml, text/xml

Sample:
<QuotesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OnlineOrderingAPI.Models.v1.Response.Delivery.Custom">
  <Quotes xmlns:d2p1="http://schemas.datacontract.org/2004/07/OnlineOrderingAPI.Models.v1.Response.Delivery">
    <d2p1:QuoteViewBasicData>
      <d2p1:ApplicationId>
        <d2p1:Name>sample string 10</d2p1:Name>
        <d2p1:Version>sample string 11</d2p1:Version>
      </d2p1:ApplicationId>
      <d2p1:ExpiresAt>2024-04-26T14:08:47.680597</d2p1:ExpiresAt>
      <d2p1:QuoteId>sample string 9</d2p1:QuoteId>
      <d2p1:QuotePromise>
        <d2p1:CurrencyCode>sample string 4</d2p1:CurrencyCode>
        <d2p1:DeliveryWindowEnd>2024-04-26T14:08:47.680597</d2p1:DeliveryWindowEnd>
        <d2p1:DeliveryWindowStart>2024-04-26T14:08:47.680597</d2p1:DeliveryWindowStart>
        <d2p1:DropoffTime>2024-04-26T14:08:47.680597</d2p1:DropoffTime>
        <d2p1:Fee>3</d2p1:Fee>
        <d2p1:PickupTime>2024-04-26T14:08:47.680597</d2p1:PickupTime>
      </d2p1:QuotePromise>
      <d2p1:RequestedAt>2024-04-26T14:08:47.680597</d2p1:RequestedAt>
    </d2p1:QuoteViewBasicData>
    <d2p1:QuoteViewBasicData>
      <d2p1:ApplicationId>
        <d2p1:Name>sample string 21</d2p1:Name>
        <d2p1:Version>sample string 22</d2p1:Version>
      </d2p1:ApplicationId>
      <d2p1:ExpiresAt>2024-04-26T14:08:47.680597</d2p1:ExpiresAt>
      <d2p1:QuoteId>sample string 20</d2p1:QuoteId>
      <d2p1:QuotePromise>
        <d2p1:CurrencyCode>sample string 15</d2p1:CurrencyCode>
        <d2p1:DeliveryWindowEnd>2024-04-26T14:08:47.680597</d2p1:DeliveryWindowEnd>
        <d2p1:DeliveryWindowStart>2024-04-26T14:08:47.680597</d2p1:DeliveryWindowStart>
        <d2p1:DropoffTime>2024-04-26T14:08:47.680597</d2p1:DropoffTime>
        <d2p1:Fee>14</d2p1:Fee>
        <d2p1:PickupTime>2024-04-26T14:08:47.680597</d2p1:PickupTime>
      </d2p1:QuotePromise>
      <d2p1:RequestedAt>2024-04-26T14:08:47.680597</d2p1:RequestedAt>
    </d2p1:QuoteViewBasicData>
  </Quotes>
</QuotesResponse>