---
agentTools:
  projectIndex: https://docs.developer.yelp.com/llms.txt
---

# Resources

[block:callout]
{
  "type": "info",
  "title": "Type Notation",
  "body": "* primitive/simple types like (strings, ints) are in lowercase.\n* decimal types have exact precision and are encoded as strings\n* Objects or resources are in camel-case.\n* for string types, utf8_string(n) means string must have exactly n characters, not bytes\n* for string types, utf8_string(i..j) means string must have at least i characters and at most j characters\n* for integers, we will use uint32 (for unsigned 32 bit ints)\n* arrays of Objects or primitives are denoted with [] after the type\n* timestamp type is an ISO8601 with timezone offset relative to UTC utf8_string encoding\n* uuid_hex is a UUID in hex encoding (32 characters)"
}
[/block]

[block:api-header]
{
  "title": "Order"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "yelp_order_id",
    "2-0": "order_lines",
    "3-0": "service",
    "4-0": "billing_type",
    "5-0": "*collection_type* ",
    "6-0": "partner_business_id",
    "7-0": "partner_order_id",
    "8-0": "customer_address",
    "9-0": "merchant_commission_rate",
    "0-1": "utf8_string(1..256)",
    "1-1": "uuid_hex",
    "2-1": "[OrderLine[]](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderline)",
    "3-1": "[Service](https://docs.developer.yelp.com/v1.0/docs/resources#section-service)",
    "4-1": "[BillingType](https://docs.developer.yelp.com/v1.0/docs/resources#section-billingtype-enum)",
    "5-1": "[CollectionType](https://docs.developer.yelp.com/v1.0/docs/resources#section-collectiontype-enum)",
    "6-1": "utf8_string(1..100)",
    "7-1": "utf8_string(1..64)",
    "8-1": "[Address](https://docs.developer.yelp.com/v1.0/docs/resources#section-address)",
    "9-1": "float (0.0 - 1.0)",
    "0-2": "object type, value: `Order`",
    "1-2": "(may be null if creating an Order) unique identifier for Order that’s assigned when Order is created",
    "2-2": "order lines",
    "3-2": "polymorphic service resource",
    "4-2": "`partner` or `yelp`. Describes who collects the money and affects crediting.",
    "5-2": "`prepaid` or `postpaid`. Describes whether money will be collected upfront or on explicit `/complete` call from partner. CURRENTLY ONLY prepaid is SUPPORTED.",
    "6-2": "partner’s id of business that is “fulfilling” the order",
    "7-2": "an order id provided by partner for this order for partner’s tracking purposes",
    "8-2": "address of customer, may be `null`",
    "9-2": "sets the proportion of the total cost of goods which is given to the merchant. If this is not provided, it will default to the value in the partner contract. On updates, if this is missing, the existing merchant_commission_rate will be used. This field is only used as part of order create and update requests."
  },
  "cols": 3,
  "rows": 10
}
[/block]

\##Validation

* `order_lines` must have at least one OrderLineItem or OrderLineBooking or OrderLineMedicalCompliant.
* `order_lines` must have at least one OrderLineTax ($0 amount is okay for states, cities, etc. with no tax). We are requiring tax lines (even for $0) to be explicit that Yelp doesn't handle tax (yet), and the partner is responsible for specifying it.
* `order_lines` must total to $0 or greater
* `partner_business_id` must map to a `yelp_business_id`, which we determined when they uploaded their business feed to us via [Data Ingestion API](https://docs.developer.yelp.com/v1.0/docs/data-ingestion-api)
* `merchant_commission_rate` is enabled on a per partner basis at this time.

[block:api-header]
{
  "title": "Service"
}
[/block]

[block:parameters]
{
  "data": {
    "0-0": "object",
    "0-1": "utf8_string(1..256)",
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-2": "object type, value: `Service`",
    "1-0": "type",
    "1-2": "the ServiceType enum (e.g. `food`)",
    "1-1": "[ServiceType](https://docs.developer.yelp.com/v1.0/docs/resources#section-servicetype-enum)",
    "2-1": "[OptionType](https://docs.developer.yelp.com/v1.0/docs/resources#section-optiontype-enum)",
    "2-0": "option",
    "2-2": "the OptionType enum (e.g. `at_customer`)"
  },
  "cols": 3,
  "rows": 3
}
[/block]

[block:api-header]
{
  "title": "ServiceType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "food",
    "1-0": "booking",
    "2-0": "hotel_reservation",
    "3-0": "restaurant_reservation",
    "4-0": "goods",
    "5-0": "club_service",
    "6-0": "medical_compliant",
    "0-1": "Orders for food-related goods (food delivery, takeout)",
    "1-1": "Orders that are reserving appointments (e.g. spas) or requesting a service at a future date (e.g. plumber, repairs)",
    "2-1": "Orders that reserve hotel rooms",
    "3-1": "Orders that reserve tables at restaurants",
    "4-1": "Orders for physical non-food items",
    "5-1": "Orders for club service (table booking and bottles)",
    "6-1": "Orders that are reserving medical appointments (e.g. dentist, doctor)"
  },
  "cols": 2,
  "rows": 7
}
[/block]

[block:api-header]
{
  "title": "OptionType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "at_customer",
    "1-0": "at_business",
    "0-1": "Service will be at customer’s address or food will be delivered to customer’s address",
    "1-1": "Service will be at business’ address or food will be picked up at business’ address"
  },
  "cols": 2,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "BillingType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "partner",
    "1-0": "yelp",
    "0-1": "Partner will collect payment from the business, which will in turn collect it directly from the customer. Yelp will debit Partner’s account for revenue sharing purposes.",
    "1-1": "Yelp will collect payment from the customer (via credit card). Yelp will credit Partner’s account for revenue sharing purposes."
  },
  "cols": 2,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "CollectionType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "prepaid",
    "1-0": "postpaid",
    "0-1": "Yelp will collect payment from the user as soon as order is submitted, without any explicit action from partner.",
    "1-1": "**NOT SUPPORTED.** "
  },
  "cols": 2,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "OrderLine"
}
[/block]

OrderLine is polymorphic on the object field. The resources below describe the different types of OrderLines and what fields are required per type.

\##OrderLine object types

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "[OrderLineItem](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlineitem)",
    "1-0": "[OrderLineBooking](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlinebooking)",
    "2-0": "[OrderLineTip](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlinetax-orderlineadjustment-orderlinetip)",
    "3-0": "[OrderLineTax](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlinetax-orderlineadjustment-orderlinetip)",
    "4-0": "[OrderLineMedicalCompliant](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlinemedicalcompliant)",
    "5-0": "[OrderLineAdjustment](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderlinetax-orderlineadjustment-orderlinetip)",
    "0-1": "A regular line describing a good being purchased, or a service",
    "1-1": "A line describing a reservation booking",
    "2-1": "A line for specifying a tip amount",
    "3-1": "A line for specifying a tax amount",
    "4-1": "A line for specifying a medical compliant reservation",
    "5-1": "A line for specifying misc adjustments e.g. discounts, delivery fee, etc."
  },
  "cols": 2,
  "rows": 6
}
[/block]

[block:callout]
{
  "type": "info",
  "title": "Notes",
  "body": "* OrderLine is polymorphic instead of Order\n* OrderLine loosely corresponds to lines you would see on customer receipt or invoice and its structure depends on the partner. More information can be placed in description or can be split out into another OrderLine."
}
[/block]

\##OrderLineTax, OrderLineAdjustment, OrderLineTip
If **OrderLineAdjustment** is used for specifying service fee, Please prefix while specifying `name` property. For example, "Yelp Test" partner would provide name as "Yelp Test Service Fee".

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "0-1": "utf8_string(1..256)",
    "0-2": "one of `OrderLineTax`, `OrderLineAdjustment`, `OrderLineTip`",
    "1-0": "name",
    "1-1": "utf8_string(2..256)",
    "1-2": "name of item/service",
    "2-0": "quantity",
    "2-1": "uint32",
    "2-2": "number of units being purchased",
    "3-0": "price",
    "3-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "3-2": "price per unit (could be negative)"
  },
  "cols": 3,
  "rows": 4
}
[/block]

\##OrderLineItem

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "name",
    "2-0": "*description* ",
    "3-0": "quantity",
    "4-0": "price",
    "5-0": "partner_item_id",
    "0-1": "utf8_string(1..256)",
    "1-1": "utf8_string(2..256)",
    "2-1": "utf8_string(0..1024)",
    "3-1": "uint32",
    "4-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "5-1": "utf8_string(0..64)",
    "0-2": "object type, value: `OrderLineItem`",
    "1-2": "name of item/service",
    "2-2": "(optional) plaintext details about or customizations for item/service. newline-delimited (`\\n`)",
    "3-2": "number of units being purchased",
    "4-2": "price per unit (could be negative)",
    "5-2": "partner’s unique id for what’s being purchased with this OrderLine"
  },
  "cols": 3,
  "rows": 6
}
[/block]

\##OrderLineMedicalCompliant

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "name",
    "2-0": "description",
    "3-0": "quantity",
    "4-0": "price",
    "5-0": "partner_item_id",
    "6-0": "*cancellation_policy* ",
    "0-1": "utf8_string(1..256)",
    "1-1": "utf8_string(2..256)",
    "2-1": "utf8_string(0..1024)",
    "3-1": "uint32",
    "4-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "5-1": "utf8_string(0..64)",
    "6-1": "CancellationPolicy",
    "0-2": "object type, value: `OrderLineMedicalCompliant`",
    "1-2": "name of item/service",
    "2-2": "plaintext details about or customizations for item/service. newline-delimited (`\\n`)",
    "3-2": "number of units being purchased",
    "4-2": "price per unit (could be negative)",
    "5-2": "partner’s unique id for what’s being purchased with this OrderLine",
    "6-2": "(optional) polymorphic object"
  },
  "cols": 3,
  "rows": 7
}
[/block]

\##OrderLineBooking

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "name",
    "2-0": "*description* ",
    "3-0": "price",
    "4-0": "partner_item_id",
    "5-0": "start_time",
    "6-0": "*end_time* ",
    "7-0": "*cancellation_policy* ",
    "0-1": "utf8_string(1..256)",
    "1-1": "utf8_string(2..256)",
    "2-1": "utf8_string(0..1024)",
    "3-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "4-1": "utf8_string(0..64)",
    "5-1": "timestamp",
    "6-1": "timestamp",
    "7-1": "CancellationPolicy",
    "0-2": "object type, value: `OrderLineBooking`",
    "1-2": "name of item/service being reserved",
    "2-2": "(optional) plaintext details about or customizations for item/service. newline-delimited (`\\n`)",
    "3-2": "price for reservation (could be negative). This is total value of the service. At the service time, the customer is expected to pay (price - upfront_price)",
    "4-2": "partner’s unique id for what’s being purchased with this OrderLine",
    "5-2": "start datetime of reservation",
    "6-2": "(optional) end datetime of reservation",
    "7-2": "(optional) polymorphic object",
    "8-0": "quantity",
    "8-1": "uint32",
    "8-2": "number of items being reserved"
  },
  "cols": 3,
  "rows": 9
}
[/block]

\##Validation

* quantity must be >= 1 for all types
* price is required for all types but may be 0
* In cases where cancellation\_policy object is missing, Yelp assumes that there is no cancellation policy to enforce, and the user can cancel an appointment without any penalty up to the start of the appointment.

[block:api-header]
{
  "title": "Address"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "address1",
    "2-0": "address2",
    "3-0": "address3",
    "4-0": "city",
    "5-0": "region",
    "6-0": "postal_code",
    "7-0": "*county* ",
    "8-0": "country",
    "0-1": "utf8_string(1..255)",
    "1-1": "utf8_string(0..255)",
    "2-1": "utf8_string(0..255)",
    "3-1": "utf8_string(0..255)",
    "4-1": "utf8_string(1..255)",
    "5-1": "utf8_string(1..64)",
    "6-1": "utf8_string(1..64)",
    "7-1": "utf8_string(0..255)",
    "8-1": "utf8_string(2)",
    "0-2": "object type, value: `Address`",
    "1-2": "address line 1",
    "2-2": "(optional) address line 2",
    "3-2": "(optional) address line 3",
    "4-2": "city / district / town / village",
    "5-2": "state (US) or region",
    "6-2": "postal code",
    "7-2": "(optional) county",
    "8-2": "country code (ISO 3166-1 alpha 2)"
  },
  "cols": 3,
  "rows": 9
}
[/block]

[block:api-header]
{
  "title": "Currency"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "amount",
    "0-1": "decimal(10, 3)",
    "0-2": "currency amount with exact precision; number of decimal places should follow ISO 4217",
    "1-0": "currency_code",
    "1-1": "utf8_string(3)",
    "1-2": "3-char code ISO 4217"
  },
  "cols": 3,
  "rows": 2
}
[/block]

\##Validation

* `amount` must be above -10,000,000 and below 10,000,000.

[block:api-header]
{
  "title": "CustomerAddressConstraint"
}
[/block]

This is provided as an `availablity_constraint` of Opportunity

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "1-0": "customer_address_str",
    "2-0": "customer_address",
    "0-1": "utf8_string(1..128)",
    "1-1": "utf8_string(1..256)",
    "2-1": "[Address](https://docs.developer.yelp.com/v1.0/docs/resources#section-address)",
    "0-2": "the object type, value: `CustomerAddressConstraint`",
    "1-2": "original user-inputted address string",
    "2-2": "address of customer, may be null"
  },
  "cols": 3,
  "rows": 3
}
[/block]

[block:api-header]
{
  "title": "FulfillmentUserInfo"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "first_name",
    "1-0": "last_name",
    "2-0": "email",
    "3-0": "phone",
    "4-0": "*availability_constraints* ",
    "0-1": "utf8_string(1..256)",
    "1-1": "utf8_string(1..256)",
    "2-1": "utf8_string(1..256)",
    "3-1": "utf8_string(7..32)",
    "4-1": "polymorphic availability_constraints[]",
    "4-2": "(optional) This is a list of constraints entered by the user. At the moment, it may be [CustomerAddressConstraint](https://docs.developer.yelp.com/v1.0/docs/resources#section-customeraddressconstraint)",
    "3-2": "phone number",
    "2-2": "email",
    "1-2": "last name",
    "0-2": "first name"
  },
  "cols": 3,
  "rows": 5
}
[/block]

[block:api-header]
{
  "title": "CancellationPolicy"
}
[/block]

A polymorphic object that describes when a particular cancellation action (e.g. it's ok to cancel, the user must contact business, etc). The following object types are supported.

[block:parameters]
{
  "data": {
    "h-0": "Object type",
    "h-1": "Description",
    "0-0": "[AlwaysCancellationPolicy](https://docs.developer.yelp.com/v1.0/docs/resources#section-alwayscancellationpolicy)",
    "0-1": "an action that applies unconditionally",
    "1-0": "[MinutesBeforeCancellationPolicy](https://docs.developer.yelp.com/v1.0/docs/resources#section-minutesbeforecancellationpolicy)",
    "1-1": "an action that applied specified period of time before the appointment begins."
  },
  "cols": 2,
  "rows": 2
}
[/block]

\##AlwaysCancellationPolicy

Indicates that the cancellation action applies unconditionally of time.

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "0-2": "object type, value: `AlwaysCancellationPolicy`",
    "h-2": "Description",
    "0-0": "object",
    "0-1": "utf8_string(1..256)",
    "1-0": "*flat_fee* ",
    "2-0": "violation_action",
    "1-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "1-2": "(optional): a flat cancellation fee that applies to cancellation (e.g. $10 fee independent of the value of the service).",
    "2-2": "indicates who should enforce the cancellation policy and how, in cases when User wants to cancel within cancellation policy window",
    "2-1": "[ViolationActionEnum](https://docs.developer.yelp.com/v1.0/docs/resources#section-violationactionenum)"
  },
  "cols": 3,
  "rows": 3
}
[/block]

\##MinutesBeforeCancellationPolicy

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "object",
    "0-1": "utf8_string(1..256)",
    "0-2": "object type, value: `MinutesBeforeCancellationPolicy`",
    "1-0": "minutes_before",
    "1-1": "integer",
    "1-2": "describes a cancellation policy that is in effect if current time is within this many minutes before the appointment start time (E.g. 24 hours would be minutes_before=24*60)",
    "2-0": "violation_action",
    "2-2": "indicates who should enforce the cancellation policy and how, in cases when User wants to cancel within cancellation policy window",
    "2-1": "[ViolationActionEnum](https://docs.developer.yelp.com/v1.0/docs/resources#section-violationactionenum)"
  },
  "cols": 3,
  "rows": 3
}
[/block]

\##ViolationActionEnum
Describes who should enforce the cancellation fee and how

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "contact_business",
    "0-1": "Yelp will show user a message to call/contact the business for cancellation. Whether a cancellation fee is waived, or partially or fully applied is up to the discretion of the business/partner."
  },
  "cols": 2,
  "rows": 1
}
[/block]

[block:api-header]
{
  "title": "Opportunity"
}
[/block]

This resource represents a user's request to enter the ordering flow.

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "opportunity_id",
    "1-0": "partner_business_id",
    "2-0": "request_time",
    "3-0": "service_type",
    "4-0": "selected_option",
    "5-0": "availability_constraints",
    "0-1": "uuid_hex",
    "1-1": "utf8_string(1..100)",
    "2-1": "timestamp",
    "3-1": "[ServiceType](https://docs.developer.yelp.com/v1.0/docs/resources#section-servicetype-enum)",
    "4-1": "[OptionType](https://docs.developer.yelp.com/v1.0/docs/resources#section-optiontype-enum)",
    "5-1": "polymorphic availability_constraints[]",
    "0-2": "unique identifier for this Opportunity",
    "1-2": "partner’s business id to check availability against. Partner provided this to Yelp via Data Ingestion.",
    "2-2": "ISO8601 UTC, time user requested",
    "3-2": "service type enum",
    "4-2": "option selected by user",
    "5-2": "This is a list of constraints entered by the user. At the moment, it may be [CustomerAddressConstraint](https://docs.developer.yelp.com/v1.0/docs/resources#section-customeraddressconstraint)"
  },
  "cols": 3,
  "rows": 6
}
[/block]

[block:api-header]
{
  "title": "CouponInfo"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "code",
    "1-0": "discount",
    "0-1": "utf8_string(1..256)",
    "0-2": "coupon code that was applied to Order. This could be null if no coupon was applied to this Order.",
    "1-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "1-2": "discount amount for the applied coupon"
  },
  "cols": 3,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "OrderStatus"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "yelp_order_id",
    "1-0": "order_status",
    "2-0": "time_created",
    "3-0": "time_updated",
    "0-1": "uuid_hex",
    "1-1": "[OrderStatusCode](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderstatuscode-enum)",
    "2-1": "timestamp",
    "3-1": "timestamp",
    "0-2": "unique identifier of Order",
    "1-2": "status of Order (see status codes below)",
    "2-2": "time Order was created",
    "3-2": "time Order was last updated"
  },
  "cols": 3,
  "rows": 4
}
[/block]

[block:api-header]
{
  "title": "OrderStatusCode enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "pending_user_submit",
    "1-0": "charge_pending",
    "2-0": "update_pending",
    "3-0": "cancel_pending",
    "4-0": "ready_for_fulfillment",
    "5-0": "cancelled",
    "6-0": "cancelled_by_yelp",
    "7-0": "cancelled_by_user",
    "8-0": "cancel_by_user_pending",
    "0-1": "waiting for user to provide billing/required information and to confirm purchase or reservation",
    "1-1": "waiting for the billing to charge user",
    "2-1": "Yelp is processing an `/update` call",
    "3-1": "Yelp is processing a `/cancels` call",
    "4-1": "Order is in a completed state and Yelp is not waiting on the Partner to call any other API endpoint. Partner/business could fulfill orders in this state.",
    "5-1": "order was cancelled by partner",
    "6-1": "order was cancelled by Yelp because there has been no action on it after a while or for other reasons like security",
    "7-1": "order was cancelled by user",
    "8-1": "Yelp is processing a cancel by user request."
  },
  "cols": 2,
  "rows": 9
}
[/block]

[block:api-header]
{
  "title": "OperationType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "charge",
    "1-0": "update",
    "2-0": "cancel",
    "0-1": "user submitted purchase on the Yelp checkout page",
    "1-1": "update operation requested by partner",
    "2-1": "cancel operation requested by partner."
  },
  "cols": 2,
  "rows": 3
}
[/block]

[block:api-header]
{
  "title": "OperationStatus enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "success",
    "1-0": "failed",
    "2-0": "pending",
    "0-1": "operation specified from OperationType is successful",
    "1-1": "operation specified from OperationType failed",
    "2-1": "operation specified from OperationType is pending"
  },
  "cols": 2,
  "rows": 3
}
[/block]

[block:api-header]
{
  "title": "TransactionStatusChange"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "operation_type",
    "1-0": "amount",
    "2-0": "time_updated",
    "3-0": "operation_status",
    "0-1": "[OperationType](https://docs.developer.yelp.com/v1.0/docs/resources#section-operationtype-enum)",
    "1-1": "[Currency](https://docs.developer.yelp.com/v1.0/docs/resources#section-currency)",
    "2-1": "timestamp",
    "3-1": "[OperationStatus](https://docs.developer.yelp.com/v1.0/docs/resources#section-operationstatus-enum)",
    "0-2": "operation as requested by partner or user",
    "1-2": "depending on the operation_type, this is charged or refunded amount.",
    "2-2": "UTC time notification was created",
    "3-2": "status of the above operation request"
  },
  "cols": 3,
  "rows": 4
}
[/block]

[block:api-header]
{
  "title": "OrderStatusChangeNotification"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "notification_id",
    "1-0": "yelp_order_id",
    "2-0": "*order_request_id* ",
    "3-0": "time_created",
    "4-0": "order_status",
    "5-0": "*coupon* ",
    "6-0": "*user_info* ",
    "7-0": "transaction_status_change",
    "8-0": "billing_type",
    "0-1": "uuid_hex",
    "1-1": "uuid_hex",
    "2-1": "utf8_string(0..32)",
    "3-1": "timestamp",
    "4-1": "[OrderStatusCode](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderstatuscode-enum)",
    "5-1": "[CouponInfo](https://docs.developer.yelp.com/v1.0/docs/resources#section-couponinfo)",
    "6-1": "[FulfillmentUserInfo](https://docs.developer.yelp.com/v1.0/docs/resources#section-fulfillmentuserinfo)",
    "7-1": "[TransactionStatusChange](https://docs.developer.yelp.com/v1.0/docs/resources#section-transactionstatuschange)",
    "8-1": "[BillingType](https://docs.developer.yelp.com/v1.0/docs/resources#section-billingtype-enum)",
    "0-2": "uuid identifying this notification",
    "1-2": "uuid identifying order",
    "2-2": "(optional) present for notifications corresponding to `/update` and `/cancel` partner requests",
    "3-2": "UTC time notification was created",
    "4-2": "the most current order status regardless of when the notification was created",
    "5-2": "(optional) includes discount information if Yelp coupon was applied for this order",
    "6-2": "(optional) user information required for fulfilling this order, will only be present for charge operation_type",
    "7-2": "Transaction operation requested by partner and status of the operation",
    "8-2": "Corresponds to the billing type of the order"
  },
  "cols": 3,
  "rows": 9
}
[/block]

[block:api-header]
{
  "title": "ConfirmationType enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "order_confirmed",
    "0-1": "The order is confirmed",
    "1-0": "delivery_in_progress",
    "1-1": "The delivery is in progress"
  },
  "cols": 2,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "CheckoutConfirmationStatusBody"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "confirmation_type",
    "0-1": "[ConfirmationType](https://docs.developer.yelp.com/v1.0/docs/resources#section-orderstatuschangenotification)",
    "0-2": "The state the order is being updated to",
    "1-0": "eta_in_minutes",
    "1-1": "integer",
    "1-2": "The estimated time of arrival"
  },
  "cols": 3,
  "rows": 2
}
[/block]

[block:api-header]
{
  "title": "CancellationScenario enum"
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Type Value (utf8_string)",
    "h-1": "Description",
    "0-0": "cancelled_by_user_via_yelp",
    "1-0": "cancelled_by_partner",
    "2-0": "customer_no_show",
    "3-0": "customer_contacted_business_to_cancel",
    "4-0": "customer_cancelled_through_yelp",
    "0-1": "This /cancel call would be in response to AWAITING_CANCEL_POLICY_RESOLUTION, which the case where a user initiated a cancel on the yelp, yelp notified the partner of user’s intent, and now yelp is waiting for the partner to call /cancels with an appropriate cancellation_fee and bring the order to one of the cancelled states. Yelp Platform Action: fully refund the order and set it to CANCELLED or CANCELLED_WITH_FEE state.",
    "1-1": "Administrative cancelled by partner. In this case, cancellation_fee should not be present in the POST request body. Yelp Platform Action: fully refund the order and set it to CANCELLED state.",
    "2-1": "Business has reported to the partner that the customer was not at the appointment. cancellation_fee contains the penalty that business wishes to charge the customer. YTP Action: charge the user the cancellation_fee, and set the order to CANCELLED or CANCELLED_WITH_FEE as appropriate.",
    "3-1": "Customer contacted the business and cancelled the appointment. cancellation_fee contains the penalty that business wishes to charge the customer. If customer cancels in time when and no penalty applies, cancellation_fee should be $0. YTP Action: charge the user the cancellation_fee, and set the order to CANCELLED or CANCELLED_WITH_FEE as appropriate.",
    "4-1": "This is an order cancelled by Yelp, most likely because a customer contacted Yelp requesting a cancel / disputing an order."
  },
  "cols": 2,
  "rows": 5
}
[/block]