openapi: 3.2.0 info: title: Specification Drive Redelivery API x-logo: url: https://doordash-static.s3-us-west-2.amazonaws.com/media/drive/drive-logo.png backgroundColor: '#FFFFFF' altText: Doordash Drive href: https://developer.doordash.com/ version: 0.0.1 description: 'Last updated: December 8, 2022 ### Release Notes ### 0.0.1 (internal release) - initial version - added create redelivery api' servers: - url: https://openapi.doordash.com variables: {} tags: - name: drive-redelivery paths: /drive/v2/deliveries/{external_delivery_id}/redelivery: components: schemas: RedeliveryNotAllowedError: x-error: true required: - code - message - reason properties: code: type: string enum: - redelivery_not_allowed message: type: string example: Redelivery is not possible reason: type: string enum: - delivery_not_valid_for_redelivery - redelivery_creation_in_progress - delivery_not_completed_or_cancelled - redelivery_window_closed - distance_too_long - pickup_address_not_in_coverage - delivery_address_not_in_coverage - outside_of_delivery_time post: summary: Create a redelivery of a Drive order tags: - drive-redelivery description: Attempt to redeliver an existing completed or cancelled order. Must include a new delivery id to assign to the redelivery. Other delivery properties are optional. If they are not supplied, they will be inherited from the existing delivery. operationId: CreateRedelivery parameters: - $ref: '#/components/parameters/ExternalDeliveryIdPath' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRedeliveryInput' required: true responses: '200': description: Ok headers: {} content: application/json: schema: $ref: '#/components/schemas/DeliveryResponse' '400': description: Request Validation Failed headers: {} content: application/json: schema: $ref: '#/components/schemas/validation_field_error' '403': description: Operation not authorized headers: {} content: application/json: schema: $ref: '#/components/schemas/authorization_error' '404': description: Unknown delivery ID headers: {} content: application/json: schema: $ref: '#/components/schemas/unknown_delivery_error' '409': description: Duplicate delivery ID headers: {} content: application/json: schema: $ref: '#/components/schemas/DuplicateDeliveryIdError' '422': description: Redelivery is not allowed headers: {} content: application/json: schema: $ref: '#/components/schemas/RedeliveryNotAllowedError' '500': description: Internal service failure, please try again later content: application/json: schema: $ref: '#/components/schemas/server_fault' deprecated: false components: schemas: DropoffAddressComponents_CA: type: object title: Canada description: Drop-off Address broken down by components for CA properties: street_address: type: - string - 'null' description: The street address of the drop-off location. If you have multiple lines, concatenate them with a comma example: 358 Industry Drive sub_premise: type: - string - 'null' description: Used to denote the unit number, suite number or apartment number example: Apt. 121 city: type: - string - 'null' description: City for the address example: Toronto province: type: - string - 'null' description: Province for the address. 2 letter province codes for Canadian addresses. For instance, “ON” for Ontario example: 'ON' postal_code: type: - string - 'null' description: Postal code for the address example: M4C-1V7 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “CA” for Canada example: CA SubstituteItemMetadata: title: SubstituteItemMetadata description: Metadata for the substitute item. type: object properties: id: type: string description: Unique identifier for the substitute item quantity: type: integer description: Quantity of the substitute item weight: type: number format: double description: Unit weight of 1 instance of this item, with or without a decimal point. The overall weight of this item is calculated by multiplying this field by quantity. minimum: 0 maximum: 999.9995 weight_unit: type: string description: Weight unit of the substitute item enum: - oz - lbs - kg - g required: - id - quantity Locale: type: string description: 'The language DoorDash should use when sending updates about this delivery. Supported locales : `en-US`, `fr-CA`, `es-US`.' example: en-US, fr-CA, es-US DropoffSignatureUrl: type: string description: Link to a picture of the dropoff contact's signature that was collected by the Dasher during drop off. example: https://doordash-static.s3... ShoppedItemsDetails: title: ShoppedItemsDetails description: Details about the individual items included in the order. If you want more info about shopped items, refer to the [DASHER_COMPLETED_SHOPPING webhook spec.](https://developer.doordash.com/en-US/docs/drive/how_to/Drive_DSX/how_to_shopping_complete_webhook) type: object properties: shopped_items: type: array description: The items shopped by the Dasher in the order. Once the Dasher has completed shopping, this will contain all of the scanned items. items: $ref: '#/components/schemas/ShoppedItem' DangerousGoods: title: DangerousGoods type: object description: Hazardous materials (hazmat) information for an item shipped under applicable dangerous-goods regulations. required: - proper_shipping_name - commodity_level_code properties: proper_shipping_name: type: string description: Official proper shipping name of the hazardous material as defined by the applicable regulatory authority (DOT/IATA/IMDG). maxLength: 200 example: ACETYL METHYL CARBINOL commodity_level_code: type: string description: Indicates the regulatory treatment level for this hazardous commodity. example: limited_quantity enum: - limited_quantity un_number: type: string description: Four-digit UN identification number assigned to the hazardous substance. Must be provided in the format "UN" followed by exactly four digits. pattern: ^UN\d{4}$ example: UN2621 class_number: type: string description: One of the nine HAZMAT shipping classes and sub classes example: '3' amount: type: number format: double description: Net quantity of hazardous material per package, expressed in the unit defined by `amount_measurement_type`. minimum: 0 example: 10 amount_measurement_type: type: string description: Unit of measure for the `amount` field. example: KGS enum: - KGS - LBS - L - ML packaging_group_type: type: string description: Packing group indicating the degree of danger of the substance. Group I = great danger, Group II = medium danger, Group III = minor danger. Not applicable to all hazard classes (e.g. explosives, gases). example: III enum: - I - II - III transportation_mode: type: string description: Mode of transport under which the dangerous goods declaration applies. example: ground enum: - ground quantity: type: integer format: int32 description: Number of these items in the entire package. minimum: 1 example: 1 Location: title: Location type: object description: Near-real-time location of the Dasher. required: - lat - lng properties: lat: type: number format: double description: Latitude of the location. example: 123.1312343 lng: type: number format: double description: Longitude of the location. example: -37.2144343 DropoffAddressComponents_NZ: type: object title: New Zealand description: Drop-off Address broken down by components for NZ properties: street_address: type: - string - 'null' description: The street address of the drop-off location. If you have multiple lines, concatenate them with a comma example: 236 Majoribanks Street sub_premise: type: - string - 'null' description: Used to denote the unit number, flat number, suite number, or apartment number example: Apt. 121 sub_locality: type: - string - 'null' description: Delivery suburb / town for the address example: Mount Victoria locality: type: - string - 'null' description: Locality for the address example: Wellington postal_code: type: - string - 'null' description: Postal code for the address example: 6011 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “NZ” for New Zealand example: NZ DasherDetails: title: DasherDetails description: Details about the Dasher assigned to this delivery. Details will be provided once a Dasher has been assigned and has accepted the delivery. type: object properties: dasher_id: type: integer format: int32 description: Unique identifier for the Dasher. example: 1232142 dasher_name: type: string description: First name and last initial of the Dasher delivering the order. example: John D. dasher_dropoff_phone_number: type: string description: Phone number for the Dasher; can only be called from dropoff_phone_number. Should include the country code. example: '+15555555555' dasher_pickup_phone_number: type: string description: Phone number for the Dasher; can only be called from pickup_phone_number. Should include the country code. example: '+14444444444' dasher_location: $ref: '#/components/schemas/Location' dasher_vehicle_make: type: string description: Make of the Dasher's vehicle. example: Toyota dasher_vehicle_model: type: string description: Model of the Dasher's vehicle. example: Corolla dasher_vehicle_year: type: string description: Year of the Dasher's vehicle. example: '2006' AdjustmentDetails: title: AdjustmentDetails description: Details about the post-checkout adjustments made to the item. Not settable. type: object properties: addition_source: type: string description: The source of the item's addition example: dasher enum: - dasher - customer DeliveryOutput: title: DeliveryBase description: Delivery status and details provided by Doordash. type: object properties: delivery_status: type: string description: See the [delivery statuses](https://developer.doordash.com/en-US/docs/drive/reference/delivery_statuses) document for detailed descriptions of each status. enum: - quote - created - confirmed - enroute_to_pickup - arrived_at_pickup - picked_up - enroute_to_dropoff - arrived_at_dropoff - delivered - enroute_to_return - arrived_at_return - returned - cancelled cancellation_reason: type: string description: The reason why a delivery was cancelled. enum: - cancelled_by_creator - failed_to_process_payment - failed_to_assign_and_refunded - failed_to_pickup - failed_to_deliver - failed_to_return updated_at: type: string description: Time when the delivery info was updated in ISO-8601 format. example: '2018-08-22T17:20:28Z' pickup_time_estimated: type: string description: Estimated time of pickup in ISO-8601 format; null if already picked up. example: '2018-08-22T17:20:28Z' pickup_time_actual: type: string description: Actual time of pickup in ISO-8601 format; null if not yet picked up. example: '2018-08-22T17:20:28Z' dropoff_time_estimated: type: string description: Estimated time of drop off in ISO-8601 format; null if already picked up. example: '2018-08-22T17:20:28Z' dropoff_time_actual: type: string description: Actual time of drop off in ISO-8601 format; null if not yet picked up. example: '2018-08-22T17:20:28Z' dropoff_time_estimated_lower_bound: type: string description: Lower bound of the post-checkout estimated drop off time in ISO-8601 format. example: '2018-08-22T17:20:28Z' dropoff_time_estimated_upper_bound: type: string description: Upper bound of the post-checkout estimated drop off time in ISO-8601 format. example: '2018-08-22T17:35:28Z' dropoff_time_estimated_pre_checkout: type: string description: Estimated drop off time shown before an order is placed (pre-checkout), in ISO-8601 format. Populated only when enabled for the business/store. example: '2018-08-22T17:20:28Z' return_time_estimated: type: string description: Estimated time of return in ISO-8601 format; null if delivery is not returnable or already returned. example: '2018-08-22T17:20:28Z' return_time_actual: type: string description: Actual time of return in ISO-8601 format; null if return is not returnable or the return is not yet completed. example: '2018-08-22T17:20:28Z' return_address: $ref: '#/components/schemas/ReturnAddress' fee: type: integer format: int32 example: 1900 description: Delivery Fee in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599 or null if not available. minimum: 0 fee_components: type: array description: The charges that were applied for this delivery; sums to `fee` items: $ref: '#/components/schemas/FeeComponent' tax: type: integer format: int32 example: 520 description: Delivery tax in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599 or null if not available. minimum: 0 tax_components: type: array description: The taxes that were applied for this delivery; sums to `tax`. Only returned for deliveries in Canada. items: $ref: '#/components/schemas/TaxComponent' support_reference: $ref: '#/components/schemas/SupportReference' tracking_url: $ref: '#/components/schemas/TrackingUrl' dropoff_verification_image_url: $ref: '#/components/schemas/DropoffVerificationUrl' pickup_verification_image_url: $ref: '#/components/schemas/PickupVerificationUrl' dropoff_signature_image_url: $ref: '#/components/schemas/DropoffSignatureUrl' shipping_label: $ref: '#/components/schemas/ShippingLabel' dropped_items: type: array description: The items that were dropped because they were not available or suspended and not considered as per the catalog for DSS/DSD Orders. items: $ref: '#/components/schemas/DroppedItem' SupportReference: type: string pattern: /[a-zA-Z0-9-._~]+/ description: Internal reference for this delivery; reference it when talking or writing to DoorDash support. example: '86313' ScannedData: title: ScannedData description: Data class representing the scanned barcode data. type: object required: - format properties: format: type: string description: Format of the barcode. Enum ["upc-a","upc-e","ean-13","ean-8","plu","gtin-14","unknown"] example: upc-a is_variable_measure: type: boolean description: Indicates whether the barcode represents a variable measure product with price or weight. example: false indicator_digit: type: string description: The indicator digit, used in Gtin14 barcodes to classify the type of item example: 1 product_code: type: string description: Identifies an item within a given system, used in most barcode formats. example: 200 check_digit: type: string description: Used to verify the integrity of the barcode data, used in most barcode formats. example: 1 country_code: type: string description: Identifies the country where the manufacturer is registered, used in EAN-13 and EAN-8 barcodes. example: 4 manufacturer_code: type: string description: The manufacturer code assigned to the company that produced the product, used in UPC-A, EAN-13, UPC-E. example: 41303 number_system: type: string description: Helps determine the type of barcode and its categorization, used in UPC-A, UPC-E. example: 0 plu_check_digit: type: string description: Price check digit used in variable measure barcodes. example: 5 company_prefix: type: string description: Company prefix is part of Gtin14 barcode, identifying the brand owner or manufacturer. example: 12345 item_reference: type: string description: Identifies a product within a company’s system, used in Gtin14 barcodes. example: 67890 scanned_code_sans_check_digit: type: string description: The scanned barcode excluding the check digit. example: 4130300200 DeliveryPickupDetails: title: DeliveryPickupDetails description: Delivery pickup details. type: object properties: pickup_address: $ref: '#/components/schemas/PickupAddress' pickup_business_name: $ref: '#/components/schemas/PickupAddressName' pickup_phone_number: $ref: '#/components/schemas/PickupPhoneNumber' pickup_instructions: $ref: '#/components/schemas/PickupInstructions' pickup_reference_tag: $ref: '#/components/schemas/ReferenceTag' pickup_external_business_id: $ref: '#/components/schemas/ExternalBusinessId' pickup_external_store_id: $ref: '#/components/schemas/ExternalStoreId' pickup_verification_metadata: $ref: '#/components/schemas/PickupVerificationMetadata' pickup_address_components: title: PickupAddressComponents description: The Pickup address broken down into independent components. Please reach out to Doordash to enable this feature for your business. oneOf: - $ref: '#/components/schemas/PickupAddressComponents_US' - $ref: '#/components/schemas/PickupAddressComponents_CA' - $ref: '#/components/schemas/PickupAddressComponents_AU' - $ref: '#/components/schemas/PickupAddressComponents_NZ' Tip: minimum: 0 type: integer description: The tip amount. Use cents or the equivalent lowest currency denomination (e.g. $5.99 = 599). format: int32 example: 599 PickupAddress: type: string description: Comma-separated full address, in the order appropriate for your locale. Overridden by store properties if pickup_external_store_id and pickup_external_business_id are used. example: 901 Market Street 6th Floor San Francisco, CA 94103 DropoffPhoneNumber: title: Drop-off Phone number type: string description: The phone number for the Dasher to call if there are any issues with the delivery. Should include the country code. Must adhere to E.164 international phone number standard example: '+16505555555' PaymentMethod: type: string description: The payment method to be used by the Dasher while shopping at the store. This is a required field for shop_deliver and shop_stage orders. enum: - red_card - barcode - shop_card - gift_cards DropoffEmailAddress: type: string description: Email address of the dropoff contact. example: john.doe@example.com CustomerExpectedSla: title: CustomerExpectedSla description: The expected delivery time or date shown to the customer. oneOf: - $ref: '#/components/schemas/Day' - $ref: '#/components/schemas/Time_Stamp' PickupAddressName: type: string description: Optional name of the place, overrides name of store when provided. Shown to Dashers to help find the location and to Customer as the store name in SMS and tracking page. example: Wells Fargo SF Downtown ShoppingOptions: title: ShoppingOptions description: Details about how to shop and pay for the delivery for shop_deliver and shop_stage orders type: object required: - payment_method - dropoff_contact_loyalty_number properties: payment_method: $ref: '#/components/schemas/PaymentMethod' payment_barcode: $ref: '#/components/schemas/PaymentBarcode' payment_gift_cards: $ref: '#/components/schemas/PaymentGiftCards' ready_for_pickup_by: type: string description: Estimated time for order pickup by customer in ISO-8601 format, only required for shop_stage orders. example: '2018-08-22T17:20:28Z' dropoff_contact_loyalty_number: type: string description: Loyalty number for the Customer to be applied at the checkout lane. example: 1234-5678-9876-5432-1 PaymentBarcode: type: string description: The token that will be scanned as a barcode at checkout lane as payment for the order in store. example: '12345' SendNotifications: type: boolean description: Whether the contact will receive notifications from DoorDash for this delivery. The default is true. example: true TimeWindow: title: TimeWindowDetails description: The UTC date-time (in ISO-8601 format) overrides dropoff_time and pickup_time when all four parameters of the time window (pickup_window_start_time , pickup_window_end_time , dropoff_window_start_time , dropoff_window_end_time) are provided. type: object properties: start_time: $ref: '#/components/schemas/Time' end_time: $ref: '#/components/schemas/Time' DeliveryItem: title: DeliveryItem description: Details about an individual item in the order. type: object explode: false required: - name - quantity properties: name: type: string description: Name of the item being delivered. pattern: /^.{1,100}$/ example: Mega Bean and Cheese Burrito description: type: string description: Description of the item being delivered. pattern: /^.{1,500}$/ example: Mega Burrito contains the biggest beans of the land with extra cheese. quantity: type: integer format: int32 description: Quantity of the item being delivered. minimum: 1 maximum: 100 example: 2 external_id: type: string description: Unique ID generated by the caller for the item. pattern: /^.{1,100}$/ example: 123-123443434b external_instance_id: type: string description: used to distinguish between multiple items with the same external_id, such as for 2 steaks in the same order with separate weights. Not updatable. example: 12 volume: type: number format: double minimum: 0 maximum: 999.9995 description: Unit volume of 1 instance of this item, in cubic feet, with or without a decimal point. The overall volume of this item is calculated by multiplying this field by quantity. example: 5.3 weight: type: number format: double minimum: 0 maximum: 999.9995 description: Unit weight of 1 instance of this item, in pounds (lbs), with or without a decimal point. The overall weight of this item is calculated by multiplying this field by quantity. example: 2.8 length: type: number format: double minimum: 0 description: Unit length of 1 instance of this item, in inches, with or without a decimal point. example: 2.8 width: type: number format: double minimum: 0 description: Unit weight of 1 instance of this item, in inches, with or without a decimal point. example: 2.8 height: type: number format: double minimum: 0 description: Unit weight of 1 instance of this item, in inches, with or without a decimal point. example: 2.8 price: type: integer format: int32 minimum: 0 maximum: 9999999 description: Unit price of 1 instance of this item in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599. The overall price of this item is calculated by multiplying this field by quantity. example: 1000 barcode: type: string example: 12342830041 description: 'Barcode identifying the item. This value must be in one of the following formats: Data Matrix, AZTEC, Code 128, Code 39, Code 93, CODABAR, EAN 13, EAN 8, ITF, UPC A, UPC E, PDF417. Not updatable.' special_instructions: type: string example: Only Ripen Bananas description: Optional instructions about item, usually requested by customer/merchant item_options: $ref: '#/components/schemas/ItemOptions' adjustment_details: $ref: '#/components/schemas/AdjustmentDetails' dangerous_goods: type: array description: 'Optional list of hazardous-materials declarations for the item. Provide this field when the item contains regulated dangerous goods (e.g. aerosols, lithium batteries). When any entry has `commodity_level_code: limited_quantity` a diamond-shaped LQ hazmat icon will be rendered on the shipping label. ' items: $ref: '#/components/schemas/DangerousGoods' OrderRouteType: type: string description: Type of route required for the delivery ("roundtrip" for deliveries that require the Dasher to return to the pickup location after dropoff). If this field is not specified, the default type is the standard point to point delivery. enum: - roundtrip DuplicateDeliveryIdError: x-error: true type: object description: Error returned when delivery creation request is duplicate and has a delivery already created for it. required: - code - message - external_delivery_id properties: code: type: string enum: - duplicate_delivery_id message: type: string example: Duplicate External Delivery ID external_delivery_id: $ref: '#/components/schemas/ExternalDeliveryId' PickupVerificationUrl: type: string description: Link to the picture taken by the Dasher to indicate where the order was picked up. example: https://doordash-static.s3... OTC: type: boolean description: Flag to specify if the delivery contains otc items. example: false ShoppedItem: title: ShoppedItem description: Details about an individual shopped item in the order. type: object explode: false required: - name - quantity - price - scanned_data_list properties: name: type: string description: Name of the item being delivered. pattern: /^.{1,100}$/ example: Mega Bean and Cheese Burrito description: type: string description: Description of the item being delivered. pattern: /^.{1,500}$/ example: Mega Burrito contains the biggest beans of the land with extra cheese. quantity: type: integer format: int32 description: Quantity of the item being delivered. minimum: 1 maximum: 100 example: 2 external_id: type: string description: Unique ID generated by the caller for the item. pattern: /^.{1,100}$/ example: 123-123443434b external_instance_id: type: string description: used to distinguish between multiple items with the same external_id, such as for 2 steaks in the same order with separate weights. Not updatable. example: 12 weight: type: number format: double minimum: 0 maximum: 999.9995 description: Unit weight of 1 instance of this item, in pounds (lbs), with or without a decimal point. The overall weight of this item is calculated by multiplying this field by quantity. example: 2.8 weight_components: type: array description: An array detailing the components of the weight, if applicable. items: $ref: '#/components/schemas/Weight' weight_unit: type: string description: The weight unit for the item being shopped. Not updatable. enum: - oz - lbs - kg - g requested_item_external_id: type: string description: external_id of the originally requested item pattern: /^.{1,100}$/ example: 123-123443434b substitution_source: type: string description: The source of the item's substitution example: dasher enum: - dasher - customer - merchant scanned_code: type: string description: The barcode or PLU code of the item. example: 1234567890128 addition_source: type: string description: The source of the item's addition example: dasher enum: - dasher - customer requested_item_external_instance_id: type: string description: used to distinguish between multiple items with the same external_id, such as for 2 steaks in the same order with separate weights. Not updatable. example: 12 scanned_data_list: type: array description: A list of ScannedData objects, each representing a possible deconstruction of the scanned barcode. Barcodes can conform to different formats (e.g., UPC-A, EAN-13), and this list captures the parsed components for each possible format. scanned_data_list[0] contains the components for the most likely barcode format (e.g., UPC-A). scanned_data_list[1], scanned_data_list[2], etc., represent the same barcode interpreted under other formats (e.g., EAN-13). The list is ordered by likelihood, with the most probable format appearing first items: $ref: '#/components/schemas/ScannedData' fulfilled_substitution_type: type: string description: An enum to represent how item is fulfilled example: no_substitution enum: - no_substitution - pre_selected - override - contact - generic_substitution - unspecified is_unknown: type: boolean description: Whether the item can be found in DoorDash catalog example: false price: type: integer format: int32 minimum: 0 maximum: 9999999 description: Unit price of 1 instance of this item in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599. The overall price of this item is calculated by multiplying this field by quantity. example: 1000 GivenName: type: string pattern: '[^~`@#\$%\^&\*\+=\?;\[{\]\}]' description: Given/first name of the contact. example: John ReferenceTag: type: string description: A reference that can help Dasher identify the correct delivery item for pick up/drop-off. example: Order number 61 PinCodeValue: type: string pattern: /^\d{4}$/ description: The string identifier that implies the pin code to use during dropoff or return verification. This value should be sent only when the PinCodeType is 'merchant_provided_number'. example: '1234' DropoffOptions: type: object description: Additional options for drop off properties: signature: type: string description: Flag to specify if the delivery requires signature verification during drop off. Not updatable. enum: - required - preferred - none id_verification: type: string description: Flag to specify if ID verification is required at drop-off. If order contains alcohol, this field needs to be set to "required". Not updatable. enum: - required - preferred - none proof_of_delivery: type: string description: Flag to specify if the delivery requires proof of delivery during drop off. When "pin_code" is set as "proof_of_delivery", the "dropoff_pin_code_verification_metadata" must include relevant pin code data. Pin Code can be enabled only for orders that are non-contactless and not unattended deliveries. Please reach out to Doordash to enable this feature for your business. Not updatable. ("photo_preferred" is deprecated.) enum: - photo_required - photo_preferred - pin_code - none catering_setup: type: string description: Flag to specify if the delivery needs catering setup, only applicable to large order fulfillment delivery. Not updatable. enum: - required - none DropoffAddressName: type: string description: Optional name of the place, to help Dashers find the location. example: The Avery Condominium FamilyName: type: string pattern: '[^~`@#\$%\^&\*\+=\?;\[{\]\}]' description: Family/last name of the contact. example: Doe PickupAddressComponents_US: type: object title: United States description: Pick-up Address broken down by components for US properties: street_address: type: - string - 'null' description: The street address of the pick-up location. If you have multiple lines, concatenate them with a comma example: 901 Market Street sub_premise: type: - string - 'null' description: Used to denote the unit number, suite number or apartment number example: Apt. 121 city: type: - string - 'null' description: City for the address example: San Francisco state: type: - string - 'null' description: State for the address. 2 letter state codes for US addresses. For instance, “CA” for California example: CA zip_code: type: - string - 'null' description: Zip code for the address. 5 digit zip code for US addresses. example: 94103 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. “US” for United States of America. “PR” for Puerto Rico example: US ReturnPinCodeVerificationMetadata: title: ReturnPinCodeVerificationMetadata type: object description: This field stores metadata related to PIN code verification during the return to pickup process. It ensures that a return can only be completed once the PIN code is validated. properties: pin_code_type: $ref: '#/components/schemas/ReturnPinCodeType' pin_code_value: $ref: '#/components/schemas/PinCodeValue' OrderContains: title: OrderContains type: object description: An object that specifies the restricted item(s) contained in this order. properties: alcohol: $ref: '#/components/schemas/Alcohol' pharmacy_items: $ref: '#/components/schemas/PharmacyItems' age_restricted_pharmacy_items: $ref: '#/components/schemas/AgeRestrictedPharmacyItems' tobacco: $ref: '#/components/schemas/Tobacco' hemp: $ref: '#/components/schemas/Hemp' otc: $ref: '#/components/schemas/OTC' ExternalDeliveryId: type: string pattern: /[a-zA-Z0-9-._~]+/ description: Unique ID generated by the caller for the delivery. example: D-1763 ReturnAddress: type: string description: If a delivery is being returned-to-pickup, this is the address where the delivery will be returned. example: 901 Market Street 6th Floor San Francisco, CA 94103 ShippingLabel: title: ShippingLabel type: object description: The label for a delivery. properties: label_format: type: string description: The file format of the label. example: zpl enum: - zpl - pdf label_size: type: string description: The size of label. enum: - 4x6 print_density: type: string description: The printing density of label. enum: - 203dpi - 300dpi label_string: type: string description: A Base64-encoded string of label content. example: XlhBCl5DRjAsNjAKXkZPNTAsNTBeRkRTdG9yZU5hbWVeRlMKXkNGMCwzMApeRk81MCwxMTVeRkRTaGlwcGVkIDAxLzE2LzIwMjNeRlMKXkZPNjUwLDYwXkZENS4zIGxic15GUwpeRk82NTAsMTAwXkZEQ0hJLTJeRlMKXkZPNTAsMTcwXkdCNzAwLDMsM15GUwpeQ0YwLDgwCl5GTzUwLDIyNV5GREpvaG4gRG9lXkZTCl5DRkEsMzYKXkZPNTAsMzMwXkZENnRoIEZsb29yXkZTCl5GTzUwLDM4NV5GRDkwMSBNYXJrZXQgU3RyZWV0XkZTCl5GTzUwLDQ0MF5GRFNhbiBGcmFuY2lzY28sIENBIDk0MTAzXkZTCl5GTzUwLDUyMF5HQjcwMCwzLDNeRlMKXkJZMiwzLDIwMApeRk81MCw1NzVeQkNeRkRKM0Q0VE5HUU1QR0FLSE5VNlZSSlA4RjkyRDE3WV5GUwpeQlFOLDIsNwpeRk81NzUsNzc1XkZEUUEsSjNENFROR1FNUEdBS0hOVTZWUkpQOEY5MkQxN1leRlMKXkNGQSwyNApeRk81MCw4NTBeRkRSZWYjIDEyMy0xMjM0NDM0MzRiXkZTCl5DRkEsMzZeRk81MCwxMDUwXkZERGVsaXZlcmVkXkZTCl5DRkIsMzZeRk81MCwxMTAwXkZEQnkgRGFzaExpbmteRlMKXlha== dangerous_goods_icon: type: string description: Icon printed on the shipping label. `limited_quantity` indicates the LQ diamond mark is present on the label. example: limited_quantity enum: - limited_quantity authorization_error: x-error: true type: object description: 'Authorization error: the credentials provided with the request don''t work for the requested operation' required: - code - message properties: code: type: string enum: - authorization_error default: authorization_error message: type: string example: 'Authorization error: the credentials provided with the request don''t work for the requested operation' default: 'Authorization error: the credentials provided with the request don''t work for the requested operation' DeliveryItemsDetails: title: DeliveryItemsDetails description: Details about the individual items included in the order. type: object properties: items: type: array description: The items included in the order. items: $ref: '#/components/schemas/DeliveryItem' DeliveryEmptyBase: title: DeliveryEmptyBase description: Placeholder to get codegen to do what's needed. type: object OriginFacilityId: type: string description: Merchant warehouse id for the midmile example: MERCHANTA-CA-1 DeliveryInputOnlyOptions: title: DeliveryInputOnlyOptions description: Delivery input only options ID. type: object properties: pickup_time: $ref: '#/components/schemas/Time' dropoff_time: $ref: '#/components/schemas/Time' pickup_window: $ref: '#/components/schemas/TimeWindow' dropoff_window: $ref: '#/components/schemas/TimeWindow' customer_expected_sla: $ref: '#/components/schemas/CustomerExpectedSla' expires_by: $ref: '#/components/schemas/ExpiresBy' shipping_label_metadata: $ref: '#/components/schemas/ShippingLabelMetadata' shipping_label_config: $ref: '#/components/schemas/ShippingLabelConfig' DropoffInstructions: type: string pattern: /^[A-Za-z0-9_-]{3,64}$/ description: Instructions for the Dasher to follow when picking up the order. example: Enter gate code 1234 on the callbox. TaxComponent: title: TaxComponent description: Breakdown of the taxes that were charged for this delivery; sums to `tax`. Only returned for deliveries in Canada. type: object required: - type - amount properties: type: type: string description: Name of the tax component. example: gst_hst enum: - tax_type_unspecified - gst_hst - qst - pst - unrecognized amount: type: integer format: int32 description: Amount of the tax component in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599 example: 520 Hemp: type: boolean description: Flag to specify if the delivery contains hemp items. example: false validation_field_error: x-error: true title: ValidationFieldError type: object description: One or more request values couldn't be validated. required: - code - message - field_errors properties: code: type: string enum: - validation_error message: type: string description: One or more request values couldn't be validated. example: One or more request values couldn't be validated. field_errors: type: array description: The list of fields whose values couldn't be validated. See more [error examples](https://developer.doordash.com/en-US/docs/drive/reference/errors) items: $ref: '#/components/schemas/FieldError' readOnly: true components: schemas: FieldError: title: FieldError type: object description: A field whose value couldn't be validated. required: - field - error properties: field: type: string description: Name of the field whose value couldn't be validated. example: pickup_phone_number error: type: string description: The error that was encountered when validating the field's value. example: Invalid phone number format Currency: type: string description: Currency of the order example: USD PromotionId: type: string description: The ID of the promotion that you want to apply to the delivery. If the promotion ID is valid and the promotion is active, the response `fee` will be adjusted according to the details of the promotion. Create a [support ticket](https://developer.doordash.com/portal/support) to setup a promotion or if your promotion ID isn't working. example: ee680b87-0016-496e-ac3c-d3f33ab54c1c PickupAddressComponents_AU: type: object title: Australia description: Pick-up Address broken down by components for AU properties: street_address: type: - string - 'null' description: The street number and address of the pick-up location. If you have multiple lines, concatenate them with a comma. Do not include the unit number or slashes in the street address. Please pass them in the sub_premise field. For example, if the address is 21/17 Jones St, pass 17 Jones St example: 17 Jones St sub_premise: type: - string - 'null' description: Used to denote the unit number, flat number, suite number, or apartment number example: Apt. 121 locality: type: - string - 'null' description: Delivery suburb / town for the address example: North Sydney territory: type: - string - 'null' description: State code for the address. Use the state abbreviation. For instance NSW for New South Wales, VIC for Victoria, etc. example: NSW postal_code: type: - string - 'null' description: Postal code for the address example: 2060 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “AU” for Australia example: AU AgeRestrictedPharmacyItems: type: boolean description: Flag to specify if the delivery contains age restricted pharmacy items. The order is an S3+ pharmacy order which requires ID Verification and can only be delivered to 18+/21+ year olds. example: false DropoffLocation: title: Location type: object description: '[Pre-release field: submit a ticket in the Developer Portal or reach out to your DoorDash contact if you would like to provide precise location information.] The precise location, as latitude and longitude, of the drop-off. If your request includes both location and address, location will be used for Dasher navigation only; address will be used for fee and serviceability checks.' required: - lat - lng properties: lat: type: number format: double description: Latitude of the location example: 123.1312343 lng: type: number format: double description: Longitude of the location example: -37.2144343 DeliveryValueDetails: title: DeliveryValueDetails description: The subtotal for all items in the order, excluding tax/tip. Use cents or the equivalent lowest currency denomination (e.g. $19.99 = 1999). type: object properties: order_value: $ref: '#/components/schemas/OrderValue' currency: $ref: '#/components/schemas/Currency' DeliveryDropoffDetails: title: DeliveryDropoffDetails description: Delivery drop off details. type: object properties: dropoff_address: $ref: '#/components/schemas/DropoffAddress' dropoff_business_name: $ref: '#/components/schemas/DropoffAddressName' dropoff_location: $ref: '#/components/schemas/DropoffLocation' dropoff_phone_number: $ref: '#/components/schemas/DropoffPhoneNumber' dropoff_instructions: $ref: '#/components/schemas/DropoffInstructions' dropoff_contact_given_name: $ref: '#/components/schemas/GivenName' dropoff_contact_family_name: $ref: '#/components/schemas/FamilyName' dropoff_contact_send_notifications: $ref: '#/components/schemas/SendNotifications' dropoff_email_address: $ref: '#/components/schemas/DropoffEmailAddress' dropoff_options: $ref: '#/components/schemas/DropoffOptions' dropoff_address_components: title: DropoffAddressComponents description: The Dropoff address broken down into independent components. oneOf: - $ref: '#/components/schemas/DropoffAddressComponents_US' - $ref: '#/components/schemas/DropoffAddressComponents_CA' - $ref: '#/components/schemas/DropoffAddressComponents_AU' - $ref: '#/components/schemas/DropoffAddressComponents_NZ' dropoff_pin_code_verification_metadata: title: DropoffPinCodeVerificationMetadata description: The Dropoff Pin Code verification related data. Please reach out to Doordash to enable this feature for your business. $ref: '#/components/schemas/DropoffPinCodeVerificationMetadata' return_pin_code_verification_metadata: title: ReturnPinCodeVerificationMetadata description: The return Pin Code verification related data for return process. Please reach out to Doordash to enable this feature for your business. $ref: '#/components/schemas/ReturnPinCodeVerificationMetadata' DasherAllowedVehicles: description: The vehicle type(s) that a Dasher can use to complete this delivery. The default is "car". type: array items: $ref: '#/components/schemas/DasherVehicleType' example: - car - bicycle - walking PickupPhoneNumber: title: Pickup Phone number type: string description: The phone number for the Dasher to call if there are any issues with the pick up. Should include the country code and must match the country of the store for which the delivery is created. Overridden by store properties if pickup_external_store_id and pickup_external_business_id are used. Must adhere to E.164 international phone number standard. example: '+16505555555' OrderRouteItem: description: Enum to specify route item, this is to be combined with the OrderRouteType field. For example, if OrderRouteType is roundtrip, then use OrderRouteItems to specify the item that need to be returned for the roundtrip. type: string enum: - check - cash - pizza_bag ExternalBusinessId: type: string pattern: /^[A-Za-z0-9_-]{3,64}$/ description: The string identifier used to create your business. Used in combination with pickup_external_store_id to select the pick up location. If you provide an pickup_external_business_id, you must also provide an pickup_external_store_id. example: ase-243-dzs ExpiresBy: title: ExpiresBy description: The last time or date the order can be delivered before expiration oneOf: - $ref: '#/components/schemas/Day' - $ref: '#/components/schemas/Time_Stamp' DropoffAddressComponents_AU: type: object title: Australia description: Drop-off Address broken down by components for AU properties: street_address: type: - string - 'null' description: The street number and address of the drop-off location. If you have multiple lines, concatenate them with a comma. Do not include the unit number or slashes in the street address. Please pass them in the sub_premise field. For example, if the address is 21/17 Jones St, pass 17 Jones St example: 17 Jones St sub_premise: type: - string - 'null' description: Used to denote the unit number, flat number, suite number, or apartment number example: Apt. 121 locality: type: - string - 'null' description: Delivery suburb / town for the address example: North Sydney territory: type: - string - 'null' description: State code for the address. Use the state abbreviation. For instance NSW for New South Wales, VIC for Victoria, etc. example: NSW postal_code: type: - string - 'null' description: Postal code for the address example: 2060 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “AU” for Australia example: AU Time_Stamp: title: Time_Stamp description: Time in ISO-8601 format in the local timezone at the dropoff. type: object properties: time_stamp: type: string example: '2018-08-22T17:20:28Z' DasherVehicleType: description: Enum to specify vehicle type. type: string enum: - car - bicycle - walking ReturnPinCodeType: type: string description: An enum that specifies the pin code value type. The values that can be specified are 'merchant_provided_number' (pin code for return verification is the merchant provided 4 digit number), 'random_number' (pin code for return verification is the random 4 digit number generated by DD). enum: - random_number - merchant_provided_number example: merchant_provided_number DroppedItem: title: DroppedItem description: The item that was dropped along with the item information and the reason for being dropped. type: object required: - external_id - type - reason properties: external_id: type: string description: The Merchant's External ID for the item. example: '1011902870' type: type: string description: Type of the item dropped example: main_item enum: - main_item - substitute_item reason: type: string description: Reason why the item was dropped example: item_not_found_in_catalog enum: - item_not_found_in_catalog - item_suspended - item_not_considered Alcohol: type: boolean description: Flag to specify if the delivery contains alcohol. example: false Time: title: TimeDetails description: Time details in ISO-8601 format. type: string example: '2018-08-22T17:20:28Z' Tobacco: type: boolean description: Flag to specify if the delivery contains tobacco items. example: false Contactless: type: boolean description: Whether the delivery should be contactless, which prompts a Dasher to take a picture of the delivery at drop-off. example: false DropoffAddressComponents_US: type: object title: United States description: Drop-off Address broken down by components for US properties: street_address: type: - string - 'null' description: The street address of the drop-off location. If you have multiple lines, concatenate them with a comma example: 901 Market Street sub_premise: type: - string - 'null' description: Used to denote the unit number, suite number or apartment number example: Apt. 121 city: type: - string - 'null' description: City for the address example: San Francisco state: type: - string - 'null' description: State for the address. 2 letter state codes for US addresses. For instance, “CA” for California example: CA zip_code: type: - string - 'null' description: Zip code for the address. 5 digit zip code for US addresses. example: 94103 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “US” for United States of America. “PR” for Puerto Rico example: US Day: title: Day description: Time in day format in the local timezone at the dropoff. type: object properties: day: type: string example: '2018-08-22' TrackingUrl: type: string description: 'Tracking page for the delivery that you can use or share with the sender and/or receiver of the delivery. Note: the URL format is not fixed and may change over time.' example: https://doordash.com/tracking?id= unknown_delivery_error: x-error: true type: object description: External delivery ID was not found. required: - code - message - external_delivery_id properties: code: type: string enum: - unknown_delivery_id message: type: string example: External delivery ID was not found external_delivery_id: $ref: '#/components/schemas/ExternalDeliveryId' PickupVerificationMetadata: title: PickupVerificationMetadata description: Optional pickup verification metadata. Use this to enable order level pickup verification type: object required: - verification_type - verification_code properties: verification_type: type: string description: Enum to set type of verification. example: SCAN_BARCODE enum: - SCAN_BARCODE - SCAN_QRCODE - NO_SCAN verification_code: type: string description: Code to verify upon pickup example: '12345' verification_format: type: string description: Enum to set any specific format to use for verification example: CODE_39 enum: - QR_CODE - DATA - ATRIX - AZTEC - CODE_128 - CODE_39 - CODE_93 - CODABAR - EAN_13 - EAN_8 - ITF - UPC_A - PDF417 FieldError: title: FieldError type: object description: A field whose value couldn't be validated. required: - field - error properties: field: type: string description: Name of the field whose value couldn't be validated. example: pickup_phone_number error: type: string description: The error that was encountered when validating the field's value. example: Invalid phone number format ExternalStoreId: type: string description: 'The string identifier used to create your store. If you provide an pickup_external_store_id, you must also provide an pickup_external_business_id. If you provide an pickup_external_store_id, the address of the store will override the pickup_address in the request. Some examples would look like this: "ase-243-dzs", "09", "#00012"' example: ase-243-dzs CreateRedeliveryInput: title: CreateRedeliveryInput allOf: - $ref: '#/components/schemas/DeliveryEmptyBase' - $ref: '#/components/schemas/DeliveryBase' - $ref: '#/components/schemas/DeliveryPickupDetails' - $ref: '#/components/schemas/DeliveryDropoffDetails' - $ref: '#/components/schemas/DeliveryOptions' - $ref: '#/components/schemas/DeliveryValueDetails' - $ref: '#/components/schemas/DeliveryItemsDetails' - $ref: '#/components/schemas/DeliveryInputOnlyOptions' required: - external_delivery_id type: object properties: external_delivery_id: type: string pattern: /[a-zA-Z0-9-._~]+/ description: Unique ID generated by the caller for the delivery. Must be different than the ID of the existing delivery. example: D-1764 DropoffVerificationUrl: type: string description: Link to the picture taken by the Dasher to indicate where the order was dropped off. example: https://doordash-static.s3... RedeliveryNotAllowedError: x-error: true required: - code - message - reason properties: code: type: string enum: - redelivery_not_allowed message: type: string example: Redelivery is not possible reason: type: string enum: - delivery_not_valid_for_redelivery - redelivery_creation_in_progress - delivery_not_completed_or_cancelled - redelivery_window_closed - distance_too_long - pickup_address_not_in_coverage - delivery_address_not_in_coverage - outside_of_delivery_time OrderFulfillmentMethod: type: string description: Type of fulfillment required for Delivery ("shop_stage", "shop_deliver", "shop_handoff" for DSS/DSD/DSH delivery; "parcel" for parcel delivery. "catering" is deprecated.) enum: - standard - catering - shop_stage - shop_deliver - parcel - large_order - shop_handoff OrderRouteItems: type: array items: $ref: '#/components/schemas/OrderRouteItem' example: - check DeliveryShoppingOptions: title: DeliveryShoppingOptions description: Details about how to shop and pay for the delivery type: object properties: shopping_options: $ref: '#/components/schemas/ShoppingOptions' SignatureRequired: type: boolean description: Whether the delivery requires signature verification during drop-off. example: false DropoffPinCodeVerificationMetadata: title: DropoffPinCodeVerificationMetadata type: object description: An object that specifies the dropoff pin code verification related details for this order. When "pin_code" is set in "dropoff_options.proof_of_delivery", the object must include relevant pin code data. Conversely, if "pin_code" is not set as "proof_of_delivery", the object should exclude any pin code data. Pin Code can be enabled only for orders that are non-contactless and not unattended deliveries. Please reach out to Doordash to enable this feature for your business. properties: pin_code_type: $ref: '#/components/schemas/PinCodeType' pin_code_value: $ref: '#/components/schemas/PinCodeValue' PickupAddressComponents_NZ: type: object title: New Zealand description: Pick-up Address broken down by components for NZ properties: street_address: type: - string - 'null' description: The street address of the pick-up location. If you have multiple lines, concatenate them with a comma example: 236 Majoribanks Street sub_premise: type: - string - 'null' description: Used to denote the unit number, flat number, suite number, or apartment number example: Apt. 121 sub_locality: type: - string - 'null' description: Delivery suburb / town for the address example: Mount Victoria locality: type: - string - 'null' description: Locality for the address example: Wellington postal_code: type: - string - 'null' description: Postal code for the address example: 6011 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “NZ” for New Zealand example: NZ PickupAddressComponents_CA: type: object title: Canada description: Pick-up Address broken down by components for CA properties: street_address: type: - string - 'null' description: The street address of the pick-up location. If you have multiple lines, concatenate them with a comma example: 358 Industry Drive sub_premise: type: - string - 'null' description: Used to denote the unit number, suite number or apartment number example: Apt. 121 city: type: - string - 'null' description: City for the address example: Toronto province: type: - string - 'null' description: Province for the address. 2 letter province codes for Canadian addresses. For instance, “ON” for Ontario example: 'ON' postal_code: type: - string - 'null' description: Postal code for the address example: M4C-1V7 country: type: - string - 'null' description: Country needs to be passed as an ISO 3166 Alpha 2 code. If it is not a valid ISO ALPHA 2 code, you would receive a validation error. “CA” for Canada example: CA PinCodeType: type: string description: An enum that specifies the pin code value type. The values that can be specified are 'customer_phone_number' (pin code for dropoff verification is the customer phone number's last 4 digits), 'merchant_provided_number' (pin code for dropoff verification is the merchant provided 4 digit number), 'random_number' (pin code for dropoff verification is the random 4 digit number generated by DD). The default is 'customer_phone_number' if pin_code is enabled in the proof_of_delivery. enum: - random_number - customer_phone_number - merchant_provided_number example: customer_phone_number PaymentGiftCards: type: array description: List of gift cards use for payment items: PaymentGiftCard: type: string example: - '123443434' - '123443435' Weight: type: number format: double OrderValue: minimum: 0 type: integer description: The subtotal for all items in the order, excluding tax/tip, in the lowest currency denomination (e.g. cents). i.e. $19.99 = 1999. format: int32 example: 1999 DropoffAddress: type: string description: Comma-separated full address, in the order appropriate for your locale. example: 901 Market Street 6th Floor San Francisco, CA 94103 PharmacyItems: type: boolean description: Flag to specify if the delivery contains pharmacy items. example: false ShippingLabelMetadata: title: ShippingLabelMetadata type: object description: A JSON document that allows adding metadata about the shipping label such as sort_code, etc. Please reach out to Doordash to enable this feature for your business. properties: internal_location_id: type: string description: Internal location ID for the shipping label. example: DoordashLocID label_business_name: type: string description: 'Optional brand or display name to print as the "business name" on the rendered shipping label. When set, replaces the business name stored on the parcel for label-rendering purposes only; the underlying business identity on the delivery is unchanged. Omit to print the stored business name. ' example: Brand Co ActionIfUndeliverable: type: string description: What the Dasher should do if the delivery is undeliverable. If left blank, the order will be treated as contactless. See [Create return to pickup deliveries](https://developer.doordash.com/en-US/docs/drive/how_to/return_to_pickup/) for more information. enum: - return_to_pickup - dispose FeeComponent: title: FeeComponent description: Breakdown of the fee that was charged for this delivery; sums to `fee`. type: object required: - type - amount properties: type: type: string description: Name of the fee component. example: distance_based_fee enum: - drive_fee_component_type_unspecified - distance_based_fee - order_value_based_fee - service_fee - mx_subsidy - other - dasher_regulatory_fee - promotion - small_order_fee - flat_fee - dwt_fee - package_fee - fuel_surcharge - delivery_area_surcharge - unrecognized amount: type: integer format: int32 description: Amount of the fee component in the lowest currency denomination (e.g. cents). i.e. $5.99 = 599 example: 1900 DeliveryOptions: title: DeliveryOptions description: Delivery options ID. type: object properties: contactless_dropoff: $ref: '#/components/schemas/Contactless' action_if_undeliverable: $ref: '#/components/schemas/ActionIfUndeliverable' tip: $ref: '#/components/schemas/Tip' order_contains: $ref: '#/components/schemas/OrderContains' dasher_allowed_vehicles: $ref: '#/components/schemas/DasherAllowedVehicles' dropoff_requires_signature: $ref: '#/components/schemas/SignatureRequired' promotion_id: $ref: '#/components/schemas/PromotionId' dropoff_cash_on_delivery: minimum: 0 type: integer description: 'The cash to collect when this order is dropped off, value in the lowest currency denomination (e.g. cents). i.e. $19.99 = 1999. [Pre-release field: [Submit a ticket](https://developer.doordash.com/portal/support) or reach out to your DoorDash contact if you would like to accept cash on delivery.]' format: int32 example: 1999 order_route_type: $ref: '#/components/schemas/OrderRouteType' order_route_items: $ref: '#/components/schemas/OrderRouteItems' PickupInstructions: type: string description: Instructions for the Dasher to follow when picking up the order. example: Go to the bar for pick up. ItemOptions: title: DeliveryItemOptions description: Details about how to shop for an item. Not updatable. type: object required: - substitution_preference - weight_unit properties: substitute_item_ids: description: External IDs for items to be substituted if the original item is out of stock. Not updatable. type: array items: SubstituteItemIDs: type: string example: - '123443434' - '123443435' merchant_recommended_substitute_item_ids: description: Merchant provided external IDs for items to be substituted if the original item is out of stock. Cannot be used simultaneously with substitute_item_ids. Not updatable. type: array items: SubstituteItemIDs: type: string example: - '543443434' - '543443435' substitute_item_ids_additional_metadata: description: Additional metadata for the provided substitute items. The metadata id should match an id from substitute_item_ids or merchant_recommended_substitute_item_ids. Not updatable. type: array items: $ref: '#/components/schemas/SubstituteItemMetadata' example: - id: '123443434' quantity: 1 weight: 2.5 weight_unit: lbs - id: '123443435' quantity: 2 weight_unit: type: string description: The weight unit for the item being shopped. Not updatable. enum: - oz - lbs - kg substitution_preference: type: string description: Substitution preference to apply when an item is out of stock. Not updatable. enum: - refund - contact - substitute ShippingLabelConfig: title: ShippingLabelConfig type: object description: 'Per-order shipping label settings. When provided, fully specifies the label for this order and replaces the business-level shipping label configuration — there is no per-field fallback. Omit the object to use your business-level configuration. Only applies when shipping labels are enabled for your business. ' required: - label_format - label_size properties: label_format: type: string description: The file format of the label. example: zpl enum: - zpl - pdf print_density: type: string description: Required when label_format is zpl. Must not be set when label_format is pdf. example: 203dpi enum: - 203dpi - 300dpi label_size: type: string description: The size of the label. example: 4x6 enum: - 4x6 DeliveryBase: title: DeliveryBase description: Delivery status and details. required: - external_delivery_id type: object properties: external_delivery_id: $ref: '#/components/schemas/ExternalDeliveryId' locale: $ref: '#/components/schemas/Locale' order_fulfillment_method: $ref: '#/components/schemas/OrderFulfillmentMethod' origin_facility_id: $ref: '#/components/schemas/OriginFacilityId' DeliveryResponse: title: DeliveryResponse description: Delivery status and details. required: - external_delivery_id - delivery_status - fee - currency allOf: - $ref: '#/components/schemas/DeliveryEmptyBase' - $ref: '#/components/schemas/DeliveryBase' - $ref: '#/components/schemas/DeliveryPickupDetails' - $ref: '#/components/schemas/DeliveryDropoffDetails' - $ref: '#/components/schemas/DeliveryValueDetails' - $ref: '#/components/schemas/DeliveryItemsDetails' - $ref: '#/components/schemas/ShoppedItemsDetails' - $ref: '#/components/schemas/DeliveryShoppingOptions' - $ref: '#/components/schemas/DeliveryOutput' - $ref: '#/components/schemas/DeliveryOptions' - $ref: '#/components/schemas/DasherDetails' type: object server_fault: x-error: true type: object description: Internal service failure, please try again later. required: - code - message properties: code: type: string enum: - service_fault default: service_fault message: type: string example: Internal service failure, please try again later. default: Internal service failure, please try again later. parameters: ExternalDeliveryIdPath: name: external_delivery_id in: path description: Unique (per developer) ID of the delivery. required: true style: simple explode: false schema: type: string pattern: /[a-zA-Z0-9-._~]+/ description: Unique ID generated by the caller for the delivery. example: D-1763