Support for discounts

Our channel partners may offer multiple types of discounts or special offers on items. However, when orders are sent to Deliverect, only an overall order discount is supported.

How discounts are shown in orders

The total discount is shown as a negative value when we send an order to a POS, which is then subtracted from the total order's value. The POS should clearly show the discounted total.

For an order with a €1 discount, it is displayed as "discountTotal": -100, on the POS order tab.

Additional discount Information

If the channel provides additional information about the discount, an additional "discounts" object is provided in the payload.

 "discounts": [
      "type": "order_flat_off",
      "provider": "channel",
      "name": "Test discount",
      "channelDiscountCode": "test 1234",
      "referenceId": 1,
      "value": 400,
      "amount": 400

In the "discounts" object, you will find information such as the discount type, name, and amount. Each parameter is shown in the table below (view all other attributes.

discountsOrder discountsArray [object]
discounts.typeMapped channel discount type from the list of discount types in Deliverect.String
discounts.providerThe issuer of the discount. In other words, the one who provides the discounted amount.Enum
discounts.nameThe name of the discount.String
discounts.channelDiscountCodeThe unique discount code used by the channelString
discounts.referenceIdA unique number that is assigned to the discount and used to reference the discount on individual items on the order.Integer
discounts.valueThe fixed value or percentage covered by the discount, which is stored with precision 2 (e.g., $1.50 becomes 150, 25.1% becomes 2510)Integer
discounts.amountThe actual amount discounted (e.g., for 10% off on an order totaling $50, the value would be 1000 and the amount 500.Integer