{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/json-schema/checkout-additional-data-level23-schema.json",
  "title": "AdditionalDataLevel23",
  "description": "AdditionalDataLevel23 schema from Adyen API",
  "type": "object",
  "properties": {
    "enhancedSchemeData.customerReference": {
      "description": "The customer code.\n* Encoding: ASCII\n* Max length: 25 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.destinationCountryCode": {
      "description": "The three-letter [ISO 3166-1 alpha-3 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) for the destination address.\n* Encoding: ASCII\n* Fixed length: 3 characters",
      "type": "string"
    },
    "enhancedSchemeData.destinationPostalCode": {
      "description": "The postal code of the destination address.\n* Encoding: ASCII\n* Max length: 10 characters\n* Must not start with a space",
      "type": "string"
    },
    "enhancedSchemeData.destinationStateProvinceCode": {
      "description": "Destination state or province code.\n* Encoding: ASCII\n* Max length: 3 characters\n* Must not start with a space",
      "type": "string"
    },
    "enhancedSchemeData.dutyAmount": {
      "description": "The duty amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters",
      "type": "string"
    },
    "enhancedSchemeData.freightAmount": {
      "description": "The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n*Max length: 12 characters",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": {
      "description": "The [UNSPC commodity code](https://www.unspsc.org/) of the item.\n* Encoding: ASCII\n* Max length: 12 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].description": {
      "description": "A description of the item.\n* Encoding: ASCII\n* Max length: 26 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": {
      "description": "The discount amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].productCode": {
      "description": "The product code.\n* Encoding: ASCII.\n* Max length: 12 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].quantity": {
      "description": "The number of items. Must be an integer greater than zero.\n* Encoding: Numeric\n* Max length: 12 characters\n* Must not start with a space or be all spaces\n\n",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": {
      "description": "The total amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Max length: 12 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": {
      "description": "The unit of measurement for an item.\n* Encoding: ASCII\n\nMax length: 3 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": {
      "description": "The unit price in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.orderDate": {
      "description": "The order date.\n* Format: `ddMMyy`\n* Encoding: ASCII\n* Max length: 6 characters",
      "type": "string"
    },
    "enhancedSchemeData.shipFromPostalCode": {
      "description": "The postal code of the address the item is shipped from.\n* Encoding: ASCII\n* Max length: 10 characters\n* Must not start with a space or be all spaces\n* Must not be all zeros.",
      "type": "string"
    },
    "enhancedSchemeData.totalTaxAmount": {
      "description": "The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n*Encoding: Numeric\n*Max length: 12 characters\n* Must not be all zeros.",
      "type": "string"
    }
  }
}