Flipdish · Schema

UpdateVoucher

Update Voucher

RestaurantOnline OrderingMobile AppsPoint of SaleOrdersMenuPaymentsWebhooks

Properties

Name Type Description
PromotionId integer Promotion ID to update
PromotionName string The updated name of the promotion
PromotionAwardMenuItemPublicIds array The updated menu items that the promotion awards
Code string Voucher Code
Description string Voucher Description (Visible on printout)
Stores array Stores that this voucher applies to
ValidOnOrdersOver number Valid on orders on or above
TakesPriority boolean Takes priority
IsEnabled boolean Is voucher enabled
IsAutomaticallyApplied boolean Is voucher automatically applied
IncludeDeliveryFee boolean Include delivery fees
IsValidForDeliveryOrders boolean Valid for delivery orders
IsValidForPickupOrders boolean Valid for pickup orders
IsValidForOrdersPayedOnline boolean Valid for orders payed online
IsValidForOrdersPayedByCash boolean Valid for orders payed in cash
IsValidForFirstOrderOnly boolean Valid only on the first order by the customer
IsValidOncePerCustomer boolean Valid once per customer
IsValidOnlyOnce boolean Valid only once, by any customer (once used cannot be used again by any other customer)
IsDiscoverable boolean Enables the voucher to be offered in the Voucher Discoverability feature
ForceDiscount boolean Force the discount to be applied which bypasses some menu restrictions
StartDate string Voucher Starts On (Time in UTC)
ExpiryDate string Voucher Expires On (Time in UTC)
ChannelRestrictions array Limit the channels this voucher can be used on
ValidityPeriods array Periods in which the voucher is valid. An empty list means the voucher is valid at all times. When updating the voucher, if this is set to null, the validity periods won't be updated.
VoucherSubType string Voucher Subtype
CustomerId integer Customer UserID
MaxRedemptions integer Maximum number of times the voucher can be redeemed (used)
View JSON Schema on GitHub

JSON Schema

marketing-update-voucher-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/json-schema/marketing-update-voucher-schema.json",
  "title": "UpdateVoucher",
  "description": "Update Voucher",
  "type": "object",
  "properties": {
    "PromotionId": {
      "format": "int32",
      "description": "Promotion ID to update",
      "type": "integer",
      "example": 500123
    },
    "PromotionName": {
      "description": "The updated name of the promotion",
      "type": "string",
      "example": "Example Name"
    },
    "PromotionAwardMenuItemPublicIds": {
      "description": "The updated menu items that the promotion awards",
      "type": "array",
      "items": {
        "format": "uuid",
        "type": "string",
        "example": "00000000-0000-0000-0000-000000000000"
      },
      "example": [
        "00000000-0000-0000-0000-000000000000"
      ]
    },
    "Code": {
      "description": "Voucher Code",
      "type": "string",
      "example": "string"
    },
    "Description": {
      "description": "Voucher Description (Visible on printout)",
      "type": "string",
      "example": "string"
    },
    "Stores": {
      "description": "Stores that this voucher applies to",
      "type": "array",
      "items": {
        "format": "int32",
        "type": "integer"
      },
      "example": [
        1
      ]
    },
    "ValidOnOrdersOver": {
      "format": "double",
      "description": "Valid on orders on or above",
      "type": "number",
      "example": 1.0
    },
    "TakesPriority": {
      "description": "Takes priority",
      "type": "boolean",
      "example": true
    },
    "IsEnabled": {
      "description": "Is voucher enabled",
      "type": "boolean",
      "example": true
    },
    "IsAutomaticallyApplied": {
      "description": "Is voucher automatically applied",
      "type": "boolean",
      "example": true
    },
    "IncludeDeliveryFee": {
      "description": "Include delivery fees",
      "type": "boolean",
      "example": true
    },
    "IsValidForDeliveryOrders": {
      "description": "Valid for delivery orders",
      "type": "boolean",
      "example": true
    },
    "IsValidForPickupOrders": {
      "description": "Valid for pickup orders",
      "type": "boolean",
      "example": true
    },
    "IsValidForOrdersPayedOnline": {
      "description": "Valid for orders payed online",
      "type": "boolean",
      "example": true
    },
    "IsValidForOrdersPayedByCash": {
      "description": "Valid for orders payed in cash",
      "type": "boolean",
      "example": true
    },
    "IsValidForFirstOrderOnly": {
      "description": "Valid only on the first order by the customer",
      "type": "boolean",
      "example": true
    },
    "IsValidOncePerCustomer": {
      "description": "Valid once per customer",
      "type": "boolean",
      "example": true
    },
    "IsValidOnlyOnce": {
      "description": "Valid only once, by any customer (once used cannot be used again by any other customer)",
      "type": "boolean",
      "example": true
    },
    "IsDiscoverable": {
      "description": "Enables the voucher to be offered in the Voucher Discoverability feature",
      "type": "boolean",
      "example": true
    },
    "ForceDiscount": {
      "description": "Force the discount to be applied which bypasses some menu restrictions",
      "type": "boolean",
      "example": true
    },
    "StartDate": {
      "format": "date-time",
      "description": "Voucher Starts On (Time in UTC)",
      "type": "string",
      "example": "2026-06-02T12:00:00Z"
    },
    "ExpiryDate": {
      "format": "date-time",
      "description": "Voucher Expires On (Time in UTC)",
      "type": "string",
      "example": "2026-06-02T12:00:00Z"
    },
    "ChannelRestrictions": {
      "description": "Limit the channels this voucher can be used on",
      "type": "array",
      "items": {
        "enum": [
          "Ios",
          "Android",
          "Web",
          "Kiosk",
          "Pos",
          "Google"
        ],
        "type": "string"
      },
      "example": [
        "Ios"
      ]
    },
    "ValidityPeriods": {
      "description": "Periods in which the voucher is valid.\r\nAn empty list means the voucher is valid at all times.\r\nWhen updating the voucher, if this is set to null, the validity periods won't be updated.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ValidityPeriod"
      },
      "example": []
    },
    "VoucherSubType": {
      "description": "Voucher Subtype",
      "enum": [
        "None",
        "SignUp",
        "Loyalty",
        "Loyalty25",
        "Retention",
        "SecondaryRetention",
        "Custom"
      ],
      "type": "string",
      "example": "None"
    },
    "CustomerId": {
      "format": "int32",
      "description": "Customer UserID",
      "type": "integer",
      "nullable": true,
      "example": 500123
    },
    "MaxRedemptions": {
      "format": "int32",
      "description": "Maximum number of times the voucher can be redeemed (used)",
      "type": "integer",
      "nullable": true,
      "example": 1
    }
  }
}