{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/kibo-commerce/main/json-schema/kibo-commerce-subscription-runtime-subscription-schema.json",
  "title": "SubscriptionRuntimeSubscription",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/kibo-commerce-subscription-openapi.yml#/components/schemas/SubscriptionRuntimeSubscription",
  "properties": {
    "adjustment": {
      "$ref": "#/$defs/Adjustment"
    },
    "attributes": {
      "items": {
        "$ref": "#/$defs/SubscriptionAttribute"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "auditInfo": {
      "$ref": "#/$defs/CoreApiContractsAuditInfo"
    },
    "changeMessages": {
      "description": "Change Messages",
      "items": {
        "$ref": "#/$defs/ChangeMessage"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "channelCode": {
      "description": "Unique identifier of the channel for this item.",
      "type": [
        "string",
        "null"
      ]
    },
    "couponCodes": {
      "description": "Coupon codes associated with this Subscription.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "currencyCode": {
      "description": "ISO Currency Code.",
      "type": [
        "string",
        "null"
      ]
    },
    "customerAccountId": {
      "description": "Unique identifier of the customer account.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "customerInteractionType": {
      "description": "Determines the interaction type that a customer will use to create this object.\nValid values are: Website, Store, Call, Unknown",
      "type": [
        "string",
        "null"
      ]
    },
    "customerTaxId": {
      "description": "The customers tax ID. If Customer Account ID exists in the system, will set this.",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "data": {
      "description": "Custom data for a given vendor set within the commerce process.",
      "type": [
        "object",
        "null"
      ]
    },
    "discountedSubtotal": {
      "description": "Discounted Subtotal",
      "format": "double",
      "type": "number"
    },
    "dutyAmount": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "dutyTotal": {
      "format": "double",
      "type": "number"
    },
    "email": {
      "description": "Email address for checkout",
      "type": [
        "string",
        "null"
      ]
    },
    "externalId": {
      "type": [
        "string",
        "null"
      ]
    },
    "feeTotal": {
      "format": "double",
      "type": "number"
    },
    "frequency": {
      "$ref": "#/$defs/Frequency"
    },
    "frequencyAuditInfo": {
      "$ref": "#/$defs/CoreApiContractsAuditInfo"
    },
    "fulfillmentInfo": {
      "$ref": "#/$defs/FulfillmentInfo"
    },
    "handlingAdjustment": {
      "$ref": "#/$defs/Adjustment"
    },
    "handlingAmount": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "handlingDiscounts": {
      "items": {
        "$ref": "#/$defs/AppliedDiscount"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "handlingSubTotal": {
      "format": "double",
      "type": "number"
    },
    "handlingTax": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "handlingTaxTotal": {
      "format": "double",
      "type": "number"
    },
    "handlingTotal": {
      "format": "double",
      "type": "number"
    },
    "hasDraft": {
      "description": "Does this subscription have a draft version.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "id": {
      "description": "Unique identifier.",
      "type": [
        "string",
        "null"
      ]
    },
    "invalidCoupons": {
      "description": "A list of invalid coupons that were attempted on the Subscription",
      "items": {
        "$ref": "#/$defs/InvalidCoupon"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "ipAddress": {
      "description": "IP address of the user placing the order. (User or customer?)",
      "type": [
        "string",
        "null"
      ]
    },
    "isDraft": {
      "description": "Is this subscription a draft version",
      "type": [
        "boolean",
        "null"
      ]
    },
    "isImport": {
      "type": "boolean"
    },
    "isOrderReminderEmailSent": {
      "description": "Has order reminder email sent.",
      "type": "boolean"
    },
    "isPartialDraft": {
      "description": "Is this subscription draft is a partial draft.",
      "type": "boolean"
    },
    "isReactivationReminderEmailSent": {
      "description": "Has reactivation reminder email sent.",
      "type": "boolean"
    },
    "isTaxExempt": {
      "description": "Unique identifier of the customer account.",
      "readOnly": true,
      "type": [
        "boolean",
        "null"
      ]
    },
    "itemLevelAdjustmentsTotal": {
      "description": "The total value of all line item adjustments",
      "format": "double",
      "type": "number"
    },
    "itemLevelHandlingDiscountTotal": {
      "format": "double",
      "type": "number"
    },
    "itemLevelProductDiscountTotal": {
      "description": "The total value of item-level product discounts.",
      "format": "double",
      "type": "number"
    },
    "itemLevelShippingDiscountTotal": {
      "format": "double",
      "type": "number"
    },
    "itemTaxTotal": {
      "description": "Total tax on products.",
      "format": "double",
      "type": "number"
    },
    "itemTotal": {
      "description": "The total product cost, accounting for discounts and tax.",
      "format": "double",
      "type": "number"
    },
    "items": {
      "description": "List of items in the Subscription.",
      "items": {
        "$ref": "#/$defs/SubscriptionItem"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "lastContinuityOrderDateOnSubPaused": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "lastOrderNowDate": {
      "description": "Indicate when \"order now\" and \"partial order now\" performed last time.",
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "lineItemSubtotalWithOrderAdjustments": {
      "description": "Line Item Subtotals with Order Adjustments",
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "locationCode": {
      "description": "Identifies the location at which the order was placed if the order was placed externally.",
      "type": [
        "string",
        "null"
      ]
    },
    "nextOrderDate": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "nextOrderDateAuditInfo": {
      "$ref": "#/$defs/CoreApiContractsAuditInfo"
    },
    "nextOrderDateOffsetCounter": {
      "description": "counter to keep track of nextOrderDate limit.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "notes": {
      "description": "Notes",
      "items": {
        "$ref": "#/$defs/OrderNote"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "number": {
      "description": "Subscription number.",
      "format": "int32",
      "type": "integer"
    },
    "orderDiscounts": {
      "items": {
        "$ref": "#/$defs/AppliedDiscount"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "orderLevelHandlingDiscountTotal": {
      "format": "double",
      "type": "number"
    },
    "orderLevelProductDiscountTotal": {
      "description": "The total value of order-level (group-level) product discounts.",
      "format": "double",
      "type": "number"
    },
    "orderLevelShippingDiscountTotal": {
      "format": "double",
      "type": "number"
    },
    "ordinal": {
      "format": "int32",
      "type": "integer"
    },
    "parentOrderId": {
      "description": "The parent order id from which the subscription was created.",
      "type": [
        "string",
        "null"
      ]
    },
    "pauseDate": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "payment": {
      "$ref": "#/$defs/Payment"
    },
    "paymentErrorCode": {
      "type": [
        "string",
        "null"
      ]
    },
    "previousFrequency": {
      "$ref": "#/$defs/Frequency"
    },
    "previousNextOrderDate": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "priceListCode": {
      "description": "Price-list code for the Subscription",
      "type": [
        "string",
        "null"
      ]
    },
    "processingErrorMessage": {
      "description": "LastErrorMessage from subscription ProcessingInfo.",
      "type": [
        "string",
        "null"
      ]
    },
    "reactivationDate": {
      "description": "This property is being used for reactivation email templete",
      "format": "date-time",
      "type": "string"
    },
    "reasons": {
      "items": {
        "$ref": "#/$defs/SubscriptionReason"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "shippingAdjustment": {
      "$ref": "#/$defs/Adjustment"
    },
    "shippingAmount": {
      "format": "double",
      "type": "number"
    },
    "shippingDiscounts": {
      "items": {
        "$ref": "#/$defs/ShippingDiscount"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "shippingSubTotal": {
      "format": "double",
      "type": "number"
    },
    "shippingTax": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "shippingTaxTotal": {
      "format": "double",
      "type": "number"
    },
    "shippingTotal": {
      "format": "double",
      "type": "number"
    },
    "siteId": {
      "description": "Unique identifier of the Site.",
      "format": "int32",
      "type": "integer"
    },
    "skipCounter": {
      "description": "counter to keep track of skip limit",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "sourceDevice": {
      "description": "Source device of the user placing the order. (User or customer?)",
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "subTotal": {
      "description": "Subtotal before any coupon codes, taxes, fees, etc.",
      "format": "double",
      "type": "number"
    },
    "taxData": {
      "description": "Storage for any additional/custom tax data.",
      "type": [
        "object",
        "null"
      ]
    },
    "tenantId": {
      "description": "Unique identifier of the Tenant.",
      "format": "int32",
      "type": "integer"
    },
    "total": {
      "description": "Final total",
      "format": "double",
      "type": "number"
    },
    "trial": {
      "$ref": "#/$defs/Trial"
    },
    "userId": {
      "type": [
        "string",
        "null"
      ]
    },
    "visitId": {
      "description": "Identifies the Visit ID that was current when the order was placed or when the cart was last updated.",
      "type": [
        "string",
        "null"
      ]
    },
    "webSessionId": {
      "description": "Identifies the web session used to place the order or last update the cart.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object",
  "$defs": {
    "Address": {
      "properties": {
        "address1": {
          "type": [
            "string",
            "null"
          ]
        },
        "address2": {
          "type": [
            "string",
            "null"
          ]
        },
        "address3": {
          "type": [
            "string",
            "null"
          ]
        },
        "address4": {
          "type": [
            "string",
            "null"
          ]
        },
        "addressType": {
          "type": [
            "string",
            "null"
          ]
        },
        "cityOrTown": {
          "type": [
            "string",
            "null"
          ]
        },
        "countryCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "isValidated": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "postalOrZipCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "stateOrProvince": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Adjustment": {
      "properties": {
        "amount": {
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "internalComment": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "AppliedDiscount": {
      "description": "Discount applied to the order, which is a negative number to be subtracted from the original price to get the final price. \nIf multiple discounts for the order exist, this is the value most advantageous to the shopper.",
      "properties": {
        "couponCode": {
          "description": "Code of the coupon associated with the discount if a coupon code is required to get the discount.",
          "type": [
            "string",
            "null"
          ]
        },
        "data": {
          "description": "Stores any custom data sent from external discounts.",
          "type": [
            "object",
            "null"
          ]
        },
        "discount": {
          "$ref": "#/$defs/Discount"
        },
        "excluded": {
          "description": "Determines whether or not this discount is set up to be ignored by the pricing runtime.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "groupId": {
          "description": "Group identifier for the discount.",
          "type": [
            "string",
            "null"
          ]
        },
        "impact": {
          "description": "Value of the discount applied. This is a negative number to be subtracted from the original price to get the final price.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "AppliedLineItemProductDiscount": {
      "properties": {
        "appliesToSalePrice": {
          "description": "Determines if the discount applies to the sale price of the order",
          "type": [
            "boolean",
            "null"
          ]
        },
        "discountQuantity": {
          "description": "The number of the line item that can be used for this particular discount.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AppliedLineItemShippingDiscount": {
      "properties": {
        "discount": {
          "$ref": "#/$defs/AppliedDiscount"
        },
        "discountQuantity": {
          "description": "The number of the line item that can be used for this particular discount.",
          "format": "int32",
          "type": "integer"
        },
        "impactPerUnit": {
          "description": "The impact of this discount pur discount quantity.",
          "format": "double",
          "type": "number"
        },
        "methodCode": {
          "description": "Unique identifier of the shipping method discount.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "BillingInfo": {
      "description": "Customer's payment details such as payment type (credit card, check by mail, or PayPal)\nand cardholder information if payment is by credit card.",
      "properties": {
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "billingContact": {
          "$ref": "#/$defs/Contact"
        },
        "card": {
          "$ref": "#/$defs/PaymentCard"
        },
        "check": {
          "$ref": "#/$defs/CheckPayment"
        },
        "customCreditType": {
          "description": "Name of custom stored credit type",
          "type": [
            "string",
            "null"
          ]
        },
        "data": {
          "description": "Custom data from payment providers",
          "type": [
            "object",
            "null"
          ]
        },
        "externalToken": {
          "$ref": "#/$defs/ExternalPaymentToken"
        },
        "externalTransactionId": {
          "description": "Transaction Id from third party payment source like Visa Checkout, Amazon",
          "type": [
            "string",
            "null"
          ]
        },
        "isRecurring": {
          "description": "Indicates whether the payment is used in recurring transactions. ex- subscription payments",
          "type": "boolean"
        },
        "isSameBillingShippingAddress": {
          "description": "Indicates that billing and shipping address are the same",
          "type": "boolean"
        },
        "paymentType": {
          "description": "Type of payment, such as credit card, check by mail, or PayPal.\nsee Mozu.CommerceRuntime.Contracts.Payments.PaymentTypeConst for valid values",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentWorkflow": {
          "type": [
            "string",
            "null"
          ]
        },
        "purchaseOrder": {
          "$ref": "#/$defs/PurchaseOrderPayment"
        },
        "recurringTransactionId": {
          "description": "Recurring Payment Id returned by Payment Gateway\nnetworkTransactionId for vantiv\npreviousTransactionId for cybersource etc",
          "type": [
            "string",
            "null"
          ]
        },
        "storeCreditCode": {
          "description": "The store credit to use for this purchase",
          "type": [
            "string",
            "null"
          ]
        },
        "storeCreditType": {
          "description": "The type of store credit used for this purchase",
          "type": [
            "string",
            "null"
          ]
        },
        "token": {
          "$ref": "#/$defs/PaymentToken"
        }
      },
      "type": "object"
    },
    "BundledProduct": {
      "description": "Describes products that are bundled inside of a main bundle product.",
      "properties": {
        "allocationExpiration": {
          "description": "Allocation ID associated with this product on this order.",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "allocationId": {
          "description": "Allocation ID associated with this product on this order.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "creditValue": {
          "description": "Credit value.  Only populated if the bundled product is a gift card or digital credit",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "deltaPrice": {
          "description": "Only populated for extras",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "description": {
          "description": "Short description of the product in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "fulfillmentStatus": {
          "description": "Fulfillment status of the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "goodsType": {
          "description": "Goods Type",
          "type": [
            "string",
            "null"
          ]
        },
        "imageUrl": {
          "description": "ImageUrl of product",
          "type": [
            "string",
            "null"
          ]
        },
        "isPackagedStandAlone": {
          "description": "Indicates that this product ships by itself.",
          "type": "boolean"
        },
        "measurements": {
          "$ref": "#/$defs/PackageMeasurements"
        },
        "name": {
          "description": "Name of the product, this is the current value of the product's name in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "optionAttributeFQN": {
          "description": "Fully Qualified Name of the selected option's attribute",
          "type": [
            "string",
            "null"
          ]
        },
        "optionValue": {
          "description": "Value of the selected option",
          "nullable": true
        },
        "productCode": {
          "description": "Merchant-created code that uniquely identifies the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "productReservationId": {
          "description": "Reservation ID associated with this product in the bundle.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "quantity": {
          "description": "Quantity of the product included in the bundle.",
          "format": "int32",
          "type": "integer"
        },
        "stock": {
          "$ref": "#/$defs/ProductStock"
        }
      },
      "type": "object"
    },
    "CapturableShipmentSummary": {
      "properties": {
        "amountApplied": {
          "description": "The amount applied by the payment action",
          "format": "double",
          "type": "number"
        },
        "shipmentNumber": {
          "description": "The identifying number of the shipment affected by the payment action",
          "format": "int32",
          "type": "integer"
        },
        "shipmentTotal": {
          "description": "The shipment's total when the payment action occurred",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Category": {
      "description": "Categories to which the product belongs. Discounts can apply to categories where any product in the category is discounted.",
      "properties": {
        "id": {
          "description": "Unique identifier of the category. System-supplied and read-only.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "parent": {
          "$ref": "#/$defs/Category"
        }
      },
      "type": "object"
    },
    "ChangeMessage": {
      "description": "A message displayed by the system based on the last  action, for example, when a product price has changed. System-supplied and read-only.",
      "properties": {
        "amount": {
          "deprecated": true,
          "description": "Monetary amount that pertains to the change if applicable",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "appId": {
          "description": "App Id that identifies the user that performed the related change",
          "type": [
            "string",
            "null"
          ]
        },
        "appKey": {
          "description": "App Key",
          "type": [
            "string",
            "null"
          ]
        },
        "appName": {
          "description": "App Name",
          "type": [
            "string",
            "null"
          ]
        },
        "attributes": {
          "additionalProperties": {
            "nullable": true
          },
          "description": "Additional Data. This property will be a Dictionary of objects.",
          "type": [
            "object",
            "null"
          ]
        },
        "correlationId": {
          "description": "Correlation Id",
          "type": [
            "string",
            "null"
          ]
        },
        "createDate": {
          "description": "When the message was created. System-supplied. Read-only.",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "description": "Unique identifier of the  message. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "identifier": {
          "description": "Unique identifier to what the message pertains, which can be a cart item, cart or another generic entity. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "message": {
          "description": "Human readable message. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "metadata": {
          "description": "Data. This property will be a JSON array that will contain 0-N items, when there is 1 item it will still be an array containing only one item. System-supplied. Read-only.",
          "nullable": true
        },
        "newValue": {
          "deprecated": true,
          "description": "Current price of the item. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "oldValue": {
          "deprecated": true,
          "description": "Original price of the item. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "subject": {
          "description": "Text on the subject line of the message, for example, the product name. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "subjectType": {
          "description": "Subject of the message, for example, \"Product.\" System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "success": {
          "description": "Indicates if the message is related to a success or failure.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "userFirstName": {
          "description": "User First Name",
          "type": [
            "string",
            "null"
          ]
        },
        "userId": {
          "description": "User Id that identifies the user that performed the related change",
          "type": [
            "string",
            "null"
          ]
        },
        "userLastName": {
          "description": "User Last Name",
          "type": [
            "string",
            "null"
          ]
        },
        "userScopeType": {
          "description": "User Type (e.g. Shopper, Admin, etc.)",
          "type": [
            "string",
            "null"
          ]
        },
        "verb": {
          "description": "Action applicable to the message. This can be \"Increased,\" when the product price has increased, \"Decreased,\" when the \nproduct price has decreased, and \"Invalidated,\" when the product is no longer available. System-supplied. Read-only.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "CheckPayment": {
      "properties": {
        "checkNumber": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "CommerceUnitPrice": {
      "description": "Pricing details for the product listed on a cart item, including the original price, discount amount, and final price.",
      "properties": {
        "extendedAmount": {
          "description": "Extended amount, this is in order of precedence: OverrideAmount, SaleAmount, ListAmount",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "listAmount": {
          "description": "Product list amount.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "overrideAmount": {
          "description": "Amount as manually overridden by the Merchant",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "saleAmount": {
          "description": "Sale amount indicated on the product.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Contact": {
      "properties": {
        "address": {
          "$ref": "#/$defs/Address"
        },
        "companyOrOrganization": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "firstName": {
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "lastNameOrSurname": {
          "type": [
            "string",
            "null"
          ]
        },
        "middleNameOrInitial": {
          "type": [
            "string",
            "null"
          ]
        },
        "phoneNumbers": {
          "$ref": "#/$defs/Phone"
        }
      },
      "type": "object"
    },
    "CoreApiContractsAuditInfo": {
      "properties": {
        "createBy": {
          "type": [
            "string",
            "null"
          ]
        },
        "createDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "updateBy": {
          "type": [
            "string",
            "null"
          ]
        },
        "updateDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Discount": {
      "description": "Discounts that apply to the order, if any. For example, when the \nsubtotal of the order exceeds a certain amount, or for free shipping.",
      "properties": {
        "expirationDate": {
          "description": "Date when the discount expires. Default is null (no expiration date).",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "hasMultipleTargetProducts": {
          "description": "Indicates that the discount targets more than a product.  Used\nprimarily for BoGa discounts with multiple targets.",
          "type": "boolean"
        },
        "id": {
          "description": "Unique identifier of the discount.",
          "format": "int32",
          "type": "integer"
        },
        "itemIds": {
          "description": "List of discounts for each order item.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "name": {
          "description": "Name of the discount in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ExternalPaymentToken": {
      "description": "Structured payment token for external (non-Mozu) payment processors.\n\nDistinct from legacy PaymentToken (Apple Pay / PayPal).\n\nUsed in COM-10873 externally tokenized payments feature.\n\nValidation rules:\n- All three fields (PaymentServiceTokenId, Type, Provider) are required\n- Type must match BillingInfo.PaymentType (case-insensitive)\n- Feature gate (externalTokenizationEnabled) must be true",
      "properties": {
        "paymentServiceTokenId": {
          "description": "Actual token value from the external payment provider.",
          "type": [
            "string",
            "null"
          ]
        },
        "provider": {
          "description": "External token provider identifier (e.g., \"Stripe\", \"Square\", \"PayPal\").",
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "description": "Payment method type (e.g., \"CreditCard\", \"PayPal\", \"ApplePay\").\nMust match BillingInfo.PaymentType exactly (case-insensitive).",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Frequency": {
      "properties": {
        "unit": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "FulfillmentField": {
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "required": {
          "type": "boolean"
        },
        "userEnteredValue": {
          "nullable": true
        }
      },
      "type": "object"
    },
    "FulfillmentInfo": {
      "description": "Shipment information, which includes the shipping address, price, estimated delivery date, tracking information, method (for example, Ground, Overnight, or Pick-up), \ncarrier (for example, USPS, UPS, FedEx), and current status (for example, Not Shipped, In Transit, Delayed, or Returned To Sender).",
      "properties": {
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "data": {
          "description": "Custom data originated by the shipping service.",
          "type": [
            "object",
            "null"
          ]
        },
        "fulfillmentContact": {
          "$ref": "#/$defs/Contact"
        },
        "isDestinationCommercial": {
          "description": "Indicates that the destination is commercial",
          "type": [
            "boolean",
            "null"
          ]
        },
        "shippingMethodCode": {
          "description": "Code that uniquely identifies the shipping method such as \"Ground,\" \"Overnight,\" or \"Digital.\"\nThe site's shipping settings lists the valid shipping methods specified for this site.",
          "type": [
            "string",
            "null"
          ]
        },
        "shippingMethodName": {
          "description": "Readable name of the shipping method",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "FutureInventory": {
      "properties": {
        "allocated": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "available": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "createDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "deliveryDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "futureInventoryID": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "onhand": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "pending": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "GatewayGiftCard": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "cardNumber": {
          "type": [
            "string",
            "null"
          ]
        },
        "cardPin": {
          "type": [
            "string",
            "null"
          ]
        },
        "currencyCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "InvalidCoupon": {
      "description": "Represents a coupon that is considered invalid by the Mozu pricing service.",
      "properties": {
        "couponCode": {
          "description": "Code that identifies the coupon.",
          "type": [
            "string",
            "null"
          ]
        },
        "createDate": {
          "description": "Create date of the invalid coupon.",
          "format": "date-time",
          "type": "string"
        },
        "discountId": {
          "format": "int32",
          "type": "integer"
        },
        "reason": {
          "description": "Description text of the reason.",
          "type": [
            "string",
            "null"
          ]
        },
        "reasonCode": {
          "description": "Code that identifies the reason the coupon was invalid.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "InventoryTags": {
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Measurement": {
      "properties": {
        "unit": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "OrderAttribute": {
      "properties": {
        "attributeDefinitionId": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "fullyQualifiedName": {
          "type": [
            "string",
            "null"
          ]
        },
        "values": {
          "items": {},
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "OrderNote": {
      "description": "Internal notes that a merchant may add to the order. Maximum 250 characters.",
      "properties": {
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "id": {
          "description": "Unique identifier of the note. System-supplied and read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "text": {
          "description": "Text of the note. Maximum 250 characters.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PackageMeasurements": {
      "description": "Physical dimensions of the package required to ship the product and its weight.",
      "properties": {
        "height": {
          "$ref": "#/$defs/Measurement"
        },
        "length": {
          "$ref": "#/$defs/Measurement"
        },
        "weight": {
          "$ref": "#/$defs/Measurement"
        },
        "width": {
          "$ref": "#/$defs/Measurement"
        }
      },
      "type": "object"
    },
    "Payment": {
      "description": "Payment transaction associated with this order. It is the entire payment interchange between the merchant who is forwarding the customer's payment \ninformation and the payment service who is authorizing and capturing payment. Payment can be either by credit card, check, or PayPal. (PayPal not\ncurrently supported.)",
      "properties": {
        "amountCollected": {
          "description": "Amount collected on the payment",
          "format": "double",
          "type": "number"
        },
        "amountCredited": {
          "description": "Amount credited back to the payment.",
          "format": "double",
          "type": "number"
        },
        "amountRequested": {
          "description": "Derived from the Amount on the initial payment create, used to help storefront determine how much can be captured for multiple payments.\nSee Order.AmountRemainingForPayment for an example.",
          "format": "double",
          "type": "number"
        },
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "availableActions": {
          "description": "Actions available to the payment",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "billingInfo": {
          "$ref": "#/$defs/BillingInfo"
        },
        "changeMessages": {
          "description": "Change messages related to the payment.",
          "items": {
            "$ref": "#/$defs/ChangeMessage"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "data": {
          "description": "Custom data from payment providers",
          "type": [
            "object",
            "null"
          ]
        },
        "externalTransactionId": {
          "description": "The external/third party transaction Id for this payment. This is used to store the transaction Id from digital wallet like Visa Checkout",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayGiftCard": {
          "$ref": "#/$defs/GatewayGiftCard"
        },
        "groupId": {
          "$ref": "#/$defs/PaymentActionTarget"
        },
        "id": {
          "description": "Unique identifier of this order transaction.",
          "type": [
            "string",
            "null"
          ]
        },
        "installmentPlanCode": {
          "description": "Stores the Installment Plan code. Installment is only supported on subscription orders",
          "type": [
            "string",
            "null"
          ]
        },
        "interactions": {
          "description": "List of intereactions for this transaction. A transaction is created upon authorization and lasts across the payment \ninterchange, which can consist of multiple interactions, such as consecutive captures.",
          "items": {
            "$ref": "#/$defs/PaymentInteraction"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "isRecurring": {
          "description": "If true, the product is purchased or fulfilled at regular intervals, for example, \nmonthly billing or a subscription. (Not currently supported.)",
          "type": "boolean"
        },
        "orderId": {
          "description": "Unique identifier of the order with which this transaction is associated.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentServiceTransactionId": {
          "description": "Unique identifier of the transaction, specified by the payment service processesing this transaction.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentType": {
          "description": "Type of Payment",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentWorkflow": {
          "description": "The source of data for this payment.  By default, this will be set to 'mozu'",
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "description": "Current status of this transaction which are described by the PaymentStatusConst class.",
          "type": [
            "string",
            "null"
          ]
        },
        "subPayments": {
          "description": "List of sub payments that correspond to child orders in case of multiship orders.",
          "items": {
            "$ref": "#/$defs/SubPayment"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PaymentActionTarget": {
      "properties": {
        "targetId": {
          "description": "The Id of the Checkout/Order/Return to target.",
          "type": [
            "string",
            "null"
          ]
        },
        "targetNumber": {
          "description": "The number of the Checkout/Order/Return to target.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "targetType": {
          "description": "Specifies if the Mozu.CommerceRuntime.Contracts.Payments.PaymentActionTarget.TargetId is a Checkout Id, Order Id, or Return Id.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PaymentCard": {
      "description": "If the customer is paying by credit card, the card holder's details, such as the name on the card, number, billing \naddress, and expiration dates.",
      "properties": {
        "bin": {
          "description": "Year when the card expires.",
          "type": [
            "string",
            "null"
          ]
        },
        "cardNumberPartOrMask": {
          "description": "The visible part of the card number that the merchant uses to refer to \npayment information, for example, the last for digits of the card number.",
          "type": [
            "string",
            "null"
          ]
        },
        "ccLastFour": {
          "description": "Last four digit of Credit card\nOnly for OMS Only tenant.",
          "type": [
            "string",
            "null"
          ]
        },
        "expireMonth": {
          "description": "Month when the card expires.",
          "format": "int32",
          "type": "integer"
        },
        "expireYear": {
          "description": "Year when the card expires.",
          "format": "int32",
          "type": "integer"
        },
        "isCardInfoSaved": {
          "description": "If true, the card information is stored in the customer's account.",
          "type": "boolean"
        },
        "isTokenized": {
          "description": "If true, the card is tokenized by external provider",
          "type": "boolean"
        },
        "isUsedRecurring": {
          "description": "If true, the credit card is charged on a regular interval, such as for a subscription. (Not supported currently.)",
          "type": [
            "boolean",
            "null"
          ]
        },
        "nameOnCard": {
          "description": "Card holder's name as it appears on the card.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentOrCardType": {
          "description": "Card type such as Visa, MasterCard, American Express, or Discover.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentServiceCardId": {
          "description": "Credit card number.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PaymentGatewayResponseData": {
      "description": "Payment gateway reponse data",
      "properties": {
        "key": {
          "description": "Key from payment gateway",
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "description": "Value from payment gateway",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PaymentInteraction": {
      "description": "A single interaction of a potential list of intereactions for a transaction. The scope of the transaction is the entire payment\ninterchange. It is created upon authorization and is used for all subsequent interactions performed against the authorize,\nsuch as consecutive captures.",
      "properties": {
        "amount": {
          "description": "Amount of funds associated with this interaction.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "capturableShipmentsSummary": {
          "description": "Stores pairings of shipment number to shipment total for all captured shipments. This was added for generating TLogs.",
          "items": {
            "$ref": "#/$defs/CapturableShipmentSummary"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "checkNumber": {
          "description": "If paying by check, the check number.",
          "type": [
            "string",
            "null"
          ]
        },
        "currencyCode": {
          "description": "ISO currency code for the transaction. Currently, only USD is supported.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayAVSCodes": {
          "description": "Gateway AVS Codes. Supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayAuthCode": {
          "description": "If required by the payment gateway, the authorization code of the transaction. Supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayCVV2Codes": {
          "description": "Gateway CVV2 Codes. Supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayInteractionId": {
          "description": "Unique identifier of the gateway interaction. Used for credit card transactions, where the\npayment service creates a GatewayInteractionId for each transaction interaction.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "gatewayResponseCode": {
          "description": "Gateway response code. Supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayResponseData": {
          "description": "A List of payment response data required to act on authorization when using external order management systems",
          "items": {
            "$ref": "#/$defs/PaymentGatewayResponseData"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "gatewayResponseText": {
          "description": "Gateway response text. Supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "gatewayTransactionId": {
          "description": "Unique identifier of the transaction supplied by PCIaaS.",
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "description": "Unique identifier of this payment transaction interaction.",
          "type": [
            "string",
            "null"
          ]
        },
        "interactionDate": {
          "description": "Date the interaction occurred",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "interactionType": {
          "description": "Types of transaction interactions which can be \"Authorization,\" \"Capture,\" \"AuthorizeAndCapture,\"\n\"Void,\" or \"Credit,\" \"CheckRequested,\" or \"CheckReceived.\"",
          "type": [
            "string",
            "null"
          ]
        },
        "isManual": {
          "description": "If the payment is a manual payment, this is set to true",
          "type": "boolean"
        },
        "isPending": {
          "description": "If true, indicates payment action is still pending and not yet confirmed.",
          "type": "boolean"
        },
        "isRecurring": {
          "description": "If true, the product is purchased or fulfilled at regular intervals, for example, a monthly billing or a subscription. (Not currently implemented.)",
          "type": [
            "boolean",
            "null"
          ]
        },
        "note": {
          "description": "Note to be entered by merchant/application",
          "type": [
            "string",
            "null"
          ]
        },
        "orderId": {
          "description": "Unique identifier of the order with which this transaction is associated.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentEntryStatus": {
          "description": "Status of the payment when the transaction interaction was created",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentId": {
          "description": "Unique identifier of the original transaction of which this current interaction is a part.",
          "type": [
            "string",
            "null"
          ]
        },
        "paymentTransactionInteractionIdReference": {
          "description": "Unique identifier of previous PaymentTransactionInteraction that this PaymentTransactionInteraction is modifying.\nFor instance, when crediting a capture, set the PaymentTransactionInteractionIdReference to the capture PaymentTransactionInteractionID.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "refundId": {
          "description": "Refund Id, if the interaction is for a stand alone refund.",
          "type": [
            "string",
            "null"
          ]
        },
        "returnId": {
          "description": "Return Id, if the interaction is a Credit for a return-refund.",
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "description": "Status of the payment transaction interaction which can be either \"Success\" or \"Failure.\"",
          "type": [
            "string",
            "null"
          ]
        },
        "target": {
          "$ref": "#/$defs/PaymentActionTarget"
        }
      },
      "type": "object"
    },
    "PaymentToken": {
      "properties": {
        "paymentServiceTokenId": {
          "type": [
            "string",
            "null"
          ]
        },
        "provider": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Phone": {
      "properties": {
        "home": {
          "type": [
            "string",
            "null"
          ]
        },
        "mobile": {
          "type": [
            "string",
            "null"
          ]
        },
        "work": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Product": {
      "description": "The product as it appears on the order item.",
      "properties": {
        "allocationExpiration": {
          "description": "Allocation ID associated with this product on this order.",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "allocationId": {
          "description": "Allocation ID associated with this product on this order.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "bundledProducts": {
          "description": "Products bundled with this product (if the current product is a bundle)",
          "items": {
            "$ref": "#/$defs/BundledProduct"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "categories": {
          "description": "Categories to which this product belongs.",
          "items": {
            "$ref": "#/$defs/Category"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "condition": {
          "description": "Condition",
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "description": "Short description of the product in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "discountsRestricted": {
          "description": "Is the product discount restricted",
          "type": [
            "boolean",
            "null"
          ]
        },
        "discountsRestrictedEndDate": {
          "description": "Product discount restriction end date",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "discountsRestrictedStartDate": {
          "description": "Product discount restriction start date",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "fulfillmentFields": {
          "description": "List of unique product identifiers for an item on shipment",
          "items": {
            "$ref": "#/$defs/FulfillmentField"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "fulfillmentStatus": {
          "description": "Fulfillment status of the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "fulfillmentTypesSupported": {
          "description": "Types of fulfillment that are supported for this product.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "goodsType": {
          "description": "Goods Type",
          "type": [
            "string",
            "null"
          ]
        },
        "imageAlternateText": {
          "description": "Descriptive text of the image associated with the product in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "imageUrl": {
          "description": "URL of the image that appears next to the product on the order item. Optional.",
          "type": [
            "string",
            "null"
          ]
        },
        "isPackagedStandAlone": {
          "description": "Indicates that this product ships by itself.",
          "type": "boolean"
        },
        "isRecurring": {
          "description": "If true, the product is purchased or fulfilled at regular intervals, for example, a monthly billing or a subscription.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "isTaxable": {
          "description": "If true, the product is eligible for tax.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "measurements": {
          "$ref": "#/$defs/PackageMeasurements"
        },
        "mfgPartNumber": {
          "description": "Manufacturing Part Number of the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "description": "Name of the product, this is the current value of the product's name in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "options": {
          "description": "If the product contains configurable or stand-alone options, the list of product options that the shopper selected for this product.",
          "items": {
            "$ref": "#/$defs/ProductOption"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "price": {
          "$ref": "#/$defs/ProductPrice"
        },
        "productCode": {
          "description": "Merchant-created code that uniquely identifies the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "productReservationId": {
          "description": "Reservation ID associated with this product in the bundle.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "productType": {
          "description": "Type of product, which can be a product with configurable options, a product with stand-alone options, or a simple product with no options.",
          "type": [
            "string",
            "null"
          ]
        },
        "productUsage": {
          "description": "Usage of the product, primarily used to indicate a bundle in this context",
          "type": [
            "string",
            "null"
          ]
        },
        "properties": {
          "description": "If the product contains properties, the list of properties that the shopper selected for this product.",
          "items": {
            "$ref": "#/$defs/ProductProperty"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "serialNumber": {
          "description": "Serial Number",
          "type": [
            "string",
            "null"
          ]
        },
        "sku": {
          "description": "Product Identifier specific to the store",
          "type": [
            "string",
            "null"
          ]
        },
        "stock": {
          "$ref": "#/$defs/ProductStock"
        },
        "upc": {
          "description": "Universal Product Code of the product.",
          "type": [
            "string",
            "null"
          ]
        },
        "variationProductCode": {
          "description": "For configurable products, the unique identifier of the product variation that has been selected.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ProductOption": {
      "description": "Product option for the product listed on this order item. If the product contains \nconfigurable or stand-alone options, this is a product option that the shopper has selected.",
      "properties": {
        "attributeFQN": {
          "description": "Value of the product option.",
          "type": [
            "string",
            "null"
          ]
        },
        "dataType": {
          "description": "Value of the product option.",
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "description": "Name of the product option that appears with the order item in the language specified by LocaleCode.",
          "type": [
            "string",
            "null"
          ]
        },
        "shopperEnteredValue": {
          "description": "The value entered by the shopper if this is an option that requires shopper input, for example, a monogram.",
          "nullable": true
        },
        "stringValue": {
          "description": "Value of the product option.",
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "description": "Value of the product option.",
          "nullable": true
        }
      },
      "type": "object"
    },
    "ProductPrice": {
      "description": "Price of the product with any sale and discounts applied.",
      "properties": {
        "creditValue": {
          "description": "Credit Value when the product happens to be a gift card or similar product",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "isOverRidePriceSalePrice": {
          "description": "Indicate that External Price (TenantOverridePrice) is a Sale Price. And is used to calculate the line item discounts.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "msrp": {
          "description": "MSRP of product.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "price": {
          "description": "Price of the product. This is the price that the merchant intends to sell the product if no sale price is present.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "priceListCode": {
          "description": "Pricelist code for the product",
          "type": [
            "string",
            "null"
          ]
        },
        "priceListEntryMode": {
          "description": "Pricelist entry mode of the product.\nNote: possible values are below\n1. null : Product doesn't participate in pricelist\n2. Bulk : Bulk volume price available(unit price vary based on quantity)\n3. Simple:",
          "type": [
            "string",
            "null"
          ]
        },
        "salePrice": {
          "description": "Current sale price of the product, which is a specific numerical amount (not a percentage off).",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "tenantOverridePrice": {
          "description": "An override price applied on the product by the tenant.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ProductProperty": {
      "properties": {
        "attributeFQN": {
          "type": [
            "string",
            "null"
          ]
        },
        "dataType": {
          "type": [
            "string",
            "null"
          ]
        },
        "isMultiValue": {
          "type": "boolean"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "values": {
          "items": {
            "$ref": "#/$defs/ProductPropertyValue"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ProductPropertyValue": {
      "properties": {
        "stringValue": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "nullable": true
        }
      },
      "type": "object"
    },
    "ProductStock": {
      "properties": {
        "aggregateInventory": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "availableDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "availableFutureInventories": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "futureInventories": {
          "items": {
            "$ref": "#/$defs/FutureInventory"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "isOnBackOrder": {
          "type": "boolean"
        },
        "isSubstitutable": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "manageStock": {
          "type": "boolean"
        },
        "stockAvailable": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "totalAvailableStock": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PurchaseOrderCustomField": {
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "label": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PurchaseOrderPayment": {
      "description": "Purchase order payment",
      "properties": {
        "customFields": {
          "description": "Memo/custom fields",
          "items": {
            "$ref": "#/$defs/PurchaseOrderCustomField"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "paymentTerm": {
          "$ref": "#/$defs/PurchaseOrderPaymentTerm"
        },
        "purchaseOrderNumber": {
          "description": "Purchase order number",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "PurchaseOrderPaymentTerm": {
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ShippingDiscount": {
      "description": "Value of the shipping discount.",
      "properties": {
        "discount": {
          "$ref": "#/$defs/AppliedDiscount"
        },
        "methodCode": {
          "description": "Unique identifier of the shipping method discount.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SubPayment": {
      "properties": {
        "amountCollected": {
          "format": "double",
          "type": "number"
        },
        "amountCredited": {
          "format": "double",
          "type": "number"
        },
        "amountRefunded": {
          "format": "double",
          "type": "number"
        },
        "amountRequested": {
          "format": "double",
          "type": "number"
        },
        "status": {
          "type": [
            "string",
            "null"
          ]
        },
        "target": {
          "$ref": "#/$defs/PaymentActionTarget"
        }
      },
      "type": "object"
    },
    "SubscriptionAttribute": {
      "allOf": [
        {
          "$ref": "#/$defs/OrderAttribute"
        },
        {
          "additionalProperties": false,
          "type": "object"
        }
      ]
    },
    "SubscriptionItem": {
      "properties": {
        "adjustedLineItemSubtotal": {
          "description": "Order Level taxable sub total",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "attributes": {
          "description": "Extensible attributes for this subscription line.",
          "items": {
            "$ref": "#/$defs/SubscriptionLineAttribute"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "autoAddDiscountId": {
          "description": "Track the discoutid from which the item was auto added",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "childItemIds": {
          "description": "List of Child Item Ids for this order item",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "data": {
          "description": "Custom data for a given vendor set within the commerce process.",
          "type": [
            "object",
            "null"
          ]
        },
        "discountTotal": {
          "description": "How much the shopper saves with the applied discount or sale price. This is a negative number.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "discountedTotal": {
          "description": "Subtotal minus any discounts.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "dutyAmount": {
          "description": "Indicate Duty Amount for this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "extendedTotal": {
          "description": "Line item extended total (quantity multiplied by unit extended price) before discounts.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "feeTotal": {
          "description": "Not implemented. Total cost of fees that apply to this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "fulfillmentLocationCode": {
          "description": "Location code from which to obtain this item",
          "type": [
            "string",
            "null"
          ]
        },
        "fulfillmentMethod": {
          "description": "Fulfillment method used to fulfill this item",
          "type": [
            "string",
            "null"
          ]
        },
        "handlingAmount": {
          "description": "Product-level handling fee for this item (e.g. special packaging, hazmat fees).\nThis does NOT include order-level handling fees — those are in Mozu.CommerceRuntime.Contracts.Commerce.CommerceItem.WeightedOrderHandlingFee.\nTotal handling on the shipment = HandlingAmount + WeightedOrderHandlingFee.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "id": {
          "description": "Unique identifier of the order line item. System-supplied and read-only.",
          "type": [
            "string",
            "null"
          ]
        },
        "inventoryTags": {
          "items": {
            "$ref": "#/$defs/InventoryTags"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "isAssemblyRequired": {
          "description": "Assembly Required for this order item",
          "type": "boolean"
        },
        "isOnetimeItem": {
          "description": "is onetime item",
          "type": "boolean"
        },
        "isRecurring": {
          "description": "If true, the cart item lists a product that can be purchased or fulfilled at regular intervals, for example, monthly billing or a subscription.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "isTaxable": {
          "description": "Not implemented. If true, the cart item is eligible for tax.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "itemTaxTotal": {
          "description": "Total price of taxes that apply to products in this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "lineId": {
          "description": "The line id assigned to the order item. Visible only in the Admin, this is set from the Admin or\nin CommerceRuntime when a cart is converted to an order.",
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "lineItemAdjustment": {
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "localeCode": {
          "description": "Locale code for language that appears in text and descriptions on the site, for example, en_US. \nThis is not the currency code. Currently only en_US is supported.",
          "type": [
            "string",
            "null"
          ]
        },
        "parentItemCode": {
          "description": "Product code of the parent item if split because of the splitItemOnSubsription attribute on the item",
          "type": [
            "string",
            "null"
          ]
        },
        "parentItemId": {
          "description": "Indicates Parent Item Id for this order item",
          "type": [
            "string",
            "null"
          ]
        },
        "product": {
          "$ref": "#/$defs/Product"
        },
        "productDiscount": {
          "$ref": "#/$defs/AppliedLineItemProductDiscount"
        },
        "productDiscounts": {
          "description": "A list of discounts applied to the product",
          "items": {
            "$ref": "#/$defs/AppliedLineItemProductDiscount"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "purchaseLocation": {
          "description": "The location where the product is being purchased.. default is null. Products can have different prices\nby purchaseLocation via custom priceListResolution...",
          "type": [
            "string",
            "null"
          ]
        },
        "quantity": {
          "description": "Number of products ordered.",
          "format": "int32",
          "type": "integer"
        },
        "shippingAmountBeforeDiscountsAndAdjustments": {
          "description": "Shipping amount before Discounts and adjustments",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "shippingDiscounts": {
          "description": "A discount applied to the shipping",
          "items": {
            "$ref": "#/$defs/AppliedLineItemShippingDiscount"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "shippingMethodCode": {
          "description": "Code that uniquely identifies the shipping method.",
          "type": [
            "string",
            "null"
          ]
        },
        "shippingMethodName": {
          "description": "Readable name of the shipping method.",
          "type": [
            "string",
            "null"
          ]
        },
        "shippingTaxTotal": {
          "description": "Total price of taxes that apply to the shipping of this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "shippingTotal": {
          "description": "Total price of shipping that apply to this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "substituteInfo": {
          "$ref": "#/$defs/SubstituteInfo"
        },
        "subtotal": {
          "description": "Line item subtotal (quantity multiplied by price) before discounts.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "taxData": {
          "description": "Storage for any additional/custom tax data.",
          "type": [
            "object",
            "null"
          ]
        },
        "taxableTotal": {
          "description": "Line item subtotal (quantity multiplied by price) before discounts.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "total": {
          "description": "Total price of this cart item taking into account any discounts.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "totalWithWeightedShippingAndHandling": {
          "description": "Line item total with line item, Tax, Weighted Tax with Weighted shipping and handling costs",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "totalWithoutWeightedShippingAndHandling": {
          "description": "Taxable Subtotal including Weighted Order amounts",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "unitPrice": {
          "$ref": "#/$defs/CommerceUnitPrice"
        },
        "weightedOrderAdjustment": {
          "description": "Order Level Manual Adjustment applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderDiscount": {
          "description": "Order Level Discount applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderDuty": {
          "description": "Order Level Duty applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderHandlingAdjustment": {
          "description": "Order-level handling manual adjustment allocated to this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderHandlingFee": {
          "description": "Order-level handling fee allocated to this item (e.g. flat handling fee spread across all items).\nThis is separate from product-level handling in Mozu.CommerceRuntime.Contracts.Commerce.CommerceItem.HandlingAmount.\nTotal handling on the shipment = HandlingAmount + WeightedOrderHandlingFee.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderHandlingFeeDiscount": {
          "description": "Order-level handling fee discount allocated to this item.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderHandlingFeeTax": {
          "description": "Total handling tax for this item (covers both product-level and order-level handling tax combined).\nOn the shipment item, this is split into: HandlingTax (total) and WeightedOrderHandlingFeeTax (order-level portion only).",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderShipping": {
          "description": "Order Level Shipping applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderShippingDiscount": {
          "description": "Order Level Shipping discount applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderShippingManualAdjustment": {
          "description": "Order Level Shipping Manual Adjustment applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderShippingTax": {
          "description": "Order Level Shipping Tax applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "weightedOrderTax": {
          "description": "Order Level tax applied to this Item",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SubscriptionLineAttribute": {
      "description": "Attribute instance on a Subscription line item.",
      "properties": {
        "attributeDefinitionId": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "auditInfo": {
          "$ref": "#/$defs/CoreApiContractsAuditInfo"
        },
        "fullyQualifiedName": {
          "type": [
            "string",
            "null"
          ]
        },
        "values": {
          "items": {},
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SubscriptionReason": {
      "properties": {
        "actionName": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "moreInfo": {
          "type": [
            "string",
            "null"
          ]
        },
        "reasonCode": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SubstituteInfo": {
      "properties": {
        "optIn": {
          "description": "Determines if and when substitution is allowed. Allowed values are `None`, `Yes`, `No`, or `OnlyAtFulfillment`. Default is `None`.",
          "type": [
            "string",
            "null"
          ]
        },
        "substituteProductCode": {
          "description": "Allows user to provide a specific product that should be substituted if substitution occurs.",
          "type": [
            "string",
            "null"
          ]
        },
        "substituteVariantCode": {
          "description": "Allows user to provide a specific variant that should be substituted if substitution occurs.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Trial": {
      "properties": {
        "duration": {
          "description": "Trial duration in days",
          "format": "int32",
          "type": "integer"
        },
        "enabled": {
          "description": "Indicates if the trial is enabled",
          "type": "boolean"
        },
        "substituteProductCode": {
          "description": "Product code to substitute once the trial period is finished.",
          "type": [
            "string",
            "null"
          ]
        },
        "substituteProductOptions": {
          "description": "Configurable Options to substitute once the trial period is finished.",
          "items": {
            "$ref": "#/$defs/ProductOption"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "substituteProductQuantity": {
          "description": "Product quantity to substitute once the trail period is finished.",
          "format": "int32",
          "type": "integer"
        },
        "substituteVariationProductCode": {
          "description": "Variation product code to substitute once the trail period is finished.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    }
  }
}