Order Hierarchy & States
General
Orders have different statuses that depend on the shipping, billing, and item statuses. These statuses help you to track the order progress, inform customers, and troubleshoot.
Depending on the state in the order flow, the Admin API returns status information consisting of the following:
detailedStatus.order
(e.g,order_created
,order_pended
,order_confirmed
)detailedStatus.billing
(e.g.,shipping_open
,shipping_ordered
)detailedStatus.shipping
(e.g.,billing_open
,billing_completed
)items.status
for each item in the order (e.g.,available
,returned
)
The shipping, billing, and item statuses determine the overall status
.
Order status
Overall Order Status
The following order statuses can be triggered during the checkout process. Each order status corresponds to a status in the SCAYLE Panel.
Status | Description | SCAYLE Panel Label |
---|---|---|
order_created or order_open | As soon as the customer enters the checkout (i.e., when an order is created). Or when an order is reverted back from order_pended . | Open |
order_pended | As soon as the customer places an order by clicking on the “Confirmed” button. This triggers the validation process with the chosen Payment Service Provider (PSP). It is possible that the order never leaves the state order_pended (e.g., customer logs out before completing the process). | Payment Pending |
order_confirmed | As soon as the Payment Service Provider validation is successful the state changes to order_confirmed . | Payment Reserved |
order_delegated | The status transitions to order_delegated when the order is delegated to the merchants that are associated with the order items and the order confirmation mail is sent. Now the order is waiting for all shipments to happen. | Payment Reserved |
order_shipped | The status transitions to order_shipped when the merchant shipment notifications have been received for all order items. Some order items could also have been reported as undeliverable. | Shipped |
order_invoiced | The order has reached its final state, all order items were completed. If configured, SCAYLE now also generates full invoices, invoice emails and payment captures, depending on the payment method. The order state is not reached if invoicing is done in an ERP. | Completed |
order_aborted | When all order items fail delegation or when the order is manually cancelled, the order transitions into order_aborted , waiting to be fully cancelled by a worker. | Payment Cancelled |
order_cancelled | The order is fully cancelled. | Payment Cancelled |
order_imported | The order has been imported and will be confirmed shortly. This status generally applies to orders migrated from third party systems. After confirmation, the order will process through all remaining statuses as normal. | - |
order_invoice_error | The order could not be transitioned to order_invoiced | - |
Shipping Status
Status | Description | SCAYLE Panel Label |
---|---|---|
shipping_open | When a customer enters checkout, through payment reservation, until delegation. | New |
shipping_not_deliveable | When the order failed delegation for all items | |
shipping_ordered | When the order is delegated to the merchants associated with the items of the order. | Ordered |
shipping_delivered | When all shipment notifications were received from the merchants | Shipped |
shipping_cancelled | The order is fully cancelled. | Cancelled |
shipping_undeliverable | Information from the merchant indicates the items are not deliverable. | Not deliverable |
shipping_partially_delivered | Some of the order items were shipped and some are yet to be shipped. (deprecated) | Partially undelivered |
shipping_returned | When the order item was shipped and returned. | |
shipping_partially_returned | When order contains at least one returned item but the complete order is not returned. | |
shipping_not_found | The shipment could not be found (deprecated) | |
shipping_partially_undeliverable | Some order items were cancelled. |
Examples
- An order has been confirmed with 3 items and one of them has been marked as undeliverable within the merchant shipment notification. The remaining items wait for shipment
- The shipping status is
shipping_partially_undeliverable
- even if further items are successfully shipped, the order will stay in this shipping status
- if all items are reported as undeliverable, the shipping status changes to
shipping_cancelled
- The shipping status is
- An order has been confirmed with 2 items and one of them has been successfully shipped
- The order is in shipping status
shipping_partially_delivered
- if the second item is also successfully shipped, the order shipping status will be
shipping_delivered
- The order is in shipping status
- An order has been confirmed with 4 items. 3 items succeed delegation, one item is cancelled during delegation
- the shipping status will be in
shipping_partially_undeliverable
, no matter if before or after shipment - if all remaining items are reported as undeliverable via shipment notifications, the status changes to
shipping_cancelled
- if the remaining items succeed shipment, but at least one item has been returned, the status changes to
shipping_partially_returned
- the shipping status will be in
- An order has been confirmed with 2 items and both succeed shipment
- the shipping status will be
shipping_delivered
- if now both items get returned, the shipping status changes into
shipping_returned
- the shipping status will be
Billing Status
Status | Description | SCAYLE Panel Label |
---|---|---|
billing_open | As soon as the customer enters the checkout (i.e., when an order is created). Or when an order is reverted back from payment_pending . | Open |
billing_pending | As soon as the customer places an order by clicking on the “Confirmed” button. | Open |
billing_payment_pending | When the customer confirms they want to order and they are redirected to the payment provider. | Payment Pending |
billing_completed | As soon as all order items are shipped and invoiced. | Completed |
billing_payment_aborted | Customer aborts the payment process between billing_open and billing_payment_pending . (deprecated) | Not used anymore |
billing_payment_cancelled | The order is cancelled due to no deliverable items or customer explicitly cancels the order. Order items are in this state when they were returned or are undeliverable. | Payment Cancelled |
billing_partially_refunded | Some items were refunded or are undeliverable. | |
billing_refunded | The order is refunded. | Refunded |
external_payment_pending | deprecated |
Item Status
The following statuses are possible at the item-level. To understand how status changes at the item level affect the shipping and billing status, see the Order Flow table below.
Status | Description | Corresponding Order State |
---|---|---|
available | Item shipment is open or delegated/ordered. | Shipping |
unavailable | The merchant indicated that the item is not deliverable during delegation. | Shipping |
delivered | The merchant indicated that the item has been shipped. | Delegated |
undeliverable | The item is reported as not deliverable after delegation. | Delegated |
cancelled | The item shipment has been cancelled by the customer. | Shipping |
returned | The item has been returned after shipment. | Invoiced |
Dependencies
The following table outlines which statuses can occur together.
Order Status | Shipping Status | Billing Status | SCAYLE Panel Shipping Status | SCAYLE Panel Billing Status |
---|---|---|---|---|
order_created | shipping_open | billing_open | New | Open |
order_pended | shipping_open | billing_pending | New | Payment Pending |
order_confirmed | shipping_open | billing_pending , billing_payment_pending , external_payment_pending or billing_completed | New | Payment Pending |
order_delegated | shipping_ordered | billing_pending , billing_payment_pending , external_payment_pending or billing_completed | New | Payment Pending |
order_shipped | shipping_delivered | billing_pending , billing_payment_pending , external_payment_pending or billing_completed | Shipped | Payment Pending |
order_invoiced | shipping_delivered , shipping_partially_delivered | billing_payment_pending , external_payment_pending , billing_completed , billing_partially_refunded or billing_refunded | Shipped | Payment Pending, Completed |
order_aborted | shipping_not_deliveable or shipping_cancelled | billing_payment_pending or external_payment_pending | - | Payment Cancelled |
order_cancelled | shipping_cancelled , shipping_undeliverable or shipping_not_deliveable | billing_payment_aborted , billing_payment_cancelled , billing_refunded or billing_denied | Cancelled, Not Deliverable | Payment Cancelled, Refunded |
Admin API
Get an order status
This endpoint is not bound to a specific shop country; however, it still requires the shop country details, identified by the shopKey
and countryCode
, without filtering by the shop country.
SCAYLE allows you to retrieve an order status by order reference key or ID.
This method can be used to get a specific order status by its identifier.
Method Signature
let response = await adminApi.apis.Orders.getOrderStatus({shopKey: shopKey, countryCode: countryCode, orderIdentifier: orderIdentifier});
let orderStatus = response.body;
Parameters
param name | type | required | description |
---|---|---|---|
status | string | true | Phases of order, e.g., cancelled, delivered. read-only |
detailedStatus | OrderDetailedStatus | true | Detailed status of the order |
Get an Order Status example
let response = await adminAPi.apis.Orders.getOrderStatus({shopKey: 'ms', countryCode: 'DE', orderIdentifier: "key=my-key"});
let orderStatus = response.body;