OrderUpdated
v0.0.1

OrderUpdated

This event is triggered when an order is updated. This will occur if e.g. orders lines are modified or when the status is changed.

The updated events will have a detail.data.version field that's always incrementing on new changes and can be used for idempotency checks when handling it.

OrderUpdated 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