OrderCreated
v0.0.1

OrderCreated

This event is triggered when an order is created

OrderCreated Schema (json)
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "OrderCreated",
  "required": ["detail-type", "resources", "detail", "id", "source", "time", "region", "version", "account"],
  "type": "object",
  "x-amazon-events-detail-type": "OrderCreated",
  "x-amazon-events-source": "brink.external.v1",
  "properties": {
    "account": {
      "type": "string"
    },
    "detail": {
      "$ref": "#/definitions/Detail"
    },
    "detail-type": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "resources": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "source": {
      "type": "string"
    },
    "time": {
      "format": "date-time",
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  },
  "definitions": {
    "Detail": {
      "properties": {
        "data": {
          "$ref": "#/definitions/Data"
        },
        "metadata": {
          "$ref": "#/definitions/Metadata"
        }
      },
      "required": ["metadata", "data"],
      "type": "object"
    },
    "Metadata": {
      "type": "object",
      "required": ["awsRequestId"],
      "properties": {
        "awsRequestId": {
          "type": "string"
        }
      }
    },
    "Data": {
      "$ref": "#/definitions/Order"
    },
    "Order": {
      "type": "object",
      "required": [
        "id",
        "date",
        "channelType",
        "isTaxExemptionEligible",
        "isTaxExempt",
        "taxationCountry",
        "billingAddress",
        "countryCode",
        "creator",
        "currencyCode",
        "discountOutcome",
        "discountRules",
        "discountCodeRules",
        "discountExternalRules",
        "isTaxIncludedInPrice",
        "languageCode",
        "orderLines",
        "totals",
        "payment",
        "reference",
        "shippingAddress",
        "shippingFees",
        "storeGroupId",
        "sessionId",
        "version"
      ],
      "properties": {
        "attributes": {
          "$ref": "#/definitions/Attributes"
        },
        "channelType": {
          "type": "string",
          "description": "Channel type, i.e. B2B or B2C",
          "enum": ["B2B", "B2C"]
        },
        "isTaxExemptionEligible": {
          "type": "boolean",
          "description": "If the order is eligible for tax exemption (B2B)"
        },
        "isTaxExempt": {
          "type": "boolean",
          "description": "If the order is tax exempt (B2B)"
        },
        "taxationCountry": {
          "$ref": "#/definitions/CountryCode"
        },
        "date": {
          "type": "string",
          "description": "When this order was complete",
          "format": "date-timestamp"
        },
        "isTaxIncludedInPrice": {
          "type": "boolean",
          "description": "Whether prices include tax or not"
        },
        "shippingFees": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ShippingFee"
          }
        },
        "totals": {
          "type": "object",
          "required": [
            "discountTotal",
            "grandTotal",
            "shippingTotal",
            "subTotal",
            "taxTotal",
            "giftCardTotal",
            "bonusTotal"
          ],
          "properties": {
            "subTotal": {
              "type": "integer",
              "description": "Sub total amount for the order"
            },
            "taxTotal": {
              "type": "integer",
              "description": "Total tax for the order"
            },
            "discountTotal": {
              "type": "integer",
              "description": "Total discount amount for the order"
            },
            "shippingTotal": {
              "type": "integer",
              "description": "Total shipping amount for the order"
            },
            "voucherTotal": {
              "type": "integer",
              "description": "Voucher total is deprecated, it is not part of the discountTotal"
            },
            "giftCardTotal": {
              "type": "integer",
              "description": "Gift card total amount for the order"
            },
            "bonusTotal": {
              "type": "integer",
              "description": "Bonus total amount for the order"
            },
            "grandTotal": {
              "type": "integer",
              "description": "Grand total amount for the order"
            }
          }
        },
        "discountRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["id", "name", "discountAmount", "currencyCode", "freeShipping"],
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the discount rule"
              },
              "id": {
                "type": "string",
                "description": "Id of the discount rule"
              },
              "discountAmount": {
                "type": "integer",
                "format": "int64",
                "description": "Amount of the discount rule"
              },
              "currencyCode": {
                "type": "string",
                "description": "Currency code for the discount rule"
              },
              "freeShipping": {
                "type": "boolean",
                "description": "If free shipping was applied by the discount rule"
              },
              "shippingTags": {
                "description": "Shipping tags passed to the shipping provider by the discount rule",
                "type": ["array", "null"],
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "discountCodeRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["id", "name", "code", "discountAmount", "currencyCode", "freeShipping"],
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the discount code rule"
              },
              "id": {
                "type": "string",
                "description": "Id of the discount code rule"
              },
              "code": {
                "type": "string",
                "description": "Code of the discount code rule"
              },
              "discountAmount": {
                "type": "integer",
                "format": "int64",
                "description": "Amount of the discount code rule"
              },
              "currencyCode": {
                "type": "string",
                "description": "Currency code for the discount code rule"
              },
              "freeShipping": {
                "type": "boolean",
                "description": "If free shipping was applied by the discount code rule"
              },
              "shippingTags": {
                "description": "Shipping tags passed to the shpping provider by the discount code rule",
                "type": ["array", "null"],
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "discountExternalRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["id", "name", "discountAmount", "currencyCode", "freeShipping"],
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the discount external rule"
              },
              "id": {
                "type": "string",
                "description": "Id of the discount external rule"
              },
              "discountAmount": {
                "type": "integer",
                "format": "int64",
                "description": "Amount of the discount external rule"
              },
              "currencyCode": {
                "type": "string",
                "description": "Currency code for the discount external rule"
              },
              "freeShipping": {
                "type": "boolean",
                "description": "If free shipping was applied by the discount external rule"
              },
              "shippingTags": {
                "description": "Shipping tags passed to the shpping provider by the discount external rule",
                "type": ["array", "null"],
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "languageCode": {
          "$ref": "#/definitions/LanguageCode"
        },
        "reference": {
          "type": "string",
          "description": "The shorter order reference"
        },
        "shipping": {
          "type": "object",
          "required": ["providerName", "providerId", "reference", "additional"],
          "properties": {
            "reference": {
              "type": "string",
              "description": "Shipping reference"
            },
            "providerId": {
              "type": "string",
              "description": "Shipping provider ID"
            },
            "additional": {
              "type": "object",
              "properties": {
                "ingrid": {
                  "$ref": "#/definitions/ShippingAdditionalIngrid"
                },
                "nshift": {
                  "$ref": "#/definitions/ShippingAdditionalNshift"
                },
                "klarnaShippingAssistant": {
                  "$ref": "#/definitions/ShippingAdditionalKlarnaShippingAssistant"
                },
                "walleyDeliveryModule": {
                  "$ref": "#/definitions/ShippingAdditionalWalleyDeliveryModule"
                },
                "qliroIntegratedShipping": {
                  "$ref": "#/definitions/ShippingAdditionalQliroIntegratedShipping"
                },
                "avardaShippingBroker": {
                  "$ref": "#/definitions/ShippingAdditionalAvardaShippingBroker"
                }
              }
            },
            "providerName": {
              "type": "string",
              "description": "Shipping provider name"
            },
            "providerError": {
              "type": "string",
              "description": "Provider error"
            }
          }
        },
        "orderLines": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderLine"
          }
        },
        "discountCode": {
          "$ref": "#/definitions/DiscountCode"
        },
        "storeGroupId": {
          "type": "string",
          "description": "The id of the store group"
        },
        "countryCode": {
          "$ref": "#/definitions/CountryCode"
        },
        "shippingAddress": {
          "$ref": "#/definitions/OrderAddress"
        },
        "payment": {
          "$ref": "#/definitions/Payment"
        },
        "id": {
          "type": "string",
          "description": "The order id"
        },
        "sessionId": {
          "type": "string",
          "description": "The underlying session id"
        },
        "creator": {
          "$ref": "#/definitions/Creator"
        },
        "billingAddress": {
          "$ref": "#/definitions/OrderAddress"
        },
        "discountOutcome": {
          "$ref": "#/definitions/OrderDiscountOutcome"
        },
        "currencyCode": {
          "$ref": "#/definitions/CurrencyCode"
        },
        "giftCard": {
          "type": "object",
          "required": ["status", "providerId", "providerName", "giftCards"],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order gift card reservation/redeem status"
            },
            "providerId": {
              "type": "string",
              "description": "Gift card provider ID"
            },
            "additional": {
              "type": "object",
              "properties": {
                "retain24": {
                  "$ref": "#/definitions/GiftCardAdditionalRetain24"
                }
              }
            },
            "providerName": {
              "type": "string",
              "description": "Gift card provider name"
            },
            "giftCards": {
              "type": "array",
              "description": "Gift cards used in order",
              "items": {
                "type": "object",
                "required": ["id", "status", "amount", "currencyCode"],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Gift card ID"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Amount used"
                  },
                  "reservationId": {
                    "type": "string",
                    "description": "Reservation ID"
                  },
                  "redeemId": {
                    "type": "string",
                    "description": "Redeem ID"
                  },
                  "currencyCode": {
                    "$ref": "#/definitions/CurrencyCode"
                  },
                  "status": {
                    "type": "string",
                    "description": "Reservation/Redeem status",
                    "enum": ["RESERVED", "RESERVATION_FAILED", "REDEEMED", "REDEEM_FAILED"]
                  }
                }
              }
            }
          }
        },
        "giftCardProduct": {
          "type": "object",
          "required": ["status", "providerId", "providerName", "giftCards"],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order gift card product status"
            },
            "providerId": {
              "type": "string",
              "description": "Gift card product provider ID"
            },
            "additional": {
              "type": "object",
              "properties": {
                "retain24": {
                  "$ref": "#/definitions/GiftCardProductAdditionalRetain24"
                }
              }
            },
            "providerName": {
              "type": "string",
              "description": "Gift card provider name"
            },
            "giftCardProducts": {
              "type": "array",
              "description": "Gift card products used in order",
              "items": {
                "type": "object",
                "required": ["id", "status", "amount", "currencyCode", "name", "distribution"],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Gift card product ID"
                  },
                  "currencyCode": {
                    "$ref": "#/definitions/CurrencyCode"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Gift card product amount"
                  },
                  "name": {
                    "type": "string",
                    "description": "Gift card product name"
                  },
                  "distribution": {
                    "type": "string",
                    "description": "Distribution of the gift card product"
                  },
                  "recipient": {
                    "type": "string",
                    "description": "Recipient information used for gift card product distribution"
                  },
                  "status": {
                    "type": "string",
                    "description": "Creation status"
                  },
                  "transactionId": {
                    "type": "string",
                    "description": "External transactional id for the gift card product creation"
                  },
                  "failedReason": {
                    "type": "string",
                    "description": "External failed reason for the gift card product creation"
                  },
                  "merchantReference": {
                    "type": "string",
                    "description": "Optional reference field set by merchants"
                  }
                }
              }
            }
          }
        },
        "voucher": {
          "type": "object",
          "required": ["status", "providerId", "providerName", "vouchers"],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order voucher redeem status"
            },
            "providerId": {
              "type": "string",
              "description": "Voucher provider ID"
            },
            "additional": {
              "type": "object",
              "properties": {
                "voyado": {
                  "$ref": "#/definitions/VoucherAdditionalVoyado"
                }
              }
            },
            "providerName": {
              "type": "string",
              "description": "Voucher provider name"
            },
            "vouchers": {
              "type": "array",
              "description": "Vouchers used in order",
              "items": {
                "type": "object",
                "required": ["id", "status", "amount", "currencyCode"],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Voucher ID"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Amount used"
                  },
                  "currencyCode": {
                    "$ref": "#/definitions/CurrencyCode"
                  },
                  "status": {
                    "type": "string",
                    "description": "Redeem status"
                  }
                }
              }
            }
          }
        },
        "promotion": {
          "type": "object",
          "required": ["status", "providerId", "providerName", "promotions"],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order promotion redeem status"
            },
            "providerId": {
              "type": "string",
              "description": "Promotion provider ID"
            },
            "additional": {
              "type": "object",
              "properties": {
                "voyado": {
                  "$ref": "#/definitions/PromotionAdditionalVoyado"
                }
              }
            },
            "providerName": {
              "type": "string",
              "description": "Promotion provider name"
            },
            "promotions": {
              "type": "array",
              "description": "Promotions used in order",
              "items": {
                "type": "object",
                "required": ["id", "status"],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Promotion ID"
                  },
                  "status": {
                    "type": "string",
                    "description": "Redeem status"
                  }
                }
              }
            }
          }
        },
        "gifts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Gift"
          }
        },
        "bonus": {
          "type": "object",
          "required": ["status", "providerId", "providerName", "customerId", "amount", "currencyCode"],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order bonus redeem status",
              "enum": ["RESERVED", "RESERVATION_FAILED"]
            },
            "providerId": {
              "type": "string",
              "description": "Bonus provider ID"
            },
            "providerName": {
              "type": "string",
              "description": "Bonus provider name"
            },
            "amount": {
              "type": "number",
              "description": "Bonus amount in minor units"
            },
            "currencyCode": {
              "$ref": "#/definitions/CurrencyCode"
            },
            "points": {
              "type": "number",
              "description": "Bonus points in minor units"
            },
            "reservationId": {
              "type": "string",
              "description": "Bonus reservation id"
            },
            "customerId": {
              "type": "string",
              "description": "Bonus customer id"
            },
            "failedReason": {
              "type": "string",
              "description": "Any reservation/redeem error message"
            }
          }
        },
        "revision": {
          "description": "Deprecated: the revision number of the order details, replaced by the version",
          "type": "integer",
          "minimum": 0
        },
        "status": {
          "$ref": "#/definitions/OrderStatus"
        },
        "version": {
          "description": "The combined order version. Summarizing the revision of all order parts, together with modifications and status changes. Newer update events will always have an incremental version update",
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "Attributes": {
      "type": ["object", "null"],
      "properties": {
        "merchantReference1": {
          "description": "Merchant reference 1",
          "type": "string"
        },
        "merchantReference2": {
          "description": "Merchant reference 2",
          "type": "string"
        },
        "company": {
          "type": ["object", "null"],
          "required": ["name", "registrationNumber", "taxId", "reference"],
          "properties": {
            "name": {
              "description": "Company name",
              "type": "string"
            },
            "registrationNumber": {
              "description": "National company registration/organisation number",
              "type": "string"
            },
            "taxId": {
              "description": "EU VAT Identification Number or equivalent",
              "type": "string"
            },
            "reference": {
              "description": "Order invoice reference",
              "type": "string"
            }
          }
        }
      }
    },
    "CurrencyCode": {
      "title": "CurrencyCode",
      "maxLength": 3,
      "minLength": 3,
      "pattern": "^[A-Z]{3}$",
      "type": "string",
      "description": "ISO 4217 currency code"
    },
    "LanguageCode": {
      "title": "LanguageCode",
      "pattern": "^[A-Za-z0-9_-]+$",
      "type": "string",
      "description": "Language code"
    },
    "Options": {
      "type": ["object", "null"],
      "description": "Item options",
      "patternProperties": {
        "^[A-Za-z0-9_-]{1,40}$": {
          "type": "string",
          "maxLength": 256
        }
      },
      "additionalProperties": false,
      "maxProperties": 10
    },
    "OrderLine": {
      "type": "object",
      "required": [
        "basePriceAmount",
        "discountOutcome",
        "currencyCode",
        "id",
        "description",
        "discountAmount",
        "displayDescription",
        "displayName",
        "distributedTotalDiscountAmount",
        "distributedTotalPriceAmount",
        "distributedTotalTaxAmount",
        "imageUrl",
        "name",
        "productParentId",
        "productVariantId",
        "quantity",
        "salePriceAmount",
        "taxGroupId",
        "taxPercentage",
        "taxPercentageDecimals",
        "totalDiscountAmount",
        "totalPriceAmount",
        "totalTaxAmount"
      ],
      "properties": {
        "displayDescription": {
          "type": "string",
          "description": "Display description of the product variant"
        },
        "quantity": {
          "type": "integer",
          "description": "Quantity of the order line"
        },
        "productVariantId": {
          "type": "string",
          "description": "ID of the product variant"
        },
        "distributedTotalPriceAmount": {
          "type": "integer",
          "description": "Total amount of the order line including distributed order discount"
        },
        "totalPriceAmount": {
          "type": "integer",
          "description": "Total amount of the order line"
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the product variant"
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "Total discount amount of the order line"
        },
        "salePriceAmount": {
          "type": "integer",
          "description": "Per unit sale price of the product variant"
        },
        "taxPercentage": {
          "type": "integer",
          "description": "Tax percentage for the order line"
        },
        "distributedTotalTaxAmount": {
          "type": "integer",
          "description": "Total tax amount for the order line including distributed order discount"
        },
        "description": {
          "type": "string",
          "description": "Description of the product variant"
        },
        "discountAmount": {
          "type": "integer",
          "description": "Per unit discount of the product variant"
        },
        "basePriceAmount": {
          "type": "integer",
          "description": "Per unit base unit price of the product variant"
        },
        "distributedTotalDiscountAmount": {
          "type": "integer",
          "description": "Total discount amount of the order line including distributed order discount"
        },
        "campaign": {
          "$ref": "#/definitions/CampaignIdentity"
        },
        "imageUrl": {
          "type": "string",
          "description": "URL to an image of the product variant"
        },
        "taxGroupId": {
          "type": "string",
          "description": "Tax group ID of the order line"
        },
        "name": {
          "type": "string",
          "description": "Name of the product variant"
        },
        "id": {
          "type": "string",
          "description": "Unique ID for the cart item"
        },
        "discountOutcome": {
          "$ref": "#/definitions/OrderLineDiscountOutcome"
        },
        "totalTaxAmount": {
          "type": "integer",
          "description": "Total tax amount for the order line"
        },
        "currencyCode": {
          "$ref": "#/definitions/CurrencyCode"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Number of decimals in tax percentage, eg. taxPercentage=2500 and taxPercentageDecimals=2 -> 25 % tax"
        },
        "productParentId": {
          "type": "string",
          "description": "ID of the product parent"
        },
        "options": {
          "$ref": "#/definitions/Options"
        }
      }
    },
    "OrderLineDiscountOutcome": {
      "title": "OrderLineDiscountOutcome",
      "type": "object",
      "required": ["codeRules", "cartRules", "externalRules", "totalDiscountAmount"],
      "properties": {
        "totalDiscountAmount": {
          "type": "integer",
          "description": "the total discount amount from discount rules applied on this order line"
        },
        "rules": {
          "type": "array",
          "deprecated": true,
          "items": {
            "type": "object",
            "required": ["discountAmount", "discountRuleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "discountRuleId": {
                "type": "string",
                "description": "id of the discount rule applying this discount"
              }
            }
          }
        },
        "codeRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "code", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "code": {
                "type": "string",
                "description": "code used to apply this discount"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount code rule applying this discount"
              }
            }
          }
        },
        "cartRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount cart rule applying this discount"
              }
            }
          }
        },
        "externalRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "reference", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "reference": {
                "type": "string",
                "description": "reference from the external party used to apply this discount"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount external rule applying this discount"
              }
            }
          }
        }
      }
    },
    "OrderDiscountOutcome": {
      "title": "OrderDiscountOutcome",
      "type": "object",
      "required": [
        "codeRules",
        "cartRules",
        "externalRules",
        "totalDiscountAmount",
        "discountReduction",
        "freeShipping"
      ],
      "properties": {
        "discountReduction": {
          "type": "integer",
          "description": "the amount reduced to prevent negative value"
        },
        "freeShipping": {
          "type": "boolean",
          "description": "if free shipping was applied by a discount rule"
        },
        "shippingTags": {
          "description": "Shipping tags passed to the shpping provider",
          "type": ["array", "null"],
          "items": {
            "type": "string"
          }
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "the total discount amount from discount rules applied directly on the order"
        },
        "rules": {
          "type": "array",
          "deprecated": true,
          "items": {
            "type": "object",
            "required": ["discountAmount", "discountRuleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "discountRuleId": {
                "type": "string",
                "description": "id of the discount rule applying this discount"
              }
            }
          }
        },
        "codeRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "code", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "code": {
                "type": "string",
                "description": "code used to apply this discount"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount code rule applying this discount"
              }
            }
          }
        },
        "cartRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount cart rule applying this discount"
              }
            }
          }
        },
        "externalRules": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["discountAmount", "reference", "ruleId"],
            "properties": {
              "discountAmount": {
                "type": "integer",
                "description": "the discount amount in minor units"
              },
              "reference": {
                "type": "string",
                "description": "reference from the external party used to apply this discount"
              },
              "ruleId": {
                "type": "string",
                "description": "id of the discount external rule applying this discount"
              }
            }
          }
        }
      }
    },
    "Creator": {
      "title": "Creator",
      "type": "object",
      "required": ["name"],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the creator, i.e. Brink or External"
        },
        "sessionId": {
          "type": "string",
          "description": "The underlying session id"
        },
        "checkoutId": {
          "type": "string",
          "description": "The underlying checkout id"
        },
        "importId": {
          "type": "string",
          "description": "Set if external is used"
        }
      }
    },
    "OrderAddress": {
      "type": "object",
      "required": [
        "city",
        "country",
        "familyName",
        "givenName",
        "postalCode",
        "stateOrProvince",
        "streetAddress",
        "streetAddress2",
        "email",
        "telephoneNumber"
      ],
      "properties": {
        "country": {
          "$ref": "#/definitions/CountryCode"
        },
        "stateOrProvince": {
          "type": "string"
        },
        "streetAddress": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "givenName": {
          "type": "string"
        },
        "familyName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "telephoneNumber": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        },
        "streetAddress2": {
          "type": "string"
        },
        "pcc": {
          "type": "string"
        }
      }
    },
    "DiscountCode": {
      "title": "DiscountCode",
      "type": "object",
      "required": ["code", "discountCodeRuleId"],
      "properties": {
        "code": {
          "type": "string",
          "description": "Discount code"
        },
        "discountCodeRuleId": {
          "type": "string",
          "description": "Id of the discount rule the code is connected to"
        }
      }
    },
    "CountryCode": {
      "title": "CountryCode",
      "maxLength": 2,
      "minLength": 2,
      "pattern": "^[A-Z]{2}$",
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code"
    },
    "ShippingFee": {
      "type": "object",
      "required": [
        "taxPercentageDecimals",
        "taxPercentage",
        "taxGroupId",
        "salePriceAmount",
        "name",
        "displayName",
        "discountAmount",
        "id",
        "currencyCode",
        "basePriceAmount",
        "taxAmount"
      ],
      "properties": {
        "basePriceAmount": {
          "type": "integer",
          "description": "Per unit base unit price of the shipping fee"
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the shipping fee"
        },
        "taxGroupId": {
          "type": "string",
          "description": "Tax group ID of the shipping fee"
        },
        "salePriceAmount": {
          "type": "integer",
          "description": "Per unit sale price of the shipping fee"
        },
        "taxPercentage": {
          "type": "integer",
          "description": "Tax percentage for the shipping fee"
        },
        "name": {
          "type": "string",
          "description": "Name of the shipping fee"
        },
        "discountAmount": {
          "type": "integer",
          "description": "Per unit discount of the shipping fee"
        },
        "id": {
          "type": "string",
          "description": "ID for the shipping fee item"
        },
        "taxAmount": {
          "type": "integer",
          "description": "Per unit discount of the shipping fee"
        },
        "currencyCode": {
          "$ref": "#/definitions/CurrencyCode"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Number of decimals in tax percentage, eg. taxPercentage=2500 and taxPercentageDecimals=2 -> 25 % tax"
        }
      }
    },
    "Payment": {
      "type": "object",
      "required": ["additional", "reference", "method", "providerId", "providerName"],
      "properties": {
        "reference": {
          "type": "string",
          "description": "Payment reference"
        },
        "method": {
          "type": "string",
          "description": "Payment method"
        },
        "providerId": {
          "type": "string",
          "description": "Payment provider ID"
        },
        "additional": {
          "type": "object",
          "properties": {
            "adyen": {
              "$ref": "#/definitions/PaymentAdditionalAdyen"
            },
            "klarnaCheckout": {
              "$ref": "#/definitions/PaymentAdditionalKlarnaCheckout"
            },
            "sveaCheckout": {
              "$ref": "#/definitions/PaymentAdditionalSveaCheckout"
            },
            "walleyCheckout": {
              "$ref": "#/definitions/PaymentAdditionalWalleyCheckout"
            },
            "qliroOne": {
              "$ref": "#/definitions/PaymentAdditionalQliroOne"
            },
            "brinkZeroPayment": {
              "$ref": "#/definitions/PaymentAdditionalBrinkZeroPayment"
            },
            "avarda": {
              "$ref": "#/definitions/PaymentAdditionalAvarda"
            }
          }
        },
        "providerName": {
          "type": "string",
          "description": "Payment provider name"
        }
      }
    },
    "PaymentAdditionalAdyen": {
      "type": "object",
      "required": ["merchantAccountCode", "potentialFraud", "paymentMethod", "pspReference", "status"],
      "properties": {
        "merchantAccountCode": {
          "type": "string",
          "description": "Adyen merchant account code"
        },
        "potentialFraud": {
          "type": "boolean",
          "description": "Adyen potential fraud flag"
        },
        "paymentMethod": {
          "type": "string",
          "description": "Adyen payment method, see https://docs.adyen.com/development-resources/paymentmethodvariant/"
        },
        "pspReference": {
          "type": "string",
          "description": "Adyen psp reference"
        },
        "status": {
          "type": "string",
          "description": "Adyen payment status"
        }
      }
    },
    "PaymentAdditionalAvarda": {
      "type": "object",
      "required": ["purchaseId", "status"],
      "properties": {
        "purchaseId": {
          "type": "string",
          "description": "Avarda purchase ID"
        },
        "status": {
          "type": "string",
          "description": "Avarda payment status"
        }
      }
    },
    "PaymentAdditionalKlarnaCheckout": {
      "type": "object",
      "required": ["klarnaOrderId", "klarnaMerchantId", "klarnaReference", "status"],
      "properties": {
        "klarnaOrderId": {
          "type": "string",
          "description": "Klarna order ID"
        },
        "klarnaMerchantId": {
          "type": "string",
          "description": "Klarna merchant ID"
        },
        "klarnaReference": {
          "type": "string",
          "description": "Klarna order reference"
        },
        "fraudStatus": {
          "type": "string",
          "description": "Fraud status"
        },
        "status": {
          "type": "string",
          "description": "Current status of the order"
        }
      }
    },
    "PaymentAdditionalSveaCheckout": {
      "type": "object",
      "required": ["sveaOrderId", "sveaMerchantId", "status", "sveaRowIds", "paymentType", "creationDate", "isCompany"],
      "properties": {
        "sveaOrderId": {
          "type": "integer",
          "format": "int64",
          "description": "Svea order ID"
        },
        "sveaMerchantId": {
          "type": "string",
          "description": "Svea merchant ID"
        },
        "status": {
          "type": "string",
          "description": "Current status of the order"
        },
        "sveaRowIds": {
          "type": "object",
          "description": "Svea row IDs",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          }
        },
        "paymentType": {
          "type": "string",
          "description": "Payment method used to finish the purchase"
        },
        "creationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order was created"
        },
        "expirationDate": {
          "type": "string",
          "format": "date-time",
          "description": "Date when the order expires"
        },
        "peppolId": {
          "type": "string",
          "description": "Company ID in the PEPPOL network for receiving PEPPOL invoices"
        },
        "isCompany": {
          "type": "boolean",
          "description": "If the customer is a company"
        },
        "sveaWillBuyOrder": {
          "type": "boolean",
          "description": "If Svea will buy the invoice or not"
        }
      }
    },
    "PaymentAdditionalWalleyCheckout": {
      "type": "object",
      "required": ["status", "amountToPay", "purchaseIdentifier", "purchaseResult", "totalAmount"],
      "properties": {
        "status": {
          "type": "string"
        },
        "amountToPay": {
          "type": "number",
          "format": "double"
        },
        "purchaseIdentifier": {
          "type": "string"
        },
        "purchaseResult": {
          "type": "string"
        },
        "totalAmount": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "PaymentAdditionalQliroOne": {
      "type": "object",
      "required": [
        "status",
        "requireIdentityVerification",
        "identityVerified",
        "privateVerificationCode",
        "orderId",
        "orderItems"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "Qliro One Checkout Status"
        },
        "paymentTypeCode": {
          "type": "string",
          "description": "Qliro One payment type code"
        },
        "requireIdentityVerification": {
          "type": "boolean",
          "description": "Qliro One RequireIdentityVerification flag"
        },
        "identityVerified": {
          "type": "boolean",
          "description": "Qliro One IdentityVerified flag"
        },
        "privateVerificationCode": {
          "type": "string",
          "description": "Verification code for callback"
        },
        "orderId": {
          "type": "integer",
          "format": "int64",
          "description": "Qliro One order ID"
        },
        "customer": {
          "type": "object",
          "required": ["firstName", "lastName", "dateOfBirth"],
          "properties": {
            "firstName": {
              "type": "string"
            },
            "lastName": {
              "type": "string"
            },
            "dateOfBirth": {
              "type": "string"
            }
          }
        },
        "orderItems": {
          "type": "array",
          "description": "Qliro One order items",
          "items": {
            "type": "object",
            "required": ["merchantReference", "paymentTransactionId"],
            "properties": {
              "merchantReference": {
                "type": "string",
                "description": "Brink order item ID"
              },
              "paymentTransactionId": {
                "type": "integer",
                "format": "int64",
                "description": "Qliro One payment transaction ID"
              }
            }
          }
        }
      }
    },
    "PaymentAdditionalBrinkZeroPayment": {
      "type": "object",
      "required": ["originalProvider"],
      "properties": {
        "originalProvider": {
          "type": "object",
          "description": "Original provider",
          "required": ["name", "id"],
          "properties": {
            "name": {
              "type": "string",
              "description": "Original provider name"
            },
            "id": {
              "type": "string",
              "description": "Original provider id"
            }
          }
        }
      }
    },
    "ShippingAdditionalIngrid": {
      "type": "object",
      "required": ["checkoutSessionId", "deliveries"],
      "properties": {
        "checkoutSessionId": {
          "type": "string",
          "description": "Ingrid checkout session ID"
        },
        "additionalInformation": {
          "type": "object",
          "properties": {
            "customerNumber": {
              "type": "string",
              "description": "Customer number provided by the user."
            }
          }
        },
        "deliveries": {
          "type": "array",
          "description": "Array of Ingrid deliveries",
          "items": {
            "type": "object",
            "required": [
              "carrierProductId",
              "currencyCode",
              "taxAmount",
              "name",
              "taxGroupId",
              "taxPercentage",
              "taxPercentageDecimals",
              "deliveryType",
              "groupId",
              "price",
              "tosId"
            ],
            "properties": {
              "tosId": {
                "type": "string",
                "description": "Transport order id"
              },
              "deliveryAddress": {
                "type": "object",
                "required": ["name", "postalCode", "country", "city", "addressLines"],
                "properties": {
                  "country": {
                    "type": "string",
                    "description": "Country"
                  },
                  "city": {
                    "type": "string",
                    "description": "City"
                  },
                  "postalCode": {
                    "type": "string",
                    "description": "Postal code"
                  },
                  "name": {
                    "type": "string",
                    "description": "Name"
                  },
                  "addressLines": {
                    "type": "array",
                    "description": "Address lines",
                    "items": {
                      "type": "string",
                      "description": "Address line"
                    }
                  }
                },
                "description": "Ingrid delivery address model"
              },
              "deliveryAddons": {
                "type": "array",
                "description": "Array of Ingrid addons",
                "items": {
                  "required": ["id", "externalAddonId"],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "externalAddonId": {
                      "type": "string"
                    }
                  }
                }
              },
              "price": {
                "type": "integer",
                "description": "Delivery price"
              },
              "carrierProductId": {
                "type": "string",
                "description": "Carrier product id"
              },
              "locationExternalId": {
                "type": "string",
                "description": "Location external id"
              },
              "groupId": {
                "type": "string",
                "description": "Group id"
              },
              "taxGroupId": {
                "type": "string",
                "description": "Tax group id"
              },
              "taxPercentage": {
                "type": "integer",
                "description": "Tax percentage"
              },
              "deliveryType": {
                "type": "string",
                "description": "Delivery type"
              },
              "name": {
                "type": "string",
                "description": "Carrier name"
              },
              "taxAmount": {
                "type": "integer",
                "description": "Tax amount"
              },
              "currencyCode": {
                "type": "string",
                "description": "Delivery price currency code"
              },
              "taxPercentageDecimals": {
                "type": "integer",
                "description": "Number of decimals in tax percentage, eg. taxPercentage=2500 and taxPercentageDecimals=2 -> 25 % tax"
              }
            },
            "description": "Ingrid delivery model"
          }
        }
      }
    },
    "ShippingAdditionalNshift": {
      "type": "object",
      "required": ["preparedShipment"],
      "properties": {
        "preparedShipment": {
          "type": "object",
          "required": ["orderNo", "prepareId"],
          "properties": {
            "agent": {
              "$ref": "#/definitions/ShippingAdditionalNshiftAddress"
            },
            "orderNo": {
              "type": "string",
              "description": "Nshift order number"
            },
            "prepareId": {
              "type": "string",
              "description": "Nshift prepare id"
            },
            "sender": {
              "$ref": "#/definitions/ShippingAdditionalNshiftAddress"
            },
            "service": {
              "$ref": "#/definitions/ShippingAdditionalNshiftService"
            }
          }
        }
      }
    },
    "ShippingAdditionalNshiftAddress": {
      "type": "object",
      "properties": {
        "zipCode": {
          "type": "string",
          "description": "Zip code"
        },
        "country": {
          "type": "string",
          "description": "Country"
        },
        "quickId": {
          "type": "string",
          "description": "Quick ID"
        },
        "city": {
          "type": "string",
          "description": "City"
        },
        "phone": {
          "type": "string",
          "description": "Phone number"
        },
        "address1": {
          "type": "string",
          "description": "Address line 1"
        },
        "address2": {
          "type": "string",
          "description": "Address line 2"
        },
        "name": {
          "type": "string",
          "description": "Name"
        },
        "mobile": {
          "type": "string",
          "description": "Mobile phone number"
        },
        "state": {
          "type": "string",
          "description": "State"
        },
        "email": {
          "type": "string",
          "description": "Email address"
        }
      }
    },
    "ShippingAdditionalNshiftService": {
      "type": "object",
      "properties": {
        "sourceSystem": {
          "type": "string",
          "description": "Service Source system"
        },
        "name": {
          "type": "string",
          "description": "Service name"
        },
        "id": {
          "type": "string",
          "description": "Service ID"
        },
        "title": {
          "type": "string",
          "description": "Service title"
        }
      }
    },
    "ShippingAdditionalKlarnaShippingAssistant": {
      "type": "object",
      "required": ["klarnaOrderId", "klarnaMerchantId", "selectedShippingOption"],
      "properties": {
        "klarnaOrderId": {
          "type": "string",
          "description": "Klarna Order ID"
        },
        "klarnaMerchantId": {
          "type": "string",
          "description": "Klarna Merchant ID"
        },
        "selectedShippingOption": {
          "type": "object",
          "required": ["carrier", "carrierProduct", "name", "price", "taxAmount", "taxRate", "tmsReference", "type"],
          "properties": {
            "carrier": {
              "type": "string",
              "description": "The carrier for the selected shipping option"
            },
            "carrierProduct": {
              "type": "object",
              "required": ["identifier", "name"],
              "properties": {
                "identifier": {
                  "type": "string",
                  "description": "Id of carrier product"
                },
                "name": {
                  "type": "string",
                  "description": "Name of carrier product"
                }
              }
            },
            "location": {
              "type": "object",
              "required": ["id", "address", "name", "price"],
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The location id"
                },
                "address": {
                  "type": "object",
                  "required": ["country", "streetAddress"],
                  "properties": {
                    "city": {
                      "type": "string",
                      "description": "City"
                    },
                    "country": {
                      "type": "string",
                      "description": "Country"
                    },
                    "postalCode": {
                      "type": "string",
                      "description": "Postal code"
                    },
                    "region": {
                      "type": "string",
                      "description": "Region"
                    },
                    "streetAddress": {
                      "type": "string",
                      "description": "The street address"
                    },
                    "streetAddress2": {
                      "type": "string",
                      "description": "Additional street address"
                    }
                  }
                }
              }
            },
            "name": {
              "type": "string",
              "description": "The display name of the selected shipping option"
            },
            "price": {
              "type": "integer",
              "description": "The price of the selected shipping option"
            },
            "selectedAddons": {
              "type": "array",
              "description": "Array consisting of add-ons selected by the consumer, may be empty",
              "items": {
                "type": "object",
                "required": ["price", "type"],
                "properties": {
                  "externalId": {
                    "type": "string",
                    "description": "The ID provided by the TMS"
                  },
                  "price": {
                    "type": "integer",
                    "description": "The price of the add-on"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of the add-on, e.g. sms or entry-code"
                  },
                  "userInput": {
                    "type": "string",
                    "description": "The text provided by the user"
                  }
                }
              }
            },
            "taxAmount": {
              "type": "integer",
              "description": "The tax amount of the selected shipping option"
            },
            "taxRate": {
              "type": "integer",
              "description": "The tax rate of the selected shipping option"
            },
            "timeslot": {
              "type": "object",
              "properties": {
                "cutoff": {
                  "type": "string",
                  "description": "Cutoff time for delivery"
                },
                "end": {
                  "type": "string",
                  "description": "End of the timeslot"
                },
                "id": {
                  "type": "string",
                  "description": "The timeslot id"
                },
                "price": {
                  "type": "integer",
                  "description": "Price"
                },
                "start": {
                  "type": "string",
                  "description": "Start of the timeslot"
                }
              }
            },
            "tmsReference": {
              "type": "string",
              "description": "The shipment_id provided by the TMS"
            },
            "type": {
              "type": "string",
              "description": "The type of the selected shipping option"
            }
          }
        }
      }
    },
    "ShippingAdditionalWalleyDeliveryModule": {
      "type": "object",
      "required": ["purchaseIdentifier", "shipping"],
      "properties": {
        "purchaseIdentifier": {
          "type": "string"
        },
        "shipping": {
          "type": "object",
          "required": ["provider", "shippingFee", "shipments"],
          "properties": {
            "provider": {
              "type": "string"
            },
            "shippingFee": {
              "type": "number",
              "format": "double"
            },
            "shipments": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["id", "bookedShipmentId", "feeItemId", "shippingChoice"],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "bookedShipmentId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "feeItemId": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object",
                    "x-go-type-skip-optional-pointer": true
                  },
                  "shippingChoice": {
                    "type": "object",
                    "required": ["id", "fee", "destination", "options"],
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "fee": {
                        "type": "number",
                        "format": "double"
                      },
                      "metadata": {
                        "type": "object",
                        "x-go-type-skip-optional-pointer": true
                      },
                      "destination": {
                        "type": "object",
                        "required": ["id", "name", "fee"],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "fee": {
                            "type": "number",
                            "format": "double"
                          },
                          "metadata": {
                            "type": "object",
                            "x-go-type-skip-optional-pointer": true
                          },
                          "deliveryDate": {
                            "type": "object",
                            "required": ["fee", "date", "timeFrom", "timeTo"],
                            "properties": {
                              "fee": {
                                "type": "number",
                                "format": "double"
                              },
                              "date": {
                                "type": "string"
                              },
                              "timeFrom": {
                                "type": "string"
                              },
                              "timeTo": {
                                "type": "string"
                              },
                              "metadata": {
                                "type": "object"
                              }
                            }
                          }
                        }
                      },
                      "options": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": ["id", "description", "type", "fee", "value"],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            },
                            "fee": {
                              "type": "number",
                              "format": "double"
                            },
                            "value": {
                              "oneOf": [
                                {
                                  "type": "number",
                                  "format": "double"
                                },
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "boolean"
                                }
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "ShippingAdditionalQliroIntegratedShipping": {
      "type": "object",
      "required": ["shipments"],
      "properties": {
        "shipments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QliroIntegratedShippingShipment"
          }
        }
      }
    },
    "QliroIntegratedShippingShipment": {
      "type": "object",
      "required": [
        "merchantReference",
        "description",
        "quantity",
        "pricePerItemIncVat",
        "pricePerItemExVat",
        "type",
        "paymentTransactionId"
      ],
      "properties": {
        "merchantReference": {
          "type": "string",
          "description": "Merchant´s shipping reference. E.g. the external id of an Ingrid carrier product."
        },
        "description": {
          "type": "string",
          "description": "Name or description"
        },
        "quantity": {
          "type": "integer",
          "format": "int64",
          "description": "Number of items"
        },
        "pricePerItemIncVat": {
          "type": "number",
          "format": "double",
          "description": "Price per item including VAT"
        },
        "pricePerItemExVat": {
          "type": "number",
          "format": "double",
          "description": "Price per item excluding VAT"
        },
        "type": {
          "type": "string",
          "description": "Type of item. This is always type 'Shipping'"
        },
        "paymentTransactionId": {
          "type": "integer",
          "format": "int64",
          "description": "Qliro One payment transaction ID"
        },
        "metadata": {
          "$ref": "#/definitions/QliroIntegratedShippingShipmentMetadata"
        }
      }
    },
    "QliroIntegratedShippingShipmentMetadata": {
      "type": "object",
      "required": ["shippingMethodMerchantReference"],
      "properties": {
        "shippingMethodMerchantReference": {
          "type": "string",
          "description": "Merchant´s shipping method reference. E.g. the Master Session ID of an Ingrid transport order."
        }
      }
    },
    "ShippingAdditionalAvardaShippingBroker": {
      "type": "object",
      "required": ["shippingBroker"],
      "properties": {
        "shippingBroker": {
          "type": "string",
          "description": "Avarda shipping broker provider, eg Ingrid"
        },
        "shipping": {
          "type": "object",
          "properties": {
            "ingrid": {
              "$ref": "#/definitions/AvardaShippingBrokerShippingIngrid"
            }
          }
        }
      }
    },
    "AvardaShippingBrokerShippingIngrid": {
      "type": "object",
      "required": [
        "id",
        "shippingMethod",
        "carrier",
        "deliveryType",
        "product",
        "price",
        "currencyCode",
        "tosId",
        "taxGroupId",
        "taxPercentage",
        "taxPercentageDecimals",
        "taxAmount"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "shippingMethod": {
          "type": "string"
        },
        "carrier": {
          "type": "string"
        },
        "deliveryType": {
          "type": "string"
        },
        "product": {
          "type": "string"
        },
        "price": {
          "type": "number",
          "format": "double"
        },
        "currencyCode": {
          "type": "string"
        },
        "externalMethodId": {
          "type": "string"
        },
        "tosId": {
          "type": "string"
        },
        "taxGroupId": {
          "type": "string"
        },
        "taxPercentage": {
          "type": "integer"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Number of decimals in tax percentage, eg. taxPercentage=2500 and taxPercentageDecimals=2 -> 25 % tax"
        },
        "taxAmount": {
          "type": "integer"
        },
        "location": {
          "type": "object",
          "required": ["externalId", "address"],
          "properties": {
            "externalId": {
              "type": "string"
            },
            "address": {
              "type": "object",
              "required": ["name", "city", "postalCode", "country", "addressLines"],
              "properties": {
                "name": {
                  "type": "string"
                },
                "city": {
                  "type": "string"
                },
                "postalCode": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                },
                "addressLines": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "category": {
          "type": "object",
          "required": ["id", "name"],
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["name"],
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "VoucherAdditionalVoyado": {
      "type": "object",
      "required": ["contactId", "checkNumbers"],
      "properties": {
        "contactId": {
          "type": "string",
          "description": "Voyado contact id"
        },
        "checkNumbers": {
          "type": "object",
          "description": "Contains Voyado voucher check numbers where the key is the voucher id",
          "additionalProperties": {
            "type": "string",
            "example": {
              "<voucher-id-1>": "<check-number-1>",
              "<voucher-id-2>": "<check-number-2>"
            }
          }
        },
        "failedReasons": {
          "type": "object",
          "description": "Contains any redeem error messages where the key is the voucher id",
          "additionalProperties": {
            "type": "string",
            "example": {
              "<voucher-id-1>": "error message ...",
              "<voucher-id-2>": "error message ..."
            }
          }
        }
      }
    },
    "GiftCardAdditionalRetain24": {
      "type": "object",
      "properties": {
        "failedReasons": {
          "type": "object",
          "description": "Contains any reservation error messages where the key is the gift card id",
          "additionalProperties": {
            "type": "string",
            "example": {
              "123456789": "error message ...",
              "987654321": "error message ..."
            }
          }
        }
      }
    },
    "GiftCardProductAdditionalRetain24": {
      "type": "object",
      "required": ["giftCardProducts"],
      "properties": {
        "giftCardProducts": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["id", "templateId"],
            "properties": {
              "emailText": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "multiCode": {
                "type": "string"
              },
              "referenceNumber": {
                "type": "string"
              },
              "sendDate": {
                "type": "string",
                "format": "date-time"
              },
              "smsText": {
                "type": "string"
              },
              "templateId": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "PromotionAdditionalVoyado": {
      "type": "object",
      "required": ["contactId", "values"],
      "properties": {
        "contactId": {
          "type": "string",
          "description": "Voyado contact id"
        },
        "values": {
          "type": "object",
          "description": "Voyado promotion ID mapped to Brink external discount rule",
          "additionalProperties": {
            "type": "string",
            "example": {
              "<promotion-id-1>": "<brink-external-discount-1>",
              "<promotion-id-2>": "<brink-external-discount-2>"
            }
          }
        },
        "failedReasons": {
          "type": "object",
          "description": "Contains any redeem error messages where the key is the promotion id",
          "additionalProperties": {
            "type": "string",
            "example": {
              "<promotion-id-1>": "error message ...",
              "<promotion-id-2>": "error message ..."
            }
          }
        }
      }
    },
    "Gift": {
      "type": "object",
      "required": [
        "id",
        "quantity",
        "discountRuleId",
        "productParentId",
        "productVariantId",
        "name",
        "displayName",
        "description",
        "displayDescription",
        "taxGroupId",
        "currencyCode",
        "basePriceAmount",
        "salePriceAmount",
        "discountAmount",
        "taxPercentage",
        "taxPercentageDecimals",
        "imageUrl",
        "totalPriceAmount",
        "totalTaxAmount",
        "totalDiscountAmount"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique ID for the gift"
        },
        "quantity": {
          "type": "integer",
          "description": "Quantity of the gift"
        },
        "discountRuleId": {
          "type": "string",
          "description": "id of the discount rule applying this gift"
        },
        "productParentId": {
          "type": "string",
          "description": "ID of the product parent"
        },
        "productVariantId": {
          "type": "string",
          "description": "ID of the product variant"
        },
        "displayDescription": {
          "type": "string",
          "description": "Display description of the product variant"
        },
        "totalPriceAmount": {
          "type": "integer",
          "description": "Total amount of the gift"
        },
        "displayName": {
          "type": "string",
          "description": "Display name of the product variant"
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "Total discount amount of the gift"
        },
        "salePriceAmount": {
          "type": "integer",
          "description": "Per unit sale price of the product variant"
        },
        "taxPercentage": {
          "type": "integer",
          "description": "Tax percentage for the gift"
        },
        "description": {
          "type": "string",
          "description": "Description of the product variant"
        },
        "discountAmount": {
          "type": "integer",
          "description": "Per unit discount of the product variant"
        },
        "basePriceAmount": {
          "type": "integer",
          "description": "Per unit base unit price of the product variant"
        },
        "imageUrl": {
          "type": "string",
          "description": "URL to an image of the product variant"
        },
        "taxGroupId": {
          "type": "string",
          "description": "Tax group ID of the gift"
        },
        "name": {
          "type": "string",
          "description": "Name of the product variant"
        },
        "totalTaxAmount": {
          "type": "integer",
          "description": "Total tax amount for the gift"
        },
        "currencyCode": {
          "$ref": "#/definitions/CurrencyCode"
        },
        "taxPercentageDecimals": {
          "type": "integer",
          "description": "Number of decimals in tax percentage, eg. taxPercentage=2500 and taxPercentageDecimals=2 -> 25 % tax"
        }
      }
    },
    "CampaignIdentity": {
      "properties": {
        "campaignId": {
          "type": "string",
          "description": "The id of the applied campaign"
        },
        "name": {
          "type": "string",
          "description": "Name of the campaign"
        },
        "campaignGroupId": {
          "type": "string",
          "description": "The id of the campaign group"
        }
      }
    },
    "OrderStatus": {
      "type": "object",
      "required": ["orderStates", "customStates"],
      "properties": {
        "orderStates": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customStates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrderCustomState"
          }
        }
      }
    },
    "OrderCustomState": {
      "type": "object",
      "required": ["id", "type"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Custom state id"
        },
        "type": {
          "type": "string",
          "description": "Custom state type"
        }
      }
    }
  }
}
Last updated on 2025/2/13