Event - Coupon Issuance - Discount Type

This includes events where a coupon is gifted/issued in the Punchh system triggered as a result of any configuration or activity against a user. 

Note: This includes coupons that are gifted to a user via a campaign, whether mass-generated or dynamically generated.

{
  "content_id": "CONTENT_ID_GOES_HERE",
  "timestamp": 1646216621,
  "business_id": 574,
  "business_uuid": "BUSINESS_UUID_GOES_HERE",
  "business_slug": "slugname",
  "event_name": "coupons",
  "event_type": "",
  "action": "create",
  "payload": {
    "app_device_id": null,
    "applicable_flat_discount": 2.5,
    "applicable_percentage_discount": 0,
    "bar_code": null,
    "campaign_name": "Dynamic Coupon - $2.5 OFF",
    "code": "CODE_GOES_HERE",
    "coupon_campaign_id": 58293,
    "coupon_id": COUPON_ID_GOES_HERE,
    "coupon_type": "discount",
    "created_at": "2022-03-02T10:23:40Z",
    "discount": null,
    "email": "test@example.com",
    "employee_id": null,
    "expiry_at": "2022-03-12T07:59:59Z",
    "gift_count": null,
    "location_id": null,
    "processed_at": null,
    "receipt_amount": null,
    "receipt_datetime": null,
    "receipt_subtotal_amount": null,
    "redeemable": null,
    "redeemed_menu_items": [
      {
        "item_amount": 8.75,
        "item_name": "Sandwich",
        "item_qty": 2,
        "menu_family": "800",
        "menu_item_id": "9501",
        "menu_item_type": "M",
        "menu_major_group": "152",
        "serial_number": "1"
      }
    ],
    "revenue_code": null,
    "revenue_id": null,
    "status": "issued",
    "transaction_no": null,
    "updated_at": "2022-03-02T10:23:40Z",
    "user": {
      "account_balance": {
        "banked_currency": 0,
        "current_membership_level_name": "level 1",
        "last_visit": null,
        "loyalty_points": null,
        "net_balance": 0,
        "net_debits": 0,
        "pending_points": null,
        "total_credits": null,
        "total_debits": null,
        "total_lifetime_points": 0,
        "total_point_credits": 0,
        "total_redeemable_visits": null,
        "total_visits": null,
        "unbanked_points": 0,
        "unredeemed_cards": null,
        "user_id": 111111111
      },
      "anniversary": null,
      "avatar_remote_url": null,
      "birthday": "1999-01-01",
      "email": "test@example.com",
      "external_source": "",
      "external_source_id": "SOURCE_ID_GOES_HERE",
      "first_name": "FIRST_NAME_GOES_HERE",
      "gender": null,
      "guest_type": "Loyalty",
      "last_activity_at": "2022-03-02T10:20:42Z",
      "last_name": "LAST_NAME_GOES_HERE",
      "marketing_email_subscription": true,
      "marketing_pn_subscription": true,
      "phone": null,
      "preferred_locale": null,
      "secondary_email": null,
      "signup_channel": "MobileEmail",
      "sms_subscription": false,
      "unsubscribe_reason": null,
      "unsubscribed": false,
      "user_id": 111111111,
      "user_status": "active"
    },
    "user_coupon_redemption_id": null,
    "user_id": 111111111
  }
}

Meta Fields

Meta Fields are common attributes such as content_id, timestamp, etc. that are returned in event responses, providing additional information about events. Click here to view the descriptions of the attributes.

Response Parameters

Payload
app_device_id String Unique ID of the app device. The ID helps Punchh identify each device so that certain rewards can be awarded individually to each device instead of per user. For example, the sign-up reward is given to each device ID to prevent fraudulent sign-ups so that a user cannot do repeated sign-ups from a single device to get rewards. It should not change even if the user resets a device.
applicable_flat_discount Integer Applicable flat discount as configured during a coupon campaign in Punchh
applicable_percentage_discount Date_time Applicable percentage discount as configured during a coupon campaign in Punchh
bar_code String Barcode generated for the order
campaign_name String Coupon campaign name
code String Actual coupon code generated for each coupon associated with a guest
coupon_campaign_id Integer Unique coupon campaign ID generated for each configured in Punchh
coupon_id Integer Unique coupon ID generated in Punchh for each coupon, to be used for tracking purposes
coupon_type String Coupons type as categorized in Punchh (i.e., discount or unlock)
created_at Date_time Date/time when the coupon was created for an end-user in the system
discount Integer Discount value of the coupon
email String Email address of the user
employee_id String ID of the employee
expiry_at Date Date/time when the coupon expires
gift_count Integer In a points-based business, the gift count is the number of points that are gifted to guests. In a visit-based business, it is the number of visits that are gifted.
location_id Integer Unique ID of the location associated with the discount coupon. This is for reference purposes. If no location ID is provided, the ID of the headquarters location will be used.
processed_at Date_time Timestamp when the redemption was processed
receipt_amount Float Order amount before taxes, calculated as the sum of all item amounts minus any discounts. This is the amount used to calculate loyalty points/visits. The value of this parameter should match subtotal_amount. For example, if the order amount is $10, both receipt_amount and subtotal_amount will be 10. If a $2 discount is applied, both will be 8.
receipt_datetime Date_time Receipt date/time for the order
receipt_subtotal_amount Float Order amount before any taxes (sum of all amounts minus any discounts). Same as receipt_amount. For historical reasons, this parameter is included along with receipt_amount in the response.
redeemable Object Redeemable object (populated in case the coupon type is Unlock). Redeemable object (populated in case the coupon type is Unlock). See Event - Redeemables for descriptions of the attributes.
redeemed_menu_items Array Object List of redeemed menu items.
redeemed_menu_items.item_amount String Total item amount. In case of multiple quantities, this means the sum total of all item amounts.
redeemed_menu_items.item_name String Name of the menu item
redeemed_menu_items.item_qty String Quantity ordered by the customer. If the item is a modifier (such as extra cheese on a pizza base item), make sure the quantity reflects the total number of base items included.
redeemed_menu_items.menu_family String Item family; denotes a sub-category of an item, else it will be blank
redeemed_menu_items.menu_item_id String Item ID of the menu item
redeemed_menu_items.menu_item_type String M - Menu item ( + or - ) 
D - Discount (negative). Either internal or Punchh will always evaluate lines as ( - ) regardless of the sign assigned in the API call
S - Service item. Any item representing money received that is not a sale. For example: service charges, delivery fees, tips, purchase of gift cards/certificates, etc.
T - Tax item. Taxes of all sorts. The tax type will only be applicable for Check-in Type: Loyalty.
P - Payment item. Visa, MasterCard, cash, gift card/certificate (when used to pay for the order)
redeemed_menu_items.menu_major_group String Item major group; menu_major_group is categorized for the item if passed, else, it will be blank. Generically, every menu item belongs to a family group. A family group is a sub-category of a major group.
redeemed_menu_items.serial_number String Serial numbers are assigned to menu items on a receipt. A main menu (such as pizza) may have serial number "1.0", and the associated modifiers (such as "extra cheese", "olives", and "jalapenos") may have serial numbers "1.1", "1.2", and "1.3" respectively. The numbering explains that particular items are modifiers associated with the main one.
revenue_code String Name of the POS function that designates order fulfillment method (e.g., dine-in, to-go/take-out, call-in pickup, call-in deliver, etc). Some POS call this Revenue Center, Order Method, Order Mode, etc. The values assigned here should represent the way the order is fulfilled for the customer, not the area in the restaurant where the order is placed (e.g., not bar, patio, dining room, etc.).
revenue_id String ID of the POS function that designates the order fulfillment method. Example: 1 for dine-in; 2 for to-go/take out; 3 for call-in pickup; 4 for call-in deliver, etc. Some POS call this revenue center, order method, order mode, etc. The values assigned here should represent the way the order is fulfilled for the customer, not the area in the restaurant where the order is placed (e.g., not bar, patio, dining room, etc.).
status String Status includes: honored, issued, void
transaction_no String Transaction number of the order
updated_at Date Date/time when the coupon was updated for an end-user in the system
user_coupon_redemption_id Integer Unique coupon redemption ID generated after a coupon is redeemed successfully in Punchh, to be used for reporting purposes
user_id Integer Unique ID of the user generated in Punchh
User Object See the user object in Event - Rewards Expiry Reminder
user.account_balance Object See the account_balance object in Event - Guest