Fulfillment Order
An order can now have multiple shipments. Each shipment is described in a new entity called Fulfillment Order.
Backward compatibility
Fulfillment Order keeps a backward compatibility with Order Shipping Information. Compare the atributes from orders shipping to fulfillment orders.
Orders V1 to Fulfillment Orders
| Order V1 | Fulfillment Orders |
|---|---|
| order.shipping_name | fulfillment_order.recipient.name |
| order.shipping_phone | fulfillment_order.recipient.phone |
| order.shipping_address | fulfillment_order.destination.street |
| order.shipping_number | fulfillment_order.destination.number |
| order.shipping_floor | fulfillment_order.destination.floor |
| order.shipping_locality | fulfillment_order.destination.locality |
| order.shipping_zipcode | fulfillment_order.destination.zipcode |
| order.shipping_city | fulfillment_order.destination.city |
| order.shipping_province | fulfillment_order.destination.province.name |
| order.shipping_country | fulfillment_order.destination.country.name |
| order.shipping_min_days | fulfillment_order.shipping.min_delivery_date (non compatible type) |
| order.shipping_max_days | fulfillment_order.shipping.max_delivery_date (non compatible type) |
| order.shipping_cost_owner | fulfillment_order.shipping.owner_cost.value |
| order.shipping_cost_customer | fulfillment_order.shipping.owner_customer.value |
| order.shipping | fulfillment_order.shipping.carrier.carrier_id |
| order.shipping_option | fulfillment_order.shipping.option_name |
| order.shipping_option_code | fulfillment_order.shipping.option_code |
| order.shipping_option_reference | fulfillment_order.shipping.option_reference |
| order.shipping_pickup_details.* | fulfillment_order.shipping.pickup_details |
| order.shipping_pickup_details.name | fulfillment_order.shipping.pickup_details.name |
| order.shipping_pickup_details.address | fulfillment_order.shipping.pickup_details.address |
| order.shipping_pickup_details.city | fulfillment_order.shipping.pickup_details.city |
| order.shipping_pickup_details.province | fulfillment_order.shipping.pickup_details.province.name |
| order.shipping_pickup_details.pickup_hours | fulfillment_order.shipping.pickup_details.pickup_hours |
| order.shipping_tracking_number | fulfillment_order.tracking_info.number |
| order.shipping_tracking_url | fulfillment_order.tracking_info.url |
| order.shipping_store_branch_name | fulfillment_order.shipping.pickup_details.name |
| order.shipping_pickup_type | fulfillment_order.shipping.type |
| order.shipping_suboption | fulfillment_order.shipping.pickup_details |
| order.shipping_suboption.id | fulfillment_order.shipping.pickup_details.location_id |
| order.shipping_carrier_name | fulfillment_order.shipping.carrier_name |
| order.shipping_address.name | fulfillment_order.recipient.name |
| order.shipping_address.phone | fulfillment_order.recipient.phone |
| order.shipping_address.address | fulfillment_order.destination.street |
| order.shipping_address.number | fulfillment_order.destination.number |
| order.shipping_address.floor | fulfillment_order.destination.floor |
| order.shipping_address.locality | fulfillment_order.destination.locality |
| order.shipping_address.zipcode | fulfillment_order.destination.zipcode |
| order.shipping_address.city | fulfillment_order.destination.city |
| order.shipping_address.province | fulfillment_order.destination.province.name |
| order.shipping_address.country | fulfillment_order.destination.country.name |
| order.shipping_address.customers.reference | fulfillment_order.destination.reference |
| order.shipping_address.customers.between_streets | fulfillment_order.destination.between_streets |
| order.shipping_tracking_number | fulfillment_order.tracking_info.number |
| order.shipping_tracking_url | fulfillment_order.tracking_info.url |
Orders Fulfillment Events V1 to Fulfillment Orders Tracking Events
| Order Fulfillment Events V1 | Fulfillment Order Tracking Events |
|---|---|
| fulfillment_events.id | fulfillment_order.tracking_events.id |
| fulfillment_events.status | fulfillment_order.tracking_events.status |
| fulfillment_events.descritpion | fulfillment_order.tracking_events.description |
| fulfillment_events.city | fulfillment_order.tracking_events.address (non compatible type) * |
| fulfillment_events.province | fulfillment_order.tracking_events.address (non compatible type) * |
| fulfillment_events.country | fulfillment_order.tracking_events.address (non compatible type) * |
| created_at | fulfillment_order.tracking_events.created_at |
| updated_at | fulfillment_order.tracking_events.updated_at |
| happened_at | fulfillment_order.tracking_events.happened_at |
| estimated_delivery_at | fulfillment_order.tracking_events.estimated_delivery_at |
| non exists | fulfillment_order.tracking_events.geolocation |
It's up to each application to define how the tracking address is represented as a string. The fulfillment event's city, province and country could be informed in fulfillment_order.tracking_events.address by concatenating all the information. Eg.: "Some street 31, Some City, Some State, Some Country".
Scopes
| Property | Explanation |
|---|---|
| read_fulfillment_orders | Allows you to read actions of one or more fulfillment orders for a merchant. |
| write_fulfillment_orders | Allows you to write actions of one or more fulfillment orders for a merchant. |
Properties
FulfillmentOrder
| Field Name | Field Type | Description |
|---|---|---|
| id | ID | The unique fulfillment order. (ULID) identification |
| number | String | The unique fulfillment order nice number by store |
| total_quantity | UnsignedInt | The Fulfillment order total line items quantity |
| total_weight | Decimal | The fulfillment order total line items weight |
| total_price | Money | The fulfillment order total line items price |
| assigned_location | FulfillmentOrderAssignedLocation | The fulfillment order assigned location |
| line_items | FulfillmentOrderLineItem[] | The fulfillment order line items |
| recipient | FulfillmentOrderRecipient | The fulfillment order recipient |
| shipping | FulfillmentOrderShipping | The fulfillment order shipping |
| destination | FulfillmentOrderDestination | The fulfillment order destination |
| discounts | FulfillmentOrderDiscount[] | The fulfillment order discounts |
| status | FulfillmentOrderStatus | The fulfillment order status |
| status_history | FulfillmentOrderStatusHistory[] | The fulfillment order status history. Default: []. |
| tracking_info | FulfillmentOrderTrackingInfo | The fulfillment order tracking info |
| tracking_info_history | FulfillmentOrderTrackingInfoHistory[] | The fulfillment order tracking info history. Default: [] |
| tracking_events | FulfillmentOrderTrackingEvent[] | The fulfillment order tracking events. Default: []. |
| fulfilled_at | DateTime | Date when the fulfillment order was sent in ISO 8601 format. Nullable. |
| created_at | DateTime | Date when the fulfillment order was last created in ISO 8601 format. |
| updated_at | DateTime | Date when the fulfillment order was last updated in ISO 8601 format. |
FulfillmentOrderAssignedLocation
| Field Name | Field Type | Description |
|---|---|---|
| location_id | ID | The fulfillment order assigned location identification |
| name | String | The fulfillment order assigned location name |
| address | Address | The fulfillment order assigned location address |
FulfillmentOrderLineItem
| Field Name | Field Type | Description |
|---|---|---|
| id | ID | The fulfillment order line item id |
| external_id | ID | The order external id |
| quantity | UnsignedInt | The fulfillment order line item quantity |
| variant | FulfillmentOrderLineItemVariant | The fulfillment order line item variant |
| product | FulfillmentOrderLineItemProduct | The fulfillment order line item product |
| unit_price | Money | The fulfillment order line item order line line unit price |
| unit_dimension | FulfillmentOrderLineItemDimension | The fulfillment order line item order line line unit dimension. |
| stock_transfer | FulfillmentOrderLineItemStockTransfer | The fulfillment order line item stock transfer information. Always present. |
| kit | FulfillmentOrderLineItemKit | The fulfillment order line item kit information. Nullable — null when the line item is not part of a kit. |
| custom_fields | Key-Value Dictionary | Dictionary with key-value pairs of the line item custom fields. Returned only when aggregates includes custom_fields. The key is the custom field name and the value is the custom field value. |
| created_at | DateTime | Date when the fulfillment order line item was last created in ISO 8601 format. |
| updated_at | DateTime | Date when the fulfillment order line item was last updated in ISO 8601 format. |
FulfillmentOrderLineItemVariant
| Field Name | Field Type | Description |
|---|---|---|
| variant_id | ID | The fulfillment order line item variant identification. |
FulfillmentOrderLineItemProduct
| Field Name | Field Type | Description |
|---|---|---|
| product_id | ID | The fulfillment order line item product identification. |
FulfillmentOrderLineItemDimension
| Field Name | Field Type | Description |
|---|---|---|
| weight | Decimal | The fulfillment order line item dimension weight. |
| width | Decimal | The fulfillment order line item dimension width. |
| height | Decimal | The fulfillment order line item dimension height. |
| depth | Decimal | The fulfillment order line item dimension depth. |
FulfillmentOrderLineItemStockTransfer
| Field Name | Field Type | Description |
|---|---|---|
| from_location_id | String | The location identifier where the stock is being transferred from. Nullable — null when the line item is not part of a stock transfer. |
FulfillmentOrderLineItemKit
| Field Name | Field Type | Description |
|---|---|---|
| catalog_kit_id | String | The catalog kit identifier the line item belongs to. Must be sent together with order_kit_id. |
| order_kit_id | String | The order kit identifier the line item belongs to. Must be sent together with catalog_kit_id. |
FulfillmentOrderRecipient
| Field Name | Field Type | Description |
|---|---|---|
| name | String | The fulfillment order recipient name. |
| phone | String | The fulfillment order recipient phone. Optional |
| identifier | String | The fulfillment order recipient identifier. Optional. |
FulfillmentOrderShipping
| Field Name | Field Type | Description |
|---|---|---|
| type | FulfillmentOrderShippingType | The fulfillment order shipping type. |
| carrier | Carrier | The fulfillment order shipping carrier. |
| option | Option | The fulfillment order shipping option. |
| merchant_cost | Money | The fulfillment merchant shipping option cost. |
| consumer_cost | Money | The fulfillment consumer shipping option cost. |
| min_delivery_date | DateTime | The fulfillment minimum estimated delivery date. Nullable. |
| max_delivery_date | DateTime | The fulfillment maximum estimated delivery date. Nullable. |
| estimated_delivery_time | FulfillmentOrderEstimatedDeliveryTime | The fulfillment order estimated delivery time with the detailed breakdown of days that compose the min/max delivery dates. Nullable. |
| pickup_details | FulfillmentOrderShippingPickupDetails | The fulfillment order shipping pickup details. Nullable. |
| extras | FulfillmentOrderShippingExtraProperty | The fulfillment order shipping extra properties. Eg. {"free_shipping_id": "123456"}. Nullable. |
FulfillmentOrderShippingType
| Type | Description |
|---|---|
| pickup | The fulfillment order shipping type for pickup point shipping options |
| ship | The fulfillment order shipping type for ship shipping options |
| non-shippable | The fulfillment order shipping type for non shippable |
FulfillmentOrderEstimatedDeliveryTime
| Field Name | Field Type | Description |
|---|---|---|
| min | FulfillmentOrderEstimatedDeliveryTimeBase | The minimum estimated delivery time breakdown. Nullable. |
| max | FulfillmentOrderEstimatedDeliveryTimeBase | The maximum estimated delivery time breakdown. Nullable. |
FulfillmentOrderEstimatedDeliveryTimeBase
| Field Name | Field Type | Description |
|---|---|---|
| days | UnsignedInt | The total estimated delivery days, including non-business days. |
| business_days | UnsignedInt | The total estimated delivery business days. |
| date | DateTime | The estimated delivery date in ISO 8601 format. Nullable. |
| aggregate_days | FulfillmentOrderAggregateDaysBase | The detailed breakdown of how the delivery days are composed. Nullable. |
FulfillmentOrderAggregateDaysBase
| Field Name | Field Type | Description |
|---|---|---|
| by_product_handling_days | UnsignedInt | Days added by product handling time. |
| by_transfer_handling_days | UnsignedInt | Days added by stock transfer handling between locations. |
| by_dc_preparation_days | UnsignedInt | Days added by distribution center preparation time. |
| by_dc_non_working_days_skipped | UnsignedInt | Non-working days skipped at the distribution center. |
| by_carrier_pickup_days_and_times_of_cuts | UnsignedInt | Days added by carrier pickup schedules and cut-off times. |
| by_carriers_original_estimated_days | UnsignedInt | Carrier's original estimated delivery days. |
| by_carriers_additional_days | UnsignedInt | Additional days added on top of the carrier's original estimate. |
| by_carrier_non_working_days_skipped | UnsignedInt | Non-working days skipped by the carrier. |
FulfillmentOrderShippingPickupDetails
| Field Name | Field Type | Description |
|---|---|---|
| location_id | String | The fulfillment order shipping pickup detail identification. Ex.: Location ID, IdCentroImposicion (OCA). |
| store_branch_id | String | The fulfillment order shipping pickup detail identification for store_branch_id. This field will be deprecated with store branch features in the future. |
| name | String | The fulfillment order shipping pickup details name |
| address | Address | The fulfillment order shipping pickup details pickup point address |
| pickup_hours | FulfillmentOrderPickupHour[] | The fulfillment order shipping pickup details pickup hours. Default: [] |
FulfillmentOrderPickupHour
| Field Name | Field Type | Description |
|---|---|---|
| day | FulfillmentOrderPickupHourWeekday | The fulfillment order shipping pickup detail pickup the weekday. Eg.: MONDAY. |
| start | String | The fulfillment order shipping pickup detail pickup hour the start hour. Eg.: 0800 |
| end | String | The fulfillment order shipping pickup detail pickup hour the end hour. Eg.: 1800 |
FulfillmentOrderShippingExtraProperty
| Field Name | Field Type | Description |
|---|---|---|
| free_shipping_info | FreeShippingInfo | The shipping extra property for free shipping information. |
| phone_required | Boolean | The shipping option requires a consumer phone number flag indicator. |
| id_required | Boolean | The shipping option requires a consumer document number flag indicator. |
| accepts_cod | Boolean | The shipping option accepts cash on delivery flag indicator. |
| show_time | Boolean | The shipping option must show the estimated delivery time flag indicator. |
| shippable | Boolean | The shipping option is shippable, meaning the package will be sent to the consumer or to the pickup point. |
FreeShippingInfo
| Field Name | Field Type | Description |
|---|---|---|
| free_shipping_id | ID | The fulfillment order shipping free shipping info free shipping identification. |
| consumer_original_cost | Money | The fulfillment order shipping the consumer original cost, without applying the free shipping rules. |
FulfillmentOrderPickupHourWeekday
| Type | Description |
|---|---|
| MONDAY | The fulfillment order pickup hour weekday constant for monday. |
| TUESDAY | The fulfillment order pickup hour weekday constant for tuesday. |
| WEDNESDAY | The fulfillment order pickup hour weekday constant for wednesday. |
| THURSDAY | The fulfillment order pickup hour weekday constant for thursday. |
| FRIDAY | The fulfillment order pickup hour weekday constant for friday. |
| SATURDAY | The fulfillment order pickup hour weekday constant for saturday. |
| SUNDAY | The fulfillment order pickup hour weekday constant for sunday. |
FulfillmentOrderRecipient
| Field Name | Field Type | Description |
|---|---|---|
| name | String | The fulfillment order recipient name. |
| phone | String | The fulfillment order recipient phone. Optional |
| identifier | String | The fulfillment order recipient identifier. Optional. |
FulfillmentOrderDiscount
| Field Name | Field Type | Description |
|---|---|---|
| type | FulfillmentOrderDiscountType | The discount type. |
| amount | Money | The fulfillment order discount amount. |