> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel order by order ID

> When customers order cancellation request is determined to be eligible, this endpoint processes the cancellation by order ID. <p> **Note**: If you do not have the order number, use the corresponding order number-based endpoint - `POST /orders/order-number/{orderNumber}/actions/cancel`.</p>



## OpenAPI

````yaml orders.openapi post /orders/{orderId}/actions/cancel
openapi: 3.0.1
info:
  contact:
    email: support@fabric.inc
    name: fabric Support Team
  description: >-
    fabric **Orders** API is a scalable multi-tenant service designed to
    streamline your order management process. Orders API is a REST and JSON
    driven interface enabling retailers to create orders directly from online
    Storefronts and Point-of-Sale systems, and serve as records of purchase
    transactions to permit retailers to operate against a standard schema with
    varied purchase channels. <p> fabric Orders API creates orders real time in
    the orders database, unifying the order data for users to streamline order
    lifecycle orchestration and customer service operations. It offers a range
    of features including the ability to create orders, get orders, update
    pickup details, and track orders, as well as search for existing orders.
    Also, the Orders API makes it easy to check eligibility of return, cancel,
    and exchange requests as well process them, if eligible. In addition, you
    can flag fraudulent orders based on due diligence, and either release them
    from hold or cancel them altogether. The appeasement feature helps you
    resolve any issues that may arise with an order and keep your customers
    happy. </p>
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  termsOfService: https://fabric.inc/terms-of-use
  title: fabric Orders API
  version: 3.0.0
  x-audience: external-public
servers:
  - description: Production
    url: https://api.fabric.inc/v3
security:
  - authorization: []
tags:
  - description: These endpoints authorize order payments.
    name: Payments
  - description: These endpoints help create appeasement requests.
    name: Appeasements
  - description: >-
      Credits are refunds to customers, often in the form of gift cards or
      credit notes, when customers have made payments with cash or a card that
      has subsequently expired. Credits are provided during order returns and
      appeasements. Use these endpoints to create and manage credits.
    name: Credits
  - description: >-
      These endpoints check eligibility of order cancellation requests and if
      eligible, processes order cancellation.
    name: Cancellations
  - description: These endpoints track orders.
    name: Tracking
  - description: >-
      These endpoints create orders, update pickup details (for BOPIS scenarios)
      and get order details.
    name: Orders
  - description: >-
      These endpoints check eligibility of order return or exchanges requests
      and, if eligible, processes order return or exchanges.
    name: Returns
  - description: These endpoints deal with potential fraud orders.
    name: Frauds
externalDocs:
  description: Find out more about fabric Orders (also called OMS)
  url: https://developer.fabric.inc/v3/docs/orders-overview
paths:
  /orders/{orderId}/actions/cancel:
    post:
      tags:
        - Cancellations
      summary: Cancel order by order ID
      description: >-
        When customers order cancellation request is determined to be eligible,
        this endpoint processes the cancellation by order ID. <p> **Note**: If
        you do not have the order number, use the corresponding order
        number-based endpoint - `POST
        /orders/order-number/{orderNumber}/actions/cancel`.</p>
      operationId: cancelOrder
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCancellationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order not found
                type: CLIENT_ERROR
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '412':
          content:
            application/json:
              example:
                message: >-
                  Order can't be cancelled as there is no line item available
                  for cancellation
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Precondition failed
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
components:
  parameters:
    xFabricTenantId:
      description: >-
        A header used by fabric to identify the tenant making the request. You
        must include tenant id in the authentication header for an API request
        to access any of fabric’s endpoints. You can retrieve the tenant id ,
        which is also called account id, from
        [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
        This header is required.
      example: 5f328bf0b5f328bf0b5f328b
      in: header
      name: x-fabric-tenant-id
      required: true
      schema:
        type: string
    xFabricChannelId:
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required.
      example: '12'
      in: header
      name: x-fabric-channel-id
      required: true
      schema:
        type: string
    xFabricRequestId:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      in: header
      name: x-fabric-request-id
      required: false
      schema:
        type: string
  schemas:
    orderCancellationRequest:
      description: Order cancellation request
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            isPerishable: 'false'
          type: object
        employeeId:
          description: Employee (ID or name) who initiated the order cancellation request
          example: '12312232'
          type: string
        items:
          description: Cancellation request
          items:
            $ref: '#/components/schemas/orderCancelLineItem'
          type: array
        note:
          description: Additional notes, if any
          example: This is a note
          type: string
        policyCode:
          description: >-
            Merchant-defined policy code, varies from merchant to merchant. If
            omitted, the default policy is used.
          example: RC1
          type: string
        reasonCode:
          description: Reason code for cancellation, varies from merchant to merchant
          example: Incorrect order
          type: string
        releaseSoftReservation:
          type: boolean
        source:
          description: >-
            Merchant-defined source from where the cancellation request was
            initiated. There are no pre-defined values; possible values could be
            Customer Service Representative (CSR), point-of-sale (POS), etc.
          example: CSR
          type: string
        subReasonCode:
          description: >-
            Subreason code for order cancellation, for another layer of
            classification
          example: Incorrect specification
          type: string
        requestContext:
          $ref: '#/components/schemas/requestReferenceContextResource'
          description: Request reference context information
      required:
        - reasonCode
      type: object
    orderResponse:
      description: An object containing order details.
      properties:
        adjustmentTotal:
          description: The total amount of price adjustments for all items of the order.
          example: 123.45
          format: double
          type: number
        adjustmentTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total price adjustments applied to all items within an order,
              itemized by each currency used in that order.
          type: array
        adjustments:
          description: >-
            Price adjustments refer to changes or modifications made to the
            listed price of a product. A Customer Sales Representative (CSR)
            makes the price adjustments to provide discounts, promotional
            offers, or coupons that the shopper used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        allocatedAt:
          description: >-
            System-generated order allocation time (UTC) once the order is
            allocated using Allocation service
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        appeasementTotal:
          description: Final appeasement amount
          example: 12.34
          format: double
          type: number
        appeasementTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The final appeasement amount, itemized by each currency used
              within a specific order.
          type: array
        appeasements:
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            fraudCheckStatus: UPDATED
            loyaltyStatus: 'N'
          type: object
        auditLogs:
          items:
            $ref: '#/components/schemas/auditLog'
          type: array
        cancelTotal:
          description: >-
            Amount to be returned after order cancellation, calculated as
            `cancelledQuantity / orderedQuantity * itemTotal`
          example: 12.34
          format: double
          type: number
        cancelTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount to be returned to the customer following an order
              cancellation, itemized by each currency used within the order.
          type: array
        cancellations:
          items:
            $ref: '#/components/schemas/cancellationResource'
          type: array
        cancelledAt:
          description: >-
            System-generated order cancellation time in UTC. This is returned in
            the response of Cancel order by ID - `POST
            /orders/{orderId}/actions/cancel` or Cancel order by order number -
            `POST /orders/order-number/{orderNumber}/actions/cancel` once the
            order is successfully cancelled.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        cartId:
          description: >-
            Unique cart identifier, either from fabric Cart service or an
            external Cart service. It is used for linking an order to a specific
            cart. If available, it is also used for inventory reservation from
            cart workflow.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        channelId:
          description: Sales channel ID
          example: '12'
          type: string
        createdAt:
          description: Order creation time (UTC)
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        currencies:
          $ref: '#/components/schemas/currencies'
          description: The supported currency groups you defined.
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        customer:
          $ref: '#/components/schemas/invoiceCustomer'
        discounts:
          items:
            $ref: '#/components/schemas/orderDiscount'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: '43278'
          type: string
        erroredFields:
          items:
            $ref: '#/components/schemas/erroredField'
          type: array
        feeTotal:
          description: >-
            Recalculated total fee, calculated as `orderedQuantity*
            itemFeeTotal`
          example: 12.34
          format: double
          type: number
        feeTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total fee amount for an order, itemized by each
              currency used within the order.
          type: array
        fees:
          items:
            $ref: '#/components/schemas/orderFeeDetail'
          type: array
        invoiceTotal:
          description: >-
            Total payment captured by fabric Invoice service. If merchant is
            using third-party service, then this amount will be null. For
            partial payment scenarios, this value will be different from
            `orderTotal`.
          example: 12.34
          format: double
          type: number
        invoiceTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total payment captured by fabric's Invoice service, itemized
              by each currency used within the order.
          type: array
        items:
          description: Item details
          items:
            $ref: '#/components/schemas/orderItem'
          maxItems: 2147483647
          minItems: 1
          type: array
        notes:
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderDiscount:
          description: Recalculated order discount
          example: 1.23
          format: double
          type: number
        orderDiscountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total discount applied to the order, itemized by each
              currency used within the order.
          type: array
        orderId:
          description: 24-character system-generated order ID
          example: 5349b4ddd2781d08c09890f4
          type: string
        orderNumber:
          description: >-
            Merchant-defined order identifier. If omitted, this is generated by
            fabric's sequence generator using Configuration service
          example: '309019176'
          type: string
        orderExternalId:
          type: string
          description: >
            A merchant-defined external order identifier.  

            This field is optional and can be used to reference the order in
            external 

            systems such as an ERP, OMS, or CRM.
          example: 191763090_O1231
        orderReleasedAt:
          description: >-
            Order released time (UTC). When an order is placed, its status is On
            Hold by default and the duration of hold may vary from merchant to
            merchant (~1 min). After the hold period, the order is released from
            hold.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        orderSubtotal:
          description: Recalculated `orderSubtotal` - `summationOfAll(itemSubTotal)`
          example: 123.45
          format: double
          type: number
        orderSubtotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated subtotal for the entire order, itemized by each
              currency used within the order.
          type: array
        orderTotal:
          description: >-
            Total amount to be charged for the order = `orderSubTotal` -
            `orderDiscountTotal` + `orderFeeTotal` + `orderTaxTotal`
          example: 146.9
          format: double
          type: number
        orderTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount to be charged for the order, itemized by each
              currency used within the order.
          type: array
        orderedAt:
          description: >-
            Merchant-defined order creation time in UTC. It is mandatory in the
            request body of Create Order endpoint - `POST /orders`.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        originalAdjustmentTotal:
          description: Original adjustment total
          example: 123.45
          format: double
          type: number
        originalAdjustmentTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total value of adjustments made to an order, itemized
              by each currency used within the order.
          type: array
        originalDiscount:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed. This is saved for reference in case the value
            changes later.
          example: 1.45
          format: double
          type: number
        originalDiscountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial discount applied to an order, itemized by each
              currency used within the order.
          type: array
        originalFeeTotal:
          description: >-
            System-generated total fees, auto-filled by Orders service when the
            order is placed.
          example: 12.34
          format: double
          type: number
        originalFeeTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total fee amount, itemized by each currency used
              within the order.
          type: array
        originalOrderTotal:
          description: >-
            System-generated order total, auto-filled by Orders service when the
            order is placed. This is saved for reference in case the
            `orderTotal` changes later.
          example: 146.9
          format: double
          type: number
        originalOrderTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total cost of the entire order, itemized by each
              currency used within the order.
          type: array
        originalSubtotal:
          description: >-
            System-generated order subtotal, auto-filled by Orders service when
            the order is placed. This is saved for reference in case the value
            changes later.
          example: 113.45
          format: double
          type: number
        originalSubtotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial subtotal of the entire order, itemized by each
              currency used within the order.
          type: array
        originalTaxTotal:
          description: >-
            System-generated total tax, auto-filled by Orders service when the
            order is placed.
          example: 12.34
          format: double
          type: number
        originalTaxTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total tax amount for an order, itemized by each
              currency used within the order.
          type: array
        payments:
          items:
            $ref: '#/components/schemas/orderPayment'
          type: array
        retail:
          $ref: '#/components/schemas/orderRetail'
        returnTotal:
          description: >-
            Return total of order, for return scenarios, calculated as
            `summationOfAll(itemReturnTotal)`
          example: 12.34
          format: double
          type: number
        returnTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount returned for an order, itemized by each currency
              used within the order.
          type: array
        returns:
          items:
            $ref: '#/components/schemas/orderReturnsInfo'
          type: array
        shipInfo:
          items:
            $ref: '#/components/schemas/orderShipInfo'
          maxItems: 2147483647
          minItems: 1
          type: array
        statusCode:
          description: >-
            Status code. There are no pre-defined values; possible values are -
            ORDER_ALLOCATED ("Order Allocated"), ORDER_SHIPPED ("Order
            Shipped"), ORDER_PARTIALLY_SHIPPED ("Order Partially Shipped"),
            ORDER_PICKED_UP ("Order Picked Up"), ORDER_PARTIALLY_PICKED_UP
            ("Order Partially Picked Up"), ORDER_DELIVERED ("Order Delivered"),
            ORDER_PARTIALLY_DELIVERED ("Order Partially Delivered"),
            ORDER_RETURNED ("Order Returned"), ORDER_HOLD_EXTERNAL ("Order on
            Hold") etc.
          example: ORDER_CREATED
          type: string
        statusDescription:
          description: Human-readable brief description based on `statusCode`
          example: Order Created
          type: string
        subtype:
          description: Order subtype, for further classification
          enum:
            - IOS
            - ANDROID
            - INTERNATIONAL
          example: INTERNATIONAL
          type: string
        taxTotal:
          description: >-
            Recalculated total tax on order
            `summationOfAll(itemTaxTotal)+summationOf(tax[].value)`
          example: 12.34
          format: double
          type: number
        taxTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total tax amount, itemized by each currency used
              within that order.
          type: array
        type:
          description: >-
            Order type is critical for the order life cycle as it indicates the
            workflow. For example, storefront orders have a different workflow
            than call center orders. fabric Orders service offers standard
            configurations for storefront, call center, point of sale, iOS,
            Android, and international.
          enum:
            - WEB
            - CSC
            - MOBILE_APP
            - POS
          example: WEB
          type: string
        transactionLogs:
          type: array
          items:
            $ref: '#/components/schemas/requestReferenceContextResource'
        updatedAt:
          description: Time of last update to order (UTC)
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        version:
          description: >-
            Current version of order document. Indicates the number of times the
            order is updated by any operation.
          example: 2
          format: int64
          type: integer
      required:
        - channelId
        - items
        - orderNumber
        - shipInfo
        - statusCode
        - version
      type: object
    errorResponse:
      description: Error response
      properties:
        errors:
          description: Errors
          items:
            $ref: '#/components/schemas/errorResponse'
          type: array
        message:
          description: Error message
          example: Bad request
          type: string
        type:
          description: Error type
          example: CLIENT_ERROR
          type: string
      type: object
    orderCancelLineItem:
      description: An object containing the cancellation details of an item.
      properties:
        attributes:
          description: Custom attributes
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        itemUnitNumber:
          description: Item unit number cancelled.
          example: 1
          format: int32
          type: integer
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: '12'
          type: string
        quantity:
          description: Quantity of given item to be cancelled
          example: 1
          format: int32
          minimum: 1
          type: integer
        reasonCode:
          description: >-
            Merchant-defined reason code for item cancellation; varies from
            merchant to merchant
          example: Incorrect item
          type: string
        subReasonCode:
          description: >-
            Subreason code for item cancellation, for another layer of
            classification.
          example: Not the right color
          type: string
      required:
        - itemUnitNumber
        - lineItemId
        - quantity
      type: object
    requestReferenceContextResource:
      type: object
      description: Request reference context information
      properties:
        id:
          type: string
          description: System-generated unique identifier (UUID format)
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
        type:
          type: string
        requestId:
          type: string
          description: request id
          readOnly: true
        requestTime:
          type: string
          format: date-time
          description: System-generated order creation time
          example: '2022-04-12T09:30:31.198Z'
        attributes:
          type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key: value pairs).
          example:
            attribute: 'N'
            someFlag: true
    amountInCurrencyResource:
      description: Amount in currency object details.
      properties:
        amount:
          description: The amount displayed in the primary currency.
          example: 123.45
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    adjustmentDetail:
      description: Price adjustment details object.
      properties:
        adjustmentCounter:
          description: Sequential or incremental counter for price adjustment
          example: 1
          format: int32
          type: integer
        amount:
          description: Adjustment amount
          example: 2.4
          format: double
          type: number
        amountInCurrencies:
          description: >-
            The adjustment amount, itemized by each currency used within the
            order.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key-value pairs.
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        cancelQuantity:
          description: Cancel quantity
          example: 2
          format: int32
          type: integer
        invoiceQuantity:
          description: Total quantity invoiced
          example: 10
          format: int32
          type: integer
        notes:
          description: Placeholder for additional info, if any.
          example: Any additional info
          type: string
        quantity:
          description: Adjustment quantity
          example: 2
          format: int32
          type: integer
        reasonCode:
          description: Reason code
          example: RFC
          type: string
        returnQuantity:
          default: 0
          description: Returned quantity of given item
          example: 1
          format: int32
          type: integer
        subReasonCode:
          description: Subreason code
          example: Late shipping
          type: string
      type: object
    orderAppeasementDetail:
      description: The order appeasement details object containing appeasement details.
      properties:
        amount:
          description: >-
            Merchant-defined appeasement amount, which should not exceed
            (`charged amount` - `already refunded amount`).
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The appeasement amount specified by the merchant, which must not
              be greater than the difference between the charged amount and any
              amounts already refunded, itemized by each currency used within
              the order.
          type: array
        appeasementCounter:
          description: >-
            Sequential or incremental counter for appeasement. Used for keeping
            track of duplicates in the request. If omitted in the request, it is
            automatically generated and will not be used to check duplicates.
            Multiple appeasement calls for the same order can cause repetition
            of appeasement counter and may cause the request to be rejected
            completely.
          example: 1
          format: int32
          type: integer
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key: value pairs
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 34.56
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              System-generated amount from Invoice service based on requested
              `amount` in all currencies used by an order.
          type: array
        payments:
          items:
            $ref: '#/components/schemas/orderAppeasementPaymentInfo'
          type: array
        reasonCode:
          description: >-
            Merchant-defined appeasement reason code; varies from merchant to
            merchant.
          example: Incorrect Item
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        subReasonCode:
          description: Subreason code for appeasement, for another layer of classification
          example: Late shipping
          type: string
      type: object
    auditLog:
      description: Audit log to capture change history
      properties:
        amount:
          description: Amount for which audit is done
          example: 2.4
          format: double
          type: number
        attributes:
          description: Custom attributes
          example:
            key: value
          type: object
        auditId:
          description: System-generated audit ID (UUID format)
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
          type: string
        auditType:
          description: Audit type such as cancel, return, etc.
          example: CANCEL
          type: string
        auditedAt:
          description: Audit time (UTC)
          example: '2023-03-12T09:24:54.804Z'
          format: date-time
          type: string
        employeeId:
          description: Employee (ID or name) who made the last update
          example: '6227'
          type: string
        isSuccess:
          default: false
          description: >-
            true: Update operation (any update to the service) is successful 
            false: Update operation has failed
          example: true
          type: boolean
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it during order creation, in UUID
            format.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        lineItemNumber:
          description: Item identifier
          example: 1
          format: int32
          type: integer
        note:
          description: Additional info, if any
          example: Note
          type: string
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
        policyCode:
          description: >-
            Configurable in Copilot as per requirement. If omitted, default
            policy is used.
          example: POS
          type: string
        quantity:
          description: Ordered quantity of given item
          example: 1
          format: int32
          type: integer
        reasonCode:
          description: Merchant-defined reason code, varies from merchant to merchant
          example: Scratched item
          type: string
        sku:
          description: Stock keeping unit (SKU), unique item identifier
          example: SKU0023
          type: string
        source:
          description: >-
            Merchant-defined source from where the update was initiated. There
            are no predefined values; possible values could be Customer Service
            Representative (CSR), Point-of-Sale (POS), etc.
          example: POS
          type: string
        subReasonCode:
          description: >-
            Merchant-defined sub reason code; provides more clarity to audit
            reason
          example: Scratched item
          type: string
        updatedFields:
          description: Audit log for change history
          items:
            $ref: '#/components/schemas/orderAuditLogUpdatedField'
          type: array
      type: object
    cancellationResource:
      description: Cancellation resource
      properties:
        amount:
          description: Amount
          example: '-20.'
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount, itemized by each currency used within a specific
              order.
          type: array
        attributes:
          description: Custom attributes
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        cancellationCounter:
          description: An identifier used for cancellations.
          example: 1
          type: string
        invoicedAmount:
          description: Invoiced amount
          example: '-20.'
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The invoiced amount will be displayed in all currencies used for
              the order. If only a single currency was used, then only that
              currency will be shown.
          type: array
        payments:
          items:
            $ref: '#/components/schemas/paymentReference'
          type: array
        reasonCode:
          description: Reason code
          example: Order Line Cancel
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        status:
          description: Cancellation Status
          enum:
            - PROCESSING
            - COMPLETED
            - REJECTED
          example: PROCESSING
          type: string
        subReasonCode:
          description: Sub reason code
          example: Late shipping
          type: string
      type: object
    currencies:
      description: currencies
      properties:
        groups:
          items:
            $ref: '#/components/schemas/currencyGroup'
          type: array
        primaryCurrency:
          description: Primary currency for order
          example: SHOPPER
          type: string
      type: object
    invoiceCustomer:
      description: Invoice customer
      properties:
        accountId:
          description: >-
            Customer's loyalty account ID or external identifier that is used to
            track their loyalty program activity and rewards earned.
          example: 62272e917b12209e68751d94
          type: string
        company:
          description: Shopper's company name. This may be used for company discounts.
          example: Demo Inc
          type: string
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        employeeId:
          description: Employee (ID or name) who initiated an update request
          example: 62272e917b12209e68751d94
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        userId:
          description: >-
            Identifier of the logged in user who initiated the request. This
            could be from either fabric Identity service or an external Identity
            service.
          example: 62272e917b12209e68751d94
          type: string
      type: object
    orderDiscount:
      description: An object containing all the discount details for an order.
      properties:
        amount:
          description: Discounted amount for the given `quantity` within an order.
          example: 2.99
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              Discounted amount for the given `quantity`, itemized by each
              currency used within the order.
          type: array
        invoiceQuantity:
          description: >-
            Total quantity invoiced. If customer placed order for 10 quantity of
            an item and only 2 got shipped, then 2 is the `invoiceQuantity`.
          example: 10
          format: int32
          type: integer
        promotionCode:
          description: >-
            Promotion code used by shoppers to take advantage of an ongoing
            promotion.
          example: HNY2022
          type: string
        promotionId:
          description: >-
            Unique promotion ID either from fabric Offers service or external
            Offers service. When fabric Offers service is used, this is the
            24-character system-generated promotion ID returned in the response
            of create promotion endpoint.
          example: HNY2022
          type: string
        promotionName:
          description: Promotion name
          example: New Year
          type: string
        quantity:
          description: >-
            Number of discounted items in an order such as buy 2 get 1 free. In
            this case 1 is the discounted quantity.
          example: 1
          format: int32
          type: integer
        unit:
          description: Indicates whether the discount is in amount or percentage
          example: AMOUNT_OFF
          type: string
        value:
          description: Value corresponding to `unit`
          example: 10
          format: int32
          type: integer
      type: object
    erroredField:
      description: >-
        An object containing information on error fields, error messages, and
        the amended status.
      properties:
        amended:
          description: A boolean that signifies if the error has been amended.
          example: false
          type: boolean
        errorMessage:
          description: The reason the error occurred.
          example: Invalid email address
          type: string
        fieldName:
          description: The name of the field where the error occurred.
          example: shipInfo.shipToAddress.email
          type: string
      required:
        - amended
        - errorMessage
        - fieldName
      type: object
    orderFeeDetail:
      description: An object containing an orders fee details.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total tax amount, itemized by each currency used within the
              order.
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 34.56
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              A System-generated amount returned from the Invoice service based
              on requested `amount` in all currencies used by an order.
          type: array
        name:
          description: Applied tax name
          example: STATE
          type: string
        rate:
          description: Rate
          example: 10
          format: double
          type: number
        rateType:
          description: Rate type
          example: PERCENTAGE
          type: string
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    orderItem:
      description: An object containing an orders item details.
      properties:
        adjustments:
          description: >-
            Price adjustments are made to modify product prices during order
            creation, aiming to incentivize shoppers by offering discounts and
            promotions based on specified criteria. Price adjustments are also
            made to apply coupons that the shopper has used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        appeasementTotal:
          description: >-
            Appeasement total = `summationOfAll(appeasements[].amount and
            items[].appeasements[].amount)`
          example: 5.5
          format: double
          type: number
        appeasementTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total appeasement amount, calculated as the sum of all
              `appeasements[].amount` and `items[].appeasements[].amount`
              values, expressed in all currencies used within the order.
          type: array
        appeasements:
          description: Appeasement info
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            colorCode: '001'
            isDonation: 'false'
            style: '570223020'
          type: object
        backOrderedQuantity:
          description: Backordered quantity of given item
          example: 10
          format: int32
          type: integer
        cancellations:
          items:
            $ref: '#/components/schemas/cancellationItemResource'
          type: array
        cancelledAmount:
          description: >-
            Cancelled amount is either voided (payment is only authorized but
            not captured at checkout) or refunded (amount is authorized and
            captured at checkout).
          example: 12.4
          format: double
          type: number
        cancelledAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount cancelled, itemized by each currency used within
              the order.
          type: array
        cancelledQuantity:
          description: Cancelled quantity of an item
          example: 10
          format: int32
          type: integer
        channelId:
          description: Sales channel ID
          example: WHBM
          type: string
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        deliveredQuantity:
          description: Delivered quantity of an item
          example: 10
          format: int32
          type: integer
        discounts:
          description: Discount details
          items:
            $ref: '#/components/schemas/orderDiscount'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: 5345HJH
          type: string
        exchangeQuantity:
          description: System-generated item quantity that are exchanged
          example: 13
          format: int32
          type: integer
        fees:
          description: Fee details
          items:
            $ref: '#/components/schemas/itemFeeDetails'
          type: array
        fulfillment:
          $ref: '#/components/schemas/itemFulfillmentResource'
        hasInfiniteConsent:
          description: >-
            Applicable for backorder and preorder scenarios where customer
            consents for further delay in delivery of preordered and backordered
            items than the initial estimate. **true:** Customer consents for
            delayed delivery. **false:** Customer does not consent for delayed
            delivery.
          example: true
          type: boolean
        invoiceTotal:
          description: Invoice total is updated once invoice created
          example: 800
          format: double
          type: number
        invoiceTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount to be charged for the invoice, itemized by each
              currency used within the order.
          type: array
        invoicedQuantity:
          description: Invoiced quantity of an item
          example: 10
          format: int32
          type: integer
        isBackorder:
          description: >-
            Merchant-defined value. **true:** Backordered item. **false:**
            Ordered item.
          example: true
          type: boolean
        isDonation:
          description: '**true:** Item is a donation. **false:** Item is not a donation.'
          example: true
          type: boolean
        isExchangeItem:
          description: >-
            Merchant-defined value for exchange scenarios. **true:** Item is an
            exchange. **false:** Item is not an exchange.
          example: true
          type: boolean
        isGifting:
          description: '**true:** Item is a gift. **false:** Item is not a gift.'
          example: true
          type: boolean
        isPreorder:
          description: >-
            Merchant-defined value. **true:** Pre-ordered item. **false:**
            Ordered item.
          example: true
          type: boolean
        isFulfillable:
          type: boolean
          description: >
            Determines whether an **Allocation** document must be created before
            fulfillment.  

            - If `false`, the allocation step is skipped and the process
            continues directly to **Invoice & Payment Capture**.  

            - If omitted, the system defaults to `true`.
          example: true
          default: true
        isInventoryManaged:
          type: boolean
          description: >
            Indicates whether the **On-Hand / Available to Purchase** quantity
            is managed in fabric OMS.  

            - If `false`, inventory management is bypassed and no inventory
            document is created in OMS.  

            - If omitted, the system defaults to `true`.
          example: true
          default: true
        itemAdjustmentTotal:
          description: Total price adjustment made to the item.
          example: 123.45
          format: double
          type: number
        itemAdjustmentTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        itemDiscountsTotal:
          description: >-
            Item's total discount = `summationOfAll(discounts[].amount)'. Refer
            to `amount` in `orderDiscount`.
          example: 80
          format: double
          type: number
        itemDiscountsTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total discount applied to an item, calculated as the sum of
              all `discounts[].amount` values, expressed in all currencies used
              within the order.
          type: array
        itemFeeTotal:
          description: >-
            Recalculated item's fee = `summationOfAll(itemFeeTotal)`. Refer to
            `amount` in `itemFeeDetails`
          example: 200
          format: double
          type: number
        itemFeeTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated fee for an item, calculated as the sum of all
              `itemFeeTotal` values, expressed in all currencies used within the
              order.
          type: array
        itemId:
          description: >-
            System-generated unique identifier of item from fabric Products
            (PIM) service
          example: 1234
          format: int32
          type: integer
        itemName:
          description: Item name
          example: Item
          type: string
        itemShippingTotal:
          description: Merchant-defined item's shipping total
          example: 10
          format: double
          type: number
        itemShippingTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total shipping cost for an item, expressed in all
              currencies used within the order.
          type: array
        itemSubtotal:
          description: >-
            Recalculated item's subtotal = `itemUnitPrice x (orderedQuantity -
            cancelledQuantity)`
          example: 600
          format: double
          type: number
        itemSubtotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated subtotal for an item, calculated as `itemUnitPrice x
              (orderedQuantity - cancelledQuantity)`, itemized by each currency
              used within the order.
          type: array
        itemSubtype:
          description: Subtype of `type`, for another layer of classification.
          example: Borderfree
          type: string
        itemTaxTotal:
          description: Recalculated total tax on item = `summationOfAll(itemTaxTotal)`
          example: 80
          format: double
          type: number
        itemTaxTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total tax on an item, calculated as the sum of all
              `itemTaxTotal` values, itemized by each currency used within the
              order.
          type: array
        itemTotal:
          description: >-
            Recalculated item's total cost = `itemSubTotal - itemDiscountTotal 
            + itemTaxTotal + itemFeeTotal`.
          example: 800
          format: double
          type: number
        itemTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The updated total cost of an item, calculated as `itemSubTotal -
              itemDiscountTotal + itemTaxTotal + itemFeeTotal`, itemized by each
              currency used within the order.
          type: array
        itemUnitPrice:
          description: Item's unit price
          example: 10
          format: double
          type: number
        itemUnitPriceInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The price of a single unit of an item, itemized by each currency
              used within the order.
          type: array
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: d538b1f1-0e45-43c6-bfc6-9666fc1188ca
          type: string
        lineItemNumber:
          description: Merchant-defined line item number to identify each item in an order
          example: 1
          format: int32
          type: integer
        lineOrderStatus:
          description: >-
            System-generated status for each item in the orders - SHIPPED,
            RETURNED, CANCELLED, EXCHANGED, VALID, and the like
          example: VALID
          type: string
        notes:
          description: >-
            For additional information, to be used by Customer Service
            Representative (CSR) only
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderedQuantity:
          description: Ordered quantity of given item
          example: 60
          format: int32
          type: integer
        orderedQuantityToShip:
          description: >-
            Quantity of given item that is yet to ship, out of the initially
            allocated quantity. For example, if a customer orders four units of
            an item, inventory will reserve four units of the item. If only two
            units are currently available and are shipped, the remaining two
            units will be considered as the `pendingShippedQuantity`.
          example: 10
          format: int32
          type: integer
        originalDiscounts:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed.
          example: 50
          format: double
          type: number
        originalDiscountsInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial discounts applied, itemized by each currency used
              within a specific order.
          type: array
        originalFeeTotal:
          description: >-
            System-generated fee total, auto-filled by fabric Orders when the
            order is placed. This is saved for reference in case the value
            changes later.
          example: 300
          format: double
          type: number
        originalFeeTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total fee amount, itemized by each currency used
              within a specific order.
          type: array
        originalItemAdjustmentTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total value of item adjustments, itemized by each
              currency used within a specific order.
          type: array
        originalItemSubtotal:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed.
          example: 800
          format: double
          type: number
        originalItemSubtotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial subtotal for an item, itemized by each currency used
              within a specific order.
          type: array
        originalItemTotal:
          description: >-
            System-generated item total cost, auto-filled by Orders service when
            the order is placed
          example: 500
          format: double
          type: number
        originalItemTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total cost of an item, itemized by each currency used
              within a specific order.
          type: array
        originalOutstandingItemTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial outstanding total cost of items that had not yet been
              paid for, itemized by each currency used within a specific order.
          type: array
        originalShippingTotal:
          description: >-
            System-generated total shipping cost, auto-filled by Orders service
            when the order is placed.
          example: 80
          format: double
          type: number
        originalShippingTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total shipping cost, itemized by each currency used
              within a specific order.
          type: array
        originalTaxTotal:
          description: >-
            System-generated total tax, auto-filled by Orders service when the
            order is placed.
          example: 90
          format: double
          type: number
        originalTaxTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The initial total tax amount, itemized by each currency used
              within a specific order.
          type: array
        outstandingItemTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The remaining total cost of items that have not yet been paid for,
              itemized by each currency used within a specific order.
          type: array
        parentLineItemNumber:
          description: >-
            Applicable in exchange scenarios. Item being returned is the
            `parentLineItemNumber`.
          example: 12
          format: int32
          type: integer
        pendingExchangeQuantity:
          description: System-generated item quantity pending for exchange
          example: 12
          format: int32
          type: integer
        pendingReturnQuantity:
          description: >-
            Quantity of an item awaiting approval for return. For example, when
            customer initiates return request for 2 units of an item, the
            request will be initially in a pending status because they are
            awaiting approval from merchant. They are referred to as
            `pendingReturnQuantity`.
          example: 10
          format: int32
          type: integer
        pendingShippedBackOrderQuantity:
          description: >-
            Backordered quantity that is yet to be shipped. For example, If a
            customer places a backorder for four units of an item, inventory
            will reserve four units of the item to ship when they become
            available. If only two units are available and are shipped, the
            remaining two backordered units will be considered as the
            `pendingShippedBackOrderQuantity`.
          example: 10
          format: int32
          type: integer
        processingReturnQuantity:
          description: >-
            Quantity of an item currently being processed for return. For
            example, when merchant approves return of 1 out of 2 units of an
            item, then 1 is the `processingReturnQuantity`
          example: 10
          format: int32
          type: integer
        quantityInStatus:
          $ref: '#/components/schemas/quantityInStatus'
        refundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total refund amount, itemized by each currency used within a
              specific order.
          type: array
        rejectedReturnQuantity:
          description: >-
            Quantity of an item rejected in return request. For example, For
            example, when merchant rejects return of 1 out of 2 units of an
            item, then 1 is the `rejectedReturnQuantity`.
          example: 10
          format: int32
          type: integer
        reshippedQuantity:
          description: Reshipped quantity of given item (in case of lost shipment)
          example: 10
          format: int32
          type: integer
        returnedQuantity:
          description: Returned quantity of given item
          example: 10
          format: int32
          type: integer
        returns:
          description: Order return details
          items:
            $ref: '#/components/schemas/orderReturns'
          type: array
        shipToId:
          description: >-
            System-generated ship-to ID (UUID) associated with `shipInfo`,
            generated from CnC service. **Note**: An order can have multiple
            ship-to (delivery) locations and items going to the one location
            will have the same `shipToId`.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        shippedQuantity:
          description: Shipped quantity of an item
          example: 10
          format: int32
          type: integer
        sku:
          description: Stock keeping unit (SKU), unique identifier of item
          example: P1234
          type: string
        taxCode:
          description: Applicable tax code, varies from state to state
          example: FR01
          type: string
        taxDetails:
          description: Tax details
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
        type:
          description: >-
            Order type. Critical in order life cycle as it indicates the
            workflow that varies with the type. For example, Storefront orders
            have a different workflow than Call Center orders. fabric Orders
            service offers default configurations for Storefront, Call Center,
            Point of Sale, iOS, Android, and International.
          example: WEB_SHIP
          type: string
        uom:
          description: >-
            Unit in which a product is sold or measured. It is important to
            accurately fulfill orders and ensure customers receive the correct
            quantity of products they have ordered. The possible values are EA
            (Each) or GAL (Gallon), DZ (Dozen), etc.
          example: EA
          type: string
        vendorId:
          description: >-
            Vendor ID. Applicable in drop shipping to indicate vendor
            responsible for given item.
          example: P1234
          type: string
      required:
        - itemId
        - lineItemId
        - lineItemNumber
        - shipToId
        - sku
      type: object
    orderNote:
      description: Note for attention
      properties:
        createdAt:
          description: Time note was created (UTC)
          example: '2022-05-12T09:30:31.198Z'
          type: string
        notes:
          description: Additional info about the order, if any
          example: Fragile - handle with care
          type: string
        user:
          description: >-
            Customer Service Representative or Employee (ID or name) who created
            the note
          example: 62272e917b12209e68751d94
          type: string
      type: object
    orderPayment:
      description: An object containing an orders payment details.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            captureCurrencyCode: USD
            payerId: M7AWTK3YK3B46
            referenceId: 4DY41894J2904533S
          type: object
        authorizationAttempts:
          description: >-
            An integer representing the number of payment authorization
            attempts.
          example: 0
          format: int64
          type: integer
        authorizedAmount:
          description: Amount authorized to be debited from the given `paymentMethod`
          example: 123.2
          format: double
          type: number
        authorizedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The amount authorized for debit from the specified payment method,
              itemized by each currency used within a specific order.
          type: array
        billToAddress:
          $ref: '#/components/schemas/address'
        chargedAmount:
          description: Amount charged to the given `paymentMethod`
          example: 60
          format: double
          type: number
        chargedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The amount charged to the specified payment method, itemized by
              each currency used within a specific order.
          type: array
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        isFinalCapture:
          description: >-
            **true:** Payment is final capture. **false:** Payment is not a
            final capture.
          example: false
          type: boolean
        isPartialCapture:
          description: >-
            **true:** Payment is partial capture. **false:** Payment is full
            capture.
          example: false
          type: boolean
        paidAt:
          description: >-
            System-generated time when payment was captured at shipment. In case
            of payment captured at checkout, this is a merchant-defined value
            given during order creation.
          example: '2022-01-27T16:15:58-05:00'
          format: date-time
          type: string
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        paymentIdentifier:
          $ref: '#/components/schemas/orderPaymentIdentifier'
        paymentLogs:
          description: Payment details
          items:
            $ref: '#/components/schemas/paymentResponse'
          type: array
        paymentMethod:
          description: Payment method such as PayPal or credit card
          example: CREDIT_CARD
          type: string
        paymentProvider:
          description: Payment provider
          example: stripe
          type: string
        paymentStatus:
          description: >-
            Payment status. There are no pre-defined values; possible values are
            Paid, Partially Paid, Authorized, and Error.
          example: Paid
          type: string
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
        reauthorizationAttempts:
          description: >-
            An integer representing the number of payment reauthorization
            attempts.
          example: 0
          format: int64
          type: integer
        refundAmount:
          description: Merchant-defined refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The merchant specified refund amount, itemized by each currency
              used within a specific order.
          type: array
      type: object
    orderRetail:
      description: >-
        Optionally used as reference, for orders created from Point-of-Sale
        systems
      properties:
        cashierId:
          description: Merchant-defined cashier ID during order creation
          example: C-123
          type: string
        locationNumber:
          description: >-
            Unique value to identify ship-from or Buy Online Pickup from Store
            location. This must be the locationNumber stored in the fabric
            Location service.
          example: WH334
          type: string
        registerId:
          description: Merchant-defined register ID during order creation
          example: '113'
          type: string
        transactionId:
          description: >-
            Transaction ID such as the Point-of-Sale system's version of the
            `orderId`.
          example: '328942333412'
          type: string
      type: object
    orderReturnsInfo:
      description: Order returns info
      properties:
        attributes:
          additionalProperties:
            description: Attributes
            example:
              transactionId: 0R12TQ46
            type: object
          description: Attributes
          example:
            transactionId: 0R12TQ46
          type: object
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        invoicedAmount:
          description: System-generated invoiced amount for the return request
          example: 11.29
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The invoiced amount is displayed in all currencies used for the
              order. If only a single currency was used, then only that currency
              will be shown.
          type: array
        paymentCounterRefundDetails:
          items:
            $ref: '#/components/schemas/paymentCounterRefundInfo'
          type: array
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnCounter:
          description: Unique, sequential or incremental counter for return request
          example: 1
          format: int32
          type: integer
        totalRefundAmount:
          description: Merchant-defined total refund amount for the return request
          example: 11.29
          format: double
          type: number
        totalRefundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total amount refunded, itemized by each currency used within
              the order.
          type: array
      type: object
    orderShipInfo:
      description: An object containing an orders shipment details.
      properties:
        attributes:
          description: >-
            User defined custom attributes. This is a placeholder for additional
            info (in key-value pairs).
          example:
            giftMessage: '[]'
          type: object
        discounts:
          items:
            $ref: '#/components/schemas/shippingDiscount'
          type: array
        estimatedDeliveryDate:
          description: Estimated delivery time (UTC) provided by carrier
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        estimatedShipDate:
          description: Estimated shipping time (UTC) provided by merchant
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        isInvoiced:
          default: false
          description: >-
            **true:** At least one captured invoice is created by Invoice
            service. **false:** Captured invoice is not created.
          example: true
          type: boolean
        locationNumber:
          description: >-
            Unique value to identify ship-from or Buy Online Pickup from Store
            location. This must be the locationNumber stored in the fabric
            Location service.
          example: WH334
          type: string
        pickups:
          description: Order pickup details
          items:
            $ref: '#/components/schemas/orderPickup'
          type: array
        shipMethod:
          description: Shipping method
          example: Parcel post delivery
          type: string
        shipToAddress:
          $ref: '#/components/schemas/address'
        shipToDiscount:
          description: Merchant-defined shipping discount amount
          example: 12.6
          format: double
          type: number
        shipToDiscountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The shipping discount applied to an order, itemized by each
              currency used within that order.
          type: array
        shipToId:
          description: >-
            System-generated UUID associated with `shipInfo`, generated from CnC
            service. **Note**: An order can have multiple ship-to (delivery)
            locations and items going to the same location have one `shipToId`.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        shipToPrice:
          description: Merchant-defined shipping cost
          example: 20
          format: double
          type: number
        shipToPriceInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total shipping cost, itemized by each currency used within the
              order.
          type: array
        shipToTaxTotal:
          description: Total shipping tax
          example: 12.6
          format: double
          type: number
        shipToTaxTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total tax applied to shipping costs, itemized by each currency
              used within the order.
          type: array
        shipToType:
          description: >-
            Type of shipping address. There are no pre-defined values; the
            possible values are SDD (same day delivery), point-of-sale (POS),
            etc.
          example: SHIP_TO_ADDRESS
          type: string
        shipToUnitPrice:
          description: A number indicating the ship to unit price.
          example: 20
          format: double
          type: number
        shipToUnitPriceInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The unit price for shipping, itemized by each currency used within
              the order.
          type: array
        shipmentInstructions:
          description: Shipment instructions
          example: Handle with care
          type: string
        taxCode:
          description: Applicable tax code, varies from state to state
          example: FR01
          type: string
        taxDetails:
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
      required:
        - shipToId
      type: object
    orderAppeasementPaymentInfo:
      description: Order appeasement payment info
      properties:
        paymentCounter:
          description: Payment counter to identify which payment to refund.
          example: 1
          format: int32
          type: integer
        refundAmount:
          description: Refund amount for appeasements.
          example: 34.56
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The refund amount specifically for appeasements, itemized by each
              currency used within the order.
          type: array
      type: object
    refundDetailResource:
      description: >-
        Used for credit rules. This resource captures the split of fees and tax
        refunds at the item and order level.
      properties:
        amount:
          description: Refund Amount
          example: '-10.'
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total refund amount, itemized by each currency used within the
              order.
          type: array
        name:
          description: The name of the fee or tax.
          example: Name
          type: string
        type:
          description: Type of refund
          example: ITEM
          type: string
      type: object
    orderPaymentToken:
      description: An object containing the order payment token details.
      properties:
        paymentType:
          description: >-
            Payment type, for example, credit card payment providers can be
            Visa, Mastercard, American express, etc.
          example: VISA
          type: string
        token:
          description: Payment token provided by payment provider
          example: pi_34tr6787rt
          type: string
      type: object
    orderAuditLogUpdatedField:
      description: Audit log for change history
      properties:
        fieldName:
          description: Field or property name that was updated
          example: UOM
          type: string
        fieldOriginalValue:
          description: Original value of `fieldName` before it was updated
          example: PK
          type: string
      type: object
    paymentReference:
      description: Payment details for order
      properties:
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        amount:
          description: Payment refund amount
          example: 60
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: Payment refund amount in currencies
          type: array
    currencyGroup:
      description: CurrencyGroup object details.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            fxId: ID123
          type: object
        conversionRate:
          description: conversion rate
          example: 1
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    orderContactName:
      description: Contact person's name
      properties:
        firstName:
          description: Contact person's first name
          example: Alex
          type: string
        lastName:
          description: Contact person's last name
          example: Doe
          type: string
        middleName:
          description: Contact person's middle name or initial
          example: E
          type: string
      type: object
    orderContactPhone:
      description: Contact person's phone details.
      properties:
        number:
          description: Contact person's phone number
          example: 123-456-7890
          type: string
        type:
          description: Contact number type
          enum:
            - MOBILE
            - HOME
            - BUSINESS
          example: MOBILE
          type: string
      type: object
    cancellationItemResource:
      description: >-
        A resource used to capture detailed cancellation information at the item
        level.
      properties:
        amount:
          description: Amount
          example: '-20.'
          format: double
          type: number
        amountInCurrencies:
          description: >-
            The amount associated with the cancellation, itemized by each
            currency used within the original order.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          description: Custom attributes
          type: object
        cancellationCounter:
          description: An identifier used for cancellations.
          example: 1
          type: string
        invoicedAmount:
          description: Invoiced amount
          example: '-20.'
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The invoiced amount, itemized by each currency used within a
              specific order.
          type: array
        payments:
          items:
            $ref: '#/components/schemas/paymentReference'
          type: array
        quantity:
          description: The total quantity of an item for this cancellation request.
          example: 10
          format: int32
          type: integer
        reasonCode:
          description: Reason code
          example: Order line cancel
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        status:
          description: Cancellation status
          enum:
            - PROCESSING
            - COMPLETED
            - REJECTED
          example: PROCESSING
          type: string
        subReasonCode:
          description: Sub reason code
          example: Late shipping
          type: string
      type: object
    itemFeeDetails:
      description: Item fees object containing item fee details.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The total tax amount, itemized by each currency used within the
              order.
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        invoiceQuantity:
          description: >-
            Total quantity invoiced. If customer placed order for 10 quantity of
            an item and only 2 got shipped then 2 is the `invoiceQuantity`
          example: 10
          format: int32
          type: integer
        name:
          description: Applied tax name
          example: STATE
          type: string
        quantity:
          description: Total number of items in the order
          example: 12
          format: int32
          type: integer
        refundAmount:
          description: Total refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    itemFulfillmentResource:
      type: object
      description: Item fulfillment model
      properties:
        isFulfillable:
          type: boolean
          default: 'true'
          description: >-
            Indicates whether the item can be fulfilled based on its current
            state and configuration.
          example: true
        isInventoryManaged:
          type: boolean
          default: 'true'
          description: >-
            To identify if an inventory is managed or not for the respective
            item
          example: true
        locationNumber:
          type: string
          description: Location number
          example: 123
        shipFromAddress:
          $ref: '#/components/schemas/address'
        trackingDetails:
          $ref: '#/components/schemas/trackingDetailsResource'
          description: Tracking details for the shipment
        attributes:
          type: object
          additionalProperties:
            type: object
          description: Custom attributes for this item
          example:
            attribute1: value
    quantityInStatus:
      description: Item quantity for each status
      properties:
        cancelled:
          description: Cancelled quantity of given item
          example: 10
          format: int32
          type: integer
        created:
          description: Ordered quantity of given item
          example: 10
          format: int32
          type: integer
        delivered:
          description: Delivered quantity of given item
          example: 10
          format: int32
          type: integer
        hold:
          description: Held quantity of given item
          example: 10
          format: int32
          type: integer
        pendingShipped:
          description: Pending quantity of given item
          example: 10
          format: int32
          type: integer
        returned:
          description: Returned quantity of given item
          example: 10
          format: int32
          type: integer
        shipped:
          description: Shipped quantity of given item
          example: 10
          format: int32
          type: integer
      type: object
    orderReturns:
      description: An object containing the order return details.
      properties:
        attributes:
          additionalProperties:
            description: Attributes
            example:
              transactionId: 0R12TQ46
            type: object
          description: Attributes
          example:
            transactionId: 0R12TQ46
          type: object
        exchangeLineItemId:
          description: Exchange line item ID
          example: 62f3dfc438bcab1951be0a19
          type: string
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 11.29
          format: double
          type: number
        isExchangeItemReturned:
          default: false
          description: >-
            **true:** Item received for exchange is returned. **false:** Item
            received for exchange is not returned.
          example: true
          type: boolean
        reasonCode:
          description: Merchant-defined reason code for return
          example: Incorrect item
          type: string
        refundAmount:
          description: Refund amount
          example: 11.29
          format: double
          type: number
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnRequestCounter:
          description: Unique, sequential, or incremental counter for return request
          example: 1
          format: int32
          type: integer
        returnsReceivedAt:
          description: >-
            System-generated time of returned item that has come back to the
            facility (UTC)
          example: '2022-09-14T14:07:36.861Z'
          format: date-time
          type: string
        shipmentId:
          description: 24-character system-generated shipment ID
          example: 62b37697c67b204dd18a7465
          type: string
        shipmentInvoice:
          $ref: '#/components/schemas/shipmentInvoiceResource'
        shipmentLineItemId:
          description: Unique identifier for each item in the shipment
          example: '234'
          type: string
        shipmentQuantity:
          default: 0
          description: Shipped quantity of given item
          example: 1
          format: int32
          type: integer
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
      type: object
    taxDetail:
      description: An object containing tax information.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: The tax amount, itemized by each currency used within the order.
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        name:
          description: Applied tax name
          example: STATE
          type: string
        rate:
          description: Rate
          example: 10
          format: double
          type: number
        rateType:
          description: Rate type
          example: PERCENTAGE
          type: string
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    address:
      description: Address details
      properties:
        addressLine1:
          description: Address line 1
          example: 123 Main St.
          type: string
        addressLine2:
          description: Address line 2
          example: Suite 100
          type: string
        addressLine3:
          description: Address line 3
          example: Seventh floor
          type: string
        addressLine4:
          description: Address line 4
          example: 'Attention: Pat E. Kake'
          type: string
        city:
          description: City name
          example: Seattle
          type: string
        countryCode:
          description: ISO 3166-1 alpha-2 based country code
          example: US
          type: string
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        latitude:
          description: >-
            Address latitude, used with `longitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.**Note:**Value must be between -90 and 90, both inclusive.
          example: 47.6205
          format: double
          type: number
        longitude:
          description: >-
            Address longitude, used with `latitude` to specify the address
            location. Decimal degrees format; negative is degrees South.
            **Note:**Value must be between -180 and 180, both inclusive.
          example: -122.3493
          format: double
          type: number
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        postalCode:
          description: Postal or ZIP code
          example: '98121'
          type: string
        region:
          description: Region or state
          example: WA
          type: string
        type:
          description: Address type
          example: Home
          type: string
      required:
        - addressLine1
        - city
        - countryCode
        - latitude
        - longitude
        - postalCode
        - region
        - type
      type: object
    orderPaymentIdentifier:
      description: >-
        An object containing the details of payment modes and payment
        identifiers.
      properties:
        cardIdentifier:
          description: Last 4 digits of the card
          example: '3456'
          type: string
        expirationMonth:
          description: Card expiration month
          example: '12'
          type: string
        expirationYear:
          description: Card expiration year
          example: '2029'
          type: string
        fabricPaymentReference:
          description: >-
            System-generated UUID referenced internally for Invoice and Orders
            services.
          example: f886c96c-5f65-11ed-9b6a-0242ac120002
          type: string
        paymentId:
          description: >-
            Merchant provided unique identifier for a payment based on payment
            connector. When omitted, it is a fabric-generated UUID.
          example: 62272e917b12209e68751d94
          type: string
      type: object
    paymentResponse:
      description: Payment information
      properties:
        amount:
          description: Transaction amount for the payment operation
          example: -12.4
          type: number
        amountInCurrencies:
          description: >-
            The details of the `CurrencyList`, itemized by each currency used
            within the order.
          items:
            $ref: '#/components/schemas/amountInCurrency'
          properties:
            empty:
              type: boolean
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            key: value
          type: object
        data:
          $ref: '#/components/schemas/paymentDetails'
        id:
          description: ID provided by payment gateway in response to payment operation
          example: '328942333412'
          type: string
        paymentId:
          description: >-
            Merchant-provided unique identifier for a payment based on payment
            connector. When omitted, this value will be generated by fabric in
            UUID format.
          example: '328942333412'
          type: string
        paymentLogId:
          description: ID generated by fabric to uniquely identify the payment log
          example: '328942333412'
          type: string
        paymentLogRefId:
          description: Payment reference log ID with which this record is associated
          example: '328942333412'
          type: string
        status:
          description: Payment status such as Authorized, Captured, etc.
          example: Authorized
          type: string
        type:
          description: Transaction type such as VOID, CAPTURED, REDUND, etc.
          example: REFUND
          type: string
      type: object
    returnFeeDetail:
      description: An object containing return fee details.
      properties:
        amount:
          description: Merchant-defined return amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        name:
          description: Fee name
          example: RETURN_FEE
          type: string
        reason:
          description: Merchant-defined return reason
          example: Return fee
          type: string
        type:
          description: Return fee type
          enum:
            - TAX
            - DISCOUNT
            - FEE
            - ITEM
            - ADJUSTMENT
          example: FEE
          type: string
      type: object
    paymentCounterRefundInfo:
      description: An object containing payment counter refund details.
      properties:
        amount:
          description: Final refunded amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              the payment counter refund amount, itemized by each currency used
              within the order.
          type: array
        paymentCounter:
          description: Unique incremented number for this payment object.
          example: 1
          format: int32
          type: integer
      type: object
    shippingDiscount:
      description: An object containing shipping discount details.
      properties:
        amount:
          description: Discounted amount for the given `quantity`
          example: 2.99
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
            description: >-
              The discounted amount for the specified quantity, itemized by each
              currency used within the order.
          type: array
        promotionCode:
          description: >-
            Promotion code used by shoppers to take advantage of an ongoing
            promotion.
          example: SHIPFREE
          type: string
        promotionId:
          description: >-
            Unique promotion ID either from fabric Offers service or an external
            Offers service. When fabric Offers service is used, this is the
            24-character system-generated promotion ID returned in the response
            of the create promotion endpoint.
          example: SHIPFREE
          type: string
        promotionName:
          description: Promotion name
          example: Free Shipping
          type: string
        quantity:
          description: >-
            Number of discounted items in an order such as `buy 2 get 1 free`.
            In this case `1` is the discounted quantity.
          example: 1
          format: int32
          type: integer
        unit:
          description: Indicates whether the discount is in amount or percentage
          example: AMOUNT_OFF
          type: string
        value:
          description: Value corresponding to `unit`
          example: 10
          format: int32
          type: integer
      type: object
    orderPickup:
      description: An object containing the order pickup details.
      properties:
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        pickupType:
          description: Order pickup type
          enum:
            - PRIMARY
            - ALTERNATE
          example: PRIMARY
          type: string
      type: object
    trackingDetailsResource:
      type: object
      description: Tracking details
      properties:
        trackingNumber:
          type: string
          description: Tracking number
          example: 1ZH4E331YW37690225
        trackingURL:
          type: string
          description: Tracking URL
          example: https://www.ups.com/track?tracknum=1ZH4E331YW37690225
    shipmentInvoiceResource:
      description: Shipment Invoice resource
      properties:
        invoiceId:
          description: Unique Id of the invoice
          example: 62ff5c0bec0aed3c86202c32
          type: string
        invoiceNumber:
          description: Unique number of the invoice
          example: '23940791'
          type: string
        invoicedAt:
          description: Date when order invoiced
          example: '2022-08-01T20:03:28.483971941Z'
          format: date-time
          type: string
      required:
        - invoiceId
      type: object
    amountInCurrency:
      description: Amount in currency object details.
      properties:
        amount:
          description: The amount displayed in the primary currency.
          example: 123.45
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    paymentDetails:
      description: An object containing payment details.
      properties:
        body:
          $ref: '#/components/schemas/paymentDetailsResponseBody'
        paymentStatusCode:
          description: >-
            Status code for payment. There are no pre-defined values; possible
            values are 200, 400, 402, etc.
          example: '200'
          type: string
      type: object
    paymentDetailsResponseBody:
      description: Payment info
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            key: value
          type: object
        errors:
          description: Error details
          items:
            additionalProperties:
              description: Error map
              example:
                key: value
              type: object
            description: Error map
            example:
              key: value
            type: object
          type: array
        responseCode:
          description: Response code such as success, OK, or failure
          example: OK
          type: string
        status:
          description: Payment status such as Authorized, Captured, etc.
          example: Authorized
          type: string
        transactionId:
          description: >-
            Transaction ID such as the point-of-sale system's version of the
            `orderId`.
          example: '328942333412'
          type: string
        transactionTimestamp:
          description: Transaction time (UTC) when the payment was successful
          example: 2022-04-10T23:00:45:12.111Z
          type: string
      type: object
  headers:
    xFabricRequestIdResponseHeader:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      required: false
      schema:
        type: string
  securitySchemes:
    authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http

````