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": [
        "date",
        "id",
        "billingAddress",
        "countryCode",
        "currencyCode",
        "discountOutcome",
        "discountRules",
        "isTaxIncludedInPrice",
        "languageCode",
        "orderLines",
        "totals",
        "payment",
        "reference",
        "shippingAddress",
        "shippingFees",
        "storeGroupId",
        "sessionId"
      ],
      "properties": {
        "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",
            "voucherTotal",
            "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 amount for the order"
            },
            "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"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "name of the discountRule"
              },
              "id": {
                "type": "string",
                "description": "id of the discountRule"
              }
            }
          }
        },
        "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"
                }
              }
            },
            "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"
        },
        "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"
                  }
                }
              }
            }
          }
        },
        "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"
                  }
                }
              }
            }
          }
        },
        "merchantReference1": {
          "description": "Merchant reference #1",
          "type": "string"
        },
        "merchantReference2": {
          "description": "Merchant reference #2",
          "type": "string"
        },
        "bonus": {
          "type": "object",
          "required": [
            "status",
            "providerId",
            "providerName",
            "customerId",
            "amount",
            "currencyCode"
          ],
          "properties": {
            "status": {
              "type": "string",
              "description": "Order bonus redeem status"
            },
            "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"
            },
            "failedReason": {
              "type": "string",
              "description": "Any reservation/redeem error message"
            }
          }
        },
        "revision": {
          "description": "the revision number of the Order",
          "type": "integer"
        }
      }
    },
    "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"
        },
        "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": [
        "rules",
        "totalDiscountAmount"
      ],
      "properties": {
        "totalDiscountAmount": {
          "type": "integer",
          "description": "the total discount amount from discount rules applied on this order line"
        },
        "rules": {
          "type": "array",
          "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"
              }
            }
          }
        }
      }
    },
    "OrderDiscountOutcome": {
      "title": "OrderDiscountOutcome",
      "type": "object",
      "required": [
        "rules",
        "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"
        },
        "totalDiscountAmount": {
          "type": "integer",
          "description": "the total discount amount from discount rules applied directly on the order"
        },
        "rules": {
          "type": "array",
          "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"
              }
            }
          }
        }
      }
    },
    "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"
            }
          }
        },
        "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"
        },
        "pspReference": {
          "type": "string",
          "description": "Adyen psp reference"
        },
        "status": {
          "type": "string",
          "description": "Adyen 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"
        },
        "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"
        },
        "deliveries": {
          "type": "array",
          "description": "Array of Ingrid delivery addresses",
          "items": {
            "type": "object",
            "required": [
              "carrierProductId",
              "currencyCode",
              "taxAmount",
              "name",
              "taxGroupId",
              "taxPercentage",
              "taxPercentageDecimals",
              "deliveryAddress",
              "deliveryType",
              "groupId",
              "price",
              "tosId"
            ],
            "properties": {
              "tosId": {
                "type": "string",
                "description": ""
              },
              "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"
              },
              "price": {
                "type": "integer",
                "description": "Delivery price"
              },
              "carrierProductId": {
                "type": "string",
                "description": "Carrier product 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."
        }
      }
    },
    "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 ..."
            }
          }
        }
      }
    },
    "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 ..."
            }
          }
        }
      }
    }
  }
}
Last updated on 2024/5/6