Order Schema Reference
Objects
Address
An address record. Can be for users, caterers, brands, etc
Field Name | Description |
| The name of the city where the address is located. |
| Specific instructions provided for the delivery, such as parking details or particular points of entry. |
| The name associated with the address, which could be a business name or a contact person. |
| The two-letter abbreviation for the state in which the address is located (e.g., MA for Massachusetts). |
| The full name of the state corresponding to the address (e.g., Massachusetts). |
| The primary street address or street line 1. |
| The secondary street address or street line 2, used for additional address components such as apartment or suite numbers. |
| An additional address field for further granularity, often used for large complexes or extended addresses. |
| The postal code for the address location. |
Example
{
"city": "Boston",
"deliveryInstructions": "Ask for Jane at front desk",
"name": "",
"state": "MA",
"stateName": "Massachusetts",
"street": "12345 Restaurant Avenue",
"street2": null,
"street3": null,
"zip": "54321"
}
AcceptOrderPayload
Return type of AcceptOrder.
Field Name | Description |
| A customer's order for catering. |
Example
{
"order": Order!
}
Caterer
A caterer representing a specific location providing catering
Field Name | Description |
| The physical location or mailing address of a store or entity, which can include various subfields such as street, city, state, and zip code |
| Indicates whether an the caterer location is currently active, or operational. |
| The name associated with the caterer location. |
| A unique identifier assigned to each store. It is used to differentiate between different stores in a chain or franchise. |
|
|
Example
{
"address": Address,
"live": true,
"name": "My Caterer Name",
"storeNumber": "00001",
"uuid": "ezcater-caterer-id"
} CatererCart
Information about items on an order, from the caterer's perspective.
Field Name | Description |
| Enumeration of various fees and discounts provided to the caterer. |
| The specific items ordered by a customer. Each order item typically includes details such as the item's name, price, quantity, special instructions, and any associated options or customizations. |
| The collection of utensils and other tableware items included with the order, such as forks, knives, or plates |
| The summarized financial details of the order, including subtotals, total due, taxes, tips, and overall amounts payable by the customer. |
Example
{
"feesAndDiscounts": [LineItem!]!,
"orderItems": [OrderItem!]!,
"tableware": Tableware,
"totals": CatererTotals
}
CatererTotals
Various order totals, from the caterer's perspective
Field Name | Description |
| The sum of all order item prices, line items, and tip with commission and cc fee subtracted |
Example
{
"catererTotalDue": 171.02
}
Event
Information about the event an order is associated with (e.g. time, date, location, etc.)
Field Name | Description |
| The location at which the order is expected to be delivered by the caterer. When |
| The UTC timestamp indicating when the caterer must be ready to give prepared food to the customer or delivery partner. |
| On-site contact who will receive order on day-of event |
| The name for the event that was provided by the customer |
| The number of people that an order is intended to serve |
| The specific manner in which an order is processed or fulfilled. |
| The third party delivery partner's name. |
| The Time Zone identifier of the event in a format like 'America/New_York'. Full list of Time Zone Identifiers here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
| The UTC offset for time zone identifier, for example |
| The UTC timestamp indicating when the customer expects to receive food. |
Example
{
"address": Address,
"catererHandoffFoodTime": "2025-03-27T16:15:00Z",
"contact": EventContact,
"customerProvidedName": "Team building event",
"headcount": 10,
"orderType": "DELIVERY",
"thirdPartyDeliveryPartner": null,
"timeZoneIdentifier": "America/New_York",
"timeZoneOffset": "-04:00",
"timestamp": "2025-03-27T16:30:00Z"
}
EventContact
On-site contact who will receive order on day-of event
Field Name | Description |
| The name of the on-site contact who will receive the order. |
| The phone number of the on-site contact who will receive the order. |
Example
{
"name": "Jane Doe",
"phone": "5555555555"
}
Money
Monetary information on tip and totals for an order
Field Name | Description |
| Allowed currency values for money. |
| Monetary amount in currency sub-units (e.g. For US Dollars, this would be an amount in pennies); limited to 32-bit integer ( |
| Monetary amount in currency sub-units (e.g. For US Dollars, this would be an amount in pennies) |
Example
{
"currency": "USD",
"subunits": 23864,
"subunitsV2": "23864"
}
LineItem
Order line items like taxes, fees, and discounts
Field Name | Description |
| Monetary information for the order line item. |
| Name of the order line item. |
Example
{
"cost": Money,
"name": "Delivery Fee"
}
Order
A customer's catering order.
Field Name | Description |
| A caterer representing a specific location or store providing catering. |
| The information about items on the order, from the caterer's perspective. |
| The globally-unique identifier of the delivery for the order. |
| Information about the order's event (e.g. time, date, location, etc.). |
| Whether or not this order is tax exempt. |
| A description of where an Order is in it's lifecycle |
| Customer's contact information. For privacy reasons, this may not always be provided. |
| Reference identifier to be used when interacting with support at ezCater |
| The channel that an order comes in through |
| The address used to calculate sales tax for an order. This will either be the origin (store) address or the destination (event) address. |
| Monetary information on order's tip and totals |
| The ID of the specific order. |
Example
{
"caterer": Caterer,
"catererCart": CatererCart,
"deliveryId": "3593ce70-7227-4fd4-8a78-9591083d0674",
"event": Event,
"isTaxExempt": false,
"lifecycle": OrderLifecycle,
"orderCustomer": OrderCustomer,
"orderNumber": "O1O1O1",
"orderSourceType": "MARKETPLACE",
"taxableAddress": Address!,
"totals": OrderTotals,
"uuid": "your-ezcater-order-id"
}
OrderCustomer
A copy of the customer's contact information associated with an order
Field Name | Description |
| Customers first name. |
| Customers last name. |
| Customers full name. |
Example
{
"firstName": "Jane",
"lastName": "Doe",
"fullName": "Jane Doe"
}
OrderItem
Individual selections from the menu a customer has made for an order.
Field Name | Description |
| Selected customizations for the order item. |
| The name of the person attached to the order item. |
| The ID corresponding with a specifically sized item in the caterer's menu. |
| Size selected by the customer in string format. |
| Name of the order item. |
| A note to describe what's included in the item. Only visible to the caterer. |
| The the posId for the size specified by the order item. This id represents the id of this item in an external API. |
| Quantity of the specific order item. |
| Specific instructions written by the customer for this item |
| Total cost of item, including customizations, in currency sub-units |
| The ID of the specific order item. |
Example
{
"customizations": [OrderItemCustomization!]!,
"labelFor": null,
"menuItemSizeId": "ezcater-menu-version-size-12-inch-pizza-item-selection-id",
"menuItemSizeName": "12\" Pizza",
"name": "Margherita Pizza",
"noteToCaterer": "12\" thin crust Margherita Pizza",
"posItemId": "12-inch-pizza-item-selection-id",
"quantity": 10,
"specialInstructions": "Please be careful not to burn crust",
"totalInSubunits": Money,
"uuid": "83ec5c82-fa68-437c-90d7-ad861a2c151b"
}
OrderItemCustomization
Customizations for an order item
Field Name | Description |
| ID corresponding with a specifically sized item customization in the caterer's menu. |
| ID corresponding with a specific customization label in the caterer's menu. |
| Name corresponding with a specific customization label in the caterer's menu. |
| Name of the order item customization. |
| POS ID corresponding with a specific customization in the caterer's menu. |
| Count of items with this customization. Note that these items may also have other customizations. |
Example
{
"customizationId": "ezcater-menu-version-customization-parmigiano-reggiano-choice-12-inch-selection-id",
"customizationTypeId": "ezcater-menu-version-customization-type-cheese-addon-options-id",
"customizationTypeName": "Cheese Addon",
"name": "Parmigiano Reggiano",
"posCustomizationId": "parmigiano-reggiano-choice-12-inch-selection-id",
"quantity": 10
}
OrderLifecycle
Describes where an Order is in it's lifecycle
Field Name | Description |
| Where the Order is in its lifecycle |
Example
{
"orderIsCurrently": "accepted"
}
OrderTotals
Monetary information on tip and totals for an order
Field Name | Description |
| The total amount that the customer owes for their order. |
| Fee charged for using a specific pos system. |
| The sales tax collected for the order. |
| The sales tax remitted by ezCater. |
| Total cost of all food items in an order. |
| The gratuities added to the order for the delivery or kitchen personnel. |
Example
{
"customerTotalDue": Money!,
"pointOfSaleIntegrationFee": Money!,
"salesTax": Money!,
"salesTaxRemittance": Money!,
"subTotal": Money!,
"tip": Money!
}
RejectOrderPayload
Return type of RejectOrder
Field Name | Description |
| A customer's order for catering |
Example
{
"order": Order!
}
Tableware
A collection of tableware choices
Field Name | Description |
| Instructions written by customer about tableware needs |
| Tableware selections a customer has made for the order |
Example
{
"specialInstructions": null,
"tablewareChoices": [TablewareChoice!]
}
TablewareChoice
Complimentary tableware items, such as plates, napkins, utensils
Field Name | Description |
| ID corresponding with the tableware item in the caterer's menu. |
| This boolean term indicates whether the tableware is included on the order. |
| The number of pieces of tableware included on the order. |
| The name or description of the tableware item on the order. |
Example
{
"choiceUuid": "7acc72ed-2240-4b9f-a903-f7873b94ba60",
"isIncluded": true,
"itemCount": 10,
"name": "Napkins"
}
Input Objects
RejectOrderInput
Parameters for rejecting an order
Field Name | Description |
|
|
| Provides a reason for rejecting the order. Not all of the reasons are relevant to an API integration. |
Example
{
"explanation": "This location can't accept any more orders for that delivery date",
"reason": "AT_DAILY_CAPACITY"
}
Enums
Currency
Allowed currency values for money
Enum Name | Description |
| Currency is in US dollars (USD). |
FeeOrDiscountType
A list of fee or discounts types that can be included on an order. Applied to the feesAndDiscounts as a filter on the field's return type.
Enum Name | Description |
| Adjustments can represent various alterations to the order total, such as refunds or corrections to previous charges. |
| Delivery fees are charged to cover the cost associated with delivering the order from the caterer to the customer. |
| Discounts are applied to reduce the total amount due for the customer, often as a promotional offer or incentive. |
| Miscellaneous fees can include various charges that do not fall under standard categories, such as concierge or specific administrative fees. |
OrderTypeEnum
Allowed values for order type
Enum Name | Description |
| The customer selects delivery, and the caterer is responsible for delivering the order themselves using their own fleet. |
| The customers selects to pick up their order directly from the caterer's location, eliminating the need for delivery. |
| The customer selects delivery, and the caterer uses Dispatch, to deliver the order to the customer. |
OrderTypePerspective
Allowed values for an order type perspective. Applied to the orderType as a filter on the field's return type.
Enum Name | Description |
| Filters |
| Filters |
| Filters |
OrderSource
Allowed values for order sources. An order source represents what user flow the order originated from
Enum Name | Description |
| Order was placed through Club Soda, also known as Meal Program, a service that allows for grouping individual catering orders from multiple people into one larger order, typically for workplace consumption. |
| Order was placed through Direct Entry, a feature within ezCater that allows restaurant partners to submit their own orders directly into the system |
| Order was placed through Online Ordering, an ordering platform supported by ezCater that enables restaurant partners to facilitate online orders through their own websites. |
| Order was placed through the Marketplace, ezCater’s primary platform where users can place catering orders from a broad range of partner restaurants. |
RejectionReasonEnum
Allowed values for an order rejection reason, though some are unlikely to be relevant to an API integration.
Enum Name | Description |
| Used when the caterer has reached their maximum order capacity for the entire day. |
| Used when the caterer has reached their maximum number of orders for a specific hour, rather than for the full day. |
| Used when the caterer rejects an order because the commission or fees associated with it are deemed too high. |
| Used when the caterer rejects an order because the delivery distance is beyond their serviceable range. |
| Used when the caterer doesn't provide either takeout or delivery services. |
| Used when the caterer claims no recollection of subscribing to ezCater services. |
| Used when unforeseen circumstances cause the caterer to shut down temporarily. |
| Used when the caterer has planned closures on holidays. |
| Used when the caterer has insufficient stock or ingredients. |
| Used when there's insufficient time to deliver the order as requested. |
| Used when there's not enough time to prepare the order. |
| Used when there are issues with the menu items specified in the order. |
| Used when the order cannot be fulfilled due to the lack of necessary customer contact details. |
| Used when there are no drivers available to deliver the order. |
| Used when the lack of a tip influences the caterer's decision to reject the order. |
| Used when the ownership of the caterer has changed, which affects the order fulfillment capabilities. |
| Used when the caterer has ceased operations permanently. |
| Used when none of the listed reasons accurately describe the rejection. This is a catch-all category. |
| Used when there are not enough staff members to handle the order. |
| Used when the caterer is temporarily closed for short-term reasons. |
| Used when adverse weather conditions preventing order fulfillment. |
| Used when the order is placed outside of the caterer's operational hours. |
Scalars
BigInt
Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.
Boolean
The Boolean scalar type represents true or false.
Date
ISO-8601 Date-only string, e.g. 2017-12-14
Float
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
ID
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
ISO8601DateTime
An ISO 8601-encoded datetime @specifiedBy(url: https://tools.ietf.org/html/rfc3339).
Int
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
JSON
Represents untyped JSON.
String
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
UTCTimestamp
iso8601 formatted date & timestamp in UTC.
UUID
Universally unique identifier as defined by RFC 4122.
