Event - Check-in - Gift and Loyalty

Check-in Type: Loyalty

This includes create/update user loyalty check-in events triggered as they happen in the Punchh system.

{
  "business_uuid": "BUSINESS_UUID_GOES_HERE",
  "content_id": "CONTENT_ID_GOES_HERE",
  "timestamp": 1591594104,
  "business_id": 7,
  "event_name": "checkins",
  "event_type": "loyalty",
  "action": "create",
  "payload": {
    "updated_at": "2020-06-08T05:27:23Z",
    "created_at": "2020-06-08T05:27:23Z",
    "checkin_type": "BarcodeCheckin",
    "user_id": 111111111,
    "location_id": 1617,
    "location_name": "ADDRESS_GOES_HERE",
    "store_number": "123",
    "channel": "Mobile",
    "redemption_id": 0,
    "for_referring_user_id": null,
    "for_referring_full_name": null,
    "for_referring_checkin_id": null,
    "business_id": 7,
    "approved": true,
    "verified_at": null,
    "receipt_amount": 20.0,
    "receipt_number": "1466",
    "receipt_date": "2020-06-05T17:00:48Z",
    "verifications_count": null,
    "campaign_type": null,
    "campaign_id": null,
    "campaign_name": null,
    "gifted_for_id": null,
    "gifted_for_type": null,
    "gift_reason": null,
    "gifted_by_id": null,
    "gifted_by_type": null,
    "free_punchh_campaign_id": null,
    "status": "loyalty",
    "reviewer_id": null,
    "qr_decoded": null,
    "bar_code": "BARCODE_GOES_HERE",
    "punchh_key": "PUNCHH_KEY_GOES_HERE",
    "visits_earned": null,
    "points_earned": 20,
    "points_spent": 0,
    "first_punchh_at_business": false,
    "first_punchh_at_location": false,
    "expired_at": null,
    "unverified_receipt_amount": null,
    "manual": null,
    "menu_items": [
      {
        "item_amount": 0.33,
        "item_name": "Sample Item 1",
        "item_qty": 3,
        "menu_family": "811",
        "menu_item_id": "659",
        "menu_item_type": "M",
        "menu_major_group": "506",
        "serial_number": "1"
      },
      {
        "item_amount": 0.33,
        "item_name": "Sample Item 2",
        "item_qty": 3,
        "menu_family": "180",
        "menu_item_id": "933",
        "menu_item_type": "M",
        "menu_major_group": "422",
        "serial_number": "2"
      },
      {
        "item_amount": 0.33,
        "item_name": "Sample Item 9",
        "item_qty": 3,
        "menu_family": "394",
        "menu_item_id": "795",
        "menu_item_type": "M",
        "menu_major_group": "220",
        "serial_number": "3"
      }
    ],
    "refreshed_at": null,
    "pending_refresh": false,
    "external_uid": null,
    "earnable_amount": 20.0,
    "checkin_id": 68698,
    "expiring_on": null,
    "transaction_no": "1234",
    "user": {
      "email": "test@example.com",
      "first_name": "FIRST_NAME_GOES_HERE",
      "last_name": "LAST_NAME_GOES_HERE",
      "secondary_email": null,
      "phone": null,
      "unsubscribed": false,
      "guest_type": "Loyalty",
      "marketing_email_subscription": true,
      "marketing_pn_subscription": true,
      "sms_subscription": false,
      "unsubscribe_reason": null,
      "last_activity_at": "2020-06-08T05:27:23Z",
      "user_status": "active",
      "account_balance": {
        "user_id": 111111111,
        "banked_currency": null,
        "current_membership_level_name": "Silver Level",
        "last_visit": null,
        "loyalty_points": 0,
        "net_balance": 10,
        "net_debits": 0,
        "pending_points": 0,
        "total_credits": 10,
        "total_debits": "0.0",
        "total_lifetime_points": 10,
        "total_point_credits": 10,
        "total_redeemable_visits": null,
        "total_visits": 0,
        "unbanked_points": null,
        "unredeemed_cards": null
      },
      "user_id": 111111111,
      "verifications_count": null,
      "verified_at": null
    }
  }
}

Check-in Type: Gift

This includes user gift check-in create/update events triggered as they happen in the Punchh system.

Note: If a guest is targeted by a campaign that uses Dynamic Reward but does not receive any reward or points due to the Dynamic Reward's gifting rule settings, then no Gift Check-in outbound webhook event will be sent. Additionally, no entry will appear on the guest’s timeline on the Punchh platform. See the Dynamic Rewards article on the Support Portal.

Note: To view the Punchh product documentation on the Punchh Support Portal, you must log in to a Punchh platform production environment. If you already have access to a production environment, follow the instructions here to access the Punchh Support Portal.

{
   "business_uuid":"BUSINESS_UUID_GOES_HERE",
   "content_id":"cb49969e-a872-47bf-b468-42e12ab4f61f",
   "timestamp":1591594104,
   "business_id":7,
   "event_name":"checkins",
   "event_type":"gift",
   "action": "create",
   "payload":{
    "updated_at": "2020-06-10T10:50:40Z",
    "created_at": "2020-06-10T10:50:40Z",
    "business_uuid": "BUSINESS_UUID_GOES_HERE",
    "user_id": 111111111,
    "location_id": 1617,
    "redemption_id": 0,
    "business_id": 7,
    "approved": true,
    "gifted_for_id": 160,
    "gifted_for_type": "MassGifting",
    "gift_reason": "Chh Campaign",
    "gifted_by_id": 1,
    "gifted_by_type": "Admin",
    "status": "gift",
    "archived": false,
    "points_earned": 5,
    "count_as_visit": true,
    "points_spent": 0,
    "gps_accuracy": 0,
    "first_punchh_at_business": false,
    "first_punchh_at_location": false,
    "manual":false,
    "menu_items":[],
    "pending_refresh": false,
    "refreshed_at":null,
    "location_name": "ADDRESS_GOES_HERE",
    "store_number": "4455",
    "checkin_id": 68770,
    "expiring_on": "2020-07-10",
    "user": {
      "email": "test@example.com",
      "first_name": "FIRST_NAME_GOES_HERE",
      "last_name": "LAST_NAME_GOES_HERE",
      "unsubscribed": false,
      "birthday": "1999-01-01",
      "signup_channel": "MobileEmail",
      "marketing_email_subscription": true,
      "marketing_pn_subscription": true,
      "sms_subscription": false,
      "last_activity_at": "2020-06-10T10:44:16Z",
      "user_status": "active",
      "guest_type": "Loyalty",
      "account_balance": {
        "user_id":111111111,
        "banked_currency": null,
        "current_membership_level_name": "Silver Level",
        "last_visit": null,
         "loyalty_points": 0,
         "net_balance": 10,
         "net_debits": 0,
         "pending_points": 0,
         "total_credits": 10,
         "total_debits": "0.0",
         "total_lifetime_points": 10,
         "total_point_credits": 10,
         "total_redeemable_visits": null,
         "total_visits": 0,
         "unbanked_points": null,
         "unredeemed_cards": null
      },
      "user_id": 111111111,
      "verifications_count": null,
      "verified_at": null
    }
  }
}

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

approved Boolean Check-in approved status
bar_code String Barcode generated for the order
business_id Integer Business ID
campaign_id Integer Campaign ID created in Punchh
campaign_name String Name of campaign
campaign_type String Type of campaign
channel String Channel from where check-in happens (i.e., POS, OnlineOrder, Web, Mobile)
checkin_id Integer Unique check-in ID generated by Punchh
checkin_type String OnlineCheckin, PosCheckin, ReceiptImageCheckin, BarcodeCheckin, QrcodeCheckin, POSConsoleCheckin
created_at Date_time Timestamp when check-in gets created in Punchh
earnable_amount Float Earnable amount based on earning qualifier for the order
expired_at Date Date on which the check-in expired
expiring_on Date Date on which the check-in will expire
external_uid String External UID generated for the transaction
first_punchh_at_business Boolean Denotes if it is a first check-in for the business
first_punchh_at_location Boolean Denotes if it is a first check-in for the location
manual Boolean Whether the check-in is manual or not
for_referring_checkin_id Integer Check-in ID of the first check-in of the referred user
for_referring_full_name String Name of the referral user
for_referring_user_id Integer ID of the referral user
free_punchh_campaign_id Integer Post check-in campaign ID if configured
gift_reason String Gift reason for points gifted to user
gifted_by_id Integer ID of the admin who gifted points
gifted_by_type String Type of gifting (i.e., admin, check-in, etc.)
gifted_for_id Integer ID for the type of gifting
gifted_for_type String Type of gifting (i.e., Mass Gifting, Feedback Reply, Game, etc.)
location_id Integer Location ID generated in Punchh
location_name String Location name of the check-in
menu_items Object Menu items object
menu_items.item_amount String Total item amount. In case of multiple quantities, this means the sum total of all item amounts.
menu_items.item_name String Name of the menu item
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.
menu_items.menu_family String Item family; denotes a sub-category of an item, else it will be blank
menu_items.menu_item_id String Item ID of the menu item
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)
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.
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.
pending_refresh Boolean Enabled per the pending points configuration
points_earned Float Points earned on the order
points_spent Float Points redeemed on the order
punchh_key String Unique Punchh key generated for the order
qr_decoded String QR code value generated for the order
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_date Date_time Receipt date/time for the order
redemption_id Integer Redemption ID populated in case the redemption is fully redeemed on the order
status String Status of the check-in (i.e., gift or loyalty)
store_number Integer Store number of the location
transaction_no String Transaction number of the order
refreshed_at Date_time Check-in refresh timestamp
reviewer_id Integer Admin ID of the reviewer who is verifying a check-in (applicable for receipt image verification-based check-in)
unverified_receipt_amount Float Receipt_amount populated in case of manual check-in (i.e., receipt image verification based)
updated_at Date_time TImestamp when check-in gets updated in Punchh
user_id Integer User 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
verifications_count Integer This count increases if multiple reviewers or admins have approved a check-in (applicable for receipt image verification-based check-in).
verified_at Date_time Check-in approved timestamp (applicable for receipt image verification-based check-in)
revenue_code String Name used by a POS system that identifies the method by which an order is fulfilled (e.g., dine-in, to-go/take-out, call-in pickup, call-in deliver, etc). Some POS calls this Revenue Center, Order Method, Order Mode, etc. The values assigned here should reflect the fulfillment method rather than the location within the restaurant where the order was taken (e.g., not bar, patio, dining room, etc.).
revenue_id String The ID used by a POS system that identifies the method by which an order is fulfilled. Example: 1 for dine-in; 2 for to-go/take out; 3 for call-in pickup; 4 for call-in deliver, etc. Some POS calls this revenue center, order method, order mode, etc. The values assigned here should reflect the fulfillment method rather than the location within the restaurant where the order was taken (e.g., not bar, patio, dining room, etc.).