Database Schema and Data Field Change Announcements

Upcoming Changes - 30 August 2026

What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline:
Table name - see the list below
Column modified - the data type for several columns is being updated from 'int' to 'bigint' Planned database maintenance 30 August 2026 Modified column datatypes may impact downstream processes, such as data pipe ETL scripts, reporting tools, and applications interfacing with this data Modify your ETL process to accommodate the below schema changes
Expand for the full details about the August 30, 2026, change
Table Name Column Name Current Data Type New Data Type
segment_definitions id int bigint
versions id int bigint

2026 Change Log

What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline:
Table name - see the list below
Column modified - the data type for several columns is being updated from 'int' to 'bigint' or 'date' to 'timestamp.' See the complete list below for details. Planned database maintenance 07 August 2026 Modified column datatypes may impact downstream processes, such as data pipe ETL scripts, reporting tools, and applications interfacing with this data Modify your ETL process to accommodate the below schema changes
Expand for the full details about the August 07, 2026, change
Table Name Column Name Current Data Type New Data Type
checkin_allocations redemption_id int bigint
checkins gifted_by_id int bigint
checkins redemption_id int bigint
feedbacks redemption_id int bigint
fraud_suspects event_id int bigint
location_visits redemption_id int bigint
redemption_logs id int bigint
redemption_logs redemption_code_id int bigint
redemptions id int bigint
redemptions redemption_code_id int bigint
referrals referral_source_id int bigint
reward_archives redemption_id int bigint
reward_credits rewarded_for_id int bigint
reward_debits redemption_id int bigint
rewards redemption_id int bigint
redemption_codes id int bigint
checkin_credits receipt_amount float double
checkin_credits redemption_id int bigint
coupons id int bigint
redemptions expired_at date timestamp
reward_archives gifted_for_id int bigint
rewards gifted_for_id int bigint
session_visits redemption_id int bigint
user_coupon_redemptions coupon_id int bigint
user_notifications id int bigint
What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline:
Table name - see the list below
Column modified - the data type for several columns is being updated from 'int' to 'bigint.'' See the complete list below for details. Planned database maintenance 31 March 2026 Modified column datatypes may impact downstream processes, such as data pipe ETL scripts, reporting tools, and applications interfacing with this data Modify your ETL process to accommodate the below schema changes
Expand for the full details about the March 31, 2026, change
Table Name Column Name Current Data Type New Data Type
checkin_credits redemption_id int  bigint
feedbacks redemption_id int  bigint
fuel_debits redemption_id int  bigint
location_visits redemption_id int  bigint
session_visits redemption_id int  bigint
reward_credits rewarded_by_id int  bigint
reward_credits rewarded_for_id int  bigint
What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline:
Table name - see the list below
Column modified - the data type for several columns is being updated from 'int' to 'bigint.'' See the complete list below for details.  Planned database maintenance 09 February 2026  Modified column datatypes may impact downstream processes, such as data pipe ETL scripts, reporting tools, and applications interfacing with this data Modify your ETL process to accommodate the below schema changes
Expand for the full details about the February 09, 2026, change
Table Name Column Name Current Data Type New Data Type
redemption_codes id int  bigint
redemption_logs  redemption_code_id int  bigint
redemptions id int  bigint
redemptions redemption_code_id int  bigint
reward_archives redemption_id int  bigint
reward_debits redemption_id int  bigint
rewards redemption_id int  bigint
checkins redemption_id int  bigint
checkin_allocations redemption_id int  bigint
redemption_voids redemption_id int  bigint
redemption_voids redemption_code_id int  bigint

2025 Change Log

What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline
Table name - redemptions
Column added - 'redemption_state' (type = integer) New column 'redemption_state' added to the 'redemption' table to track the life-cycle status of a redemption.  16 December 2025 The new column ‘redemption' will store the current status of redemption.  Modify your ETL process to include the new column -as necessary
Data Pipeline
Table name - qualification_criteria
Column added - 'preferences' (type = text) New column 'preferences' added to the 'qualification_criteria' table to store additional customized settings associated with the qualification criteria.  16 December 2025 The new column ‘preferences' will store additional data or settings associated with the qualification criteria. Modify your ETL process to include the new column -as necessary
New table - state_subscription_taxes Table added - 'state_subscription_taxes'
Columns: 
  • 'business_id' (type = integer)
  • 'country_name' (type = string)
  • 'country_code' (type = string)
  • 'state_name' (type = string)
  • 'state_code' (type = string)
  • 'tax_rate' (type = decimal)
New table added for brands with the Punchh Subscription module to add taxation data to their subscription plans 04 November 2025 The new table 'state_subscription_taxes' will store the state-level taxes configured by a brand Modify your ETL process to include the new table -  as necessary
Data Pipeline
Table name - locations
Column added - 'tax_rate' (type = decimal) New column 'tax_rate' added to the 'locations' table for brands with the Punchh Subscription module to add taxation data to their subscription plans 04 November 2025 The new column ‘tax_rate' will store location-wise taxes configured by a brand Modify your ETL process to include the new column - as necessary
Data Pipeline
Table name - user_subscriptions
Columns added - 'location_id' (type = integer), 'discount_value' (type = decimal), 'tax_value' (type = decimal) New columns 'location_id', 'discount_value', 'tax_value' added to the 'user_subscriptions' table for brands with the Punchh Subscription module to add taxation data to their subscription plans 04 November 2025 The three new columns in this table will store the taxation information applied when user purchased the plan Modify your ETL process to include the new column - as necessary
Table name - bulk_guest_activities Column added -'franchisee_id' (type =int) New column ‘franchise_id' added to the 'bulk_guest_activities’ table to store information regarding the franchisee admin who performed any bulk uploads in the platform. 30 September 2025 The new column ‘franchise_id' will store the franchisee ID of the admin performing the bulk guest uploads. Modify your ETL process to include the new column - ‘franchise_id’ as necessary
Data Pipeline:
Table name - accounts
Column added -'unified_debits' (type =int) New column ‘unified_debits' added to the 'accounts’ table in support of the new 'One Loyalty - Program Restructure’ approach for balance unification of currency business. 5 August 2025 The new column ‘unified_debits' will store the ‘points spent’ value for each user. This value will be used to calculate the current points balance for the ‘currency' type programs only. Modify your ETL process to include the new column - ‘unified_debits’ as necessary
Data Pipeline: 
Table name - accounts
Column added -'additional_details' (type = JSON) New column 'additional_details' added to the 'accounts' table to store information regarding how many points have been consumed for rewarding in the current year 27 May 2025 The new column 'additional_details' will be used  to determine a user’s current operative membership level, especially in scenarios where multiple rewards are granted within a single earning Modify your ETL process to include the new column - ‘additional_details', as necessary
Data Export: 
Redemption Date Export
  • The original Discount Amount field will be removed.
  • The Amount field will be called Discount Amount.
  • The Receipt Payable field will be called Amount.
Improved clarity and alignment with receipt terminology 27 May 2025 The removal of a column will shift the remaining columns to the left in the CSV export file.  Adjust your data ingestion processes accordingly.
Data Pipeline:
Table name - see the list below
Column modified - the data type for several columns is being updated from 'int' to 'bigint.' See the complete list below for details.  Planned database maintenance 30 April 2025  Modified column datatypes may impact downstream processes, such as data pipe ETL scripts, reporting tools, and applications interfacing with this data Modify your ETL process to accommodate below schema changes
Expand for the full details about the April 30, 2025 change
Table Name Column Name Current Data Type New Data Type
badges  source_id int  bigint
campaign_devices  id int  bigint
challenge_milestones  event_id int  bigint
checkin_allocations  checkin_id int  bigint
checkin_credits  checkin_id int  bigint
checkins  gifted_for_id int  bigint
checkins  id int  bigint
earnings  checkin_id int  bigint
earnings  id int  bigint
earnings  receipt_detail_id int  bigint
feedback_replies  gifted_item_id int  bigint
feedbacks  checkin_id int  bigint
location_visits  checkin_id int  bigint
location_visits  id int  bigint
menu_item_consumers  checkin_id int  bigint
menu_item_consumers  id int  bigint
menu_item_consumers  receipt_detail_id int  bigint
post_checkin_user_campaigns  event_id int  bigint
post_checkin_user_campaigns  id int  bigint
receipt_details  checkin_id int  bigint
receipt_details  id int  bigint
receipt_images  checkin_id int  bigint
receipt_taggings  checkin_id int  bigint
receipt_taggings  receipt_detail_id int  bigint
reward_archives  checkin_id int  bigint
reward_debits  debited_for_id int  bigint
rewards  checkin_id int  bigint
scratch_plays  checkin_id int  bigint
session_visits  checkin_id int  bigint
tips  checkin_id int  bigint
user_campaigns  event_id int  bigint
user_surveys  event_id int  bigint
verifications  checkin_id int  bigint
What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Webhooks: 
Redeemable Event
Two attribute fields added in redeemable serialiser
  • expiry_days
  • end_time
  • end_time: Date on which the redeemable will expire
  • expiry_days: Represent the days when the redeemable will expire once the user receives the redeemable
22 April 2025 None,  no updates are needed as the fields are optional and do not affect existing adapters None
Data Pipeline:
Table name - mass_giftings
Column added -'split_percentage' (type =decimal(5,2)) New column ‘split_percentage'' added to the 'mass_giftings’ table in support of an upcoming split testing campaign feature release 22 April 2025 The new column ‘split_percentage' will be used to configure and support split testing campaigns. This value will be ‘null’ for campaigns not utilizing the split testing feature Modify your ETL process to include the new column - ‘split_percentage’ as necessary
Data Pipeline:
Table name - user_campaigns
Column added- campaign_type_code(type= char(1)) New column ‘campaign_type_code’ added to the ‘user_campaigns’ table to capture the campaign type. 18 March 2025 The new column ‘campaign_type_code',
will store values ‘Z’, ‘C’ and 'F’ to indicate campaign types  - Mass Gifting Campaigns, Campaigns, and Free Punchh Campaigns, respectively
Modify your ETL process to include the new column - ‘campaign_type_code',
as necessary
Data Pipeline:
Table name - tags
Column added -archived_at (type =datetime) New column ‘archived_at’ added to ‘tags’ table to store Location Group status. 11 February 2025 The new column 'archived_at' will be used to manage and control the display of archived Location Groups on the platform UI. Modify your ETL process to include the new column - ‘archived_at’ as necessary

2024 and Earlier Change Log

Expand
What is changing? Change Details Purpose Effective Date Operational Impact Customer Action(s)
Data Pipeline:
Table name - mass_giftings
Columns added- users_with_variable_points_file_name(type = string)
users_with_variable_points_content_type(type=string)
users_with_variable_points_file_size(type= int)
3 new columns added users_with_variable_points_file_name,
users_with_variable_points_content_type, and
users_with_variable_points_file_size to mass_giftings table to support new features while uploading CSV.
12 November 2024 The new columns 'users_with_variable_points_file_name',
'users_with_variable_points_content_type', and
'users_with_variable_points_file_size' will be used to store data to support and streamline the data loading process using CVS uploads, for mass gifting campaigns. 
Modify your ETL process to include the new columns - ‘users_with_variable_points_file_name',
'users_with_variable_points_content_type' and
'users_with_variable_points_file_size' as necessary
Data Pipeline:
Table name - segment_definitions
Columns added - updated_by (type = string), created_by (type = string), creator_id (type =int), updator_id (type = int), is_deleted (type =boolean) 5 new columns added updated_by , created_by , creator_id , updator_id ,and  is_deleted  to segment_definitions table for new segment homepage. 12 November 2024 The new columns 'updated_by' , 'created_by' , 'creator_id' ,' updator_id' ,and  'is_deleted'  on segment_definitions table will be used to track segment definitions changes . These columns will only be visible on the new segment homepage.  Modify your ETL process to include the new columns  - updated_by , created_by , creator_id , updator_id ,and  is_deleted as necessary.
Data Pipeline:
Table - sms_events
Column added - ‘body’ (type = text) A new column ‘body’ has been added to store the body of the SMS. 23 July 2024 The new column ‘body’ will be used to store the body of the SMS message sent. Modify your ETL process to include the new column - ‘body’ as necessary.
Data Pipeline:
Tables - line_item_selectors, qualification_criteria
Column added - ‘external_id’ (type = string) A new column ‘external_id’ has been added to tables - ‘line_item_selectors’ and ‘qualification_criteria’ to store unique user IDs as external identifiers for external systems. 21 July 2024 The new column ‘external_id’ will be used to store UUID as external identifiers for external systems. Existing records will be updated to populate ‘external_id’ column with random uuid value. Modify your ETL process to include the new column ‘external_id’ as necessary.
Data Pipeline:
Tables - campaigns, mass_giftings, free_punchh_campaigns
Column dropped - ‘archived’ (type = boolean) Recently added column ‘archived’ has been dropped from tables - ‘campaigns’ , ‘mass_giftings’, and ‘free_punchh_campaigns’ due to a change in design. Campaign archival status on the new campaign homepage will be tracked using new parameters "archived_at" and "unarchived_at" in the preferences column instead. 28 May 2024 The column ‘archived’ will be removed from tables - ‘campaigns’ , ‘mass_giftings’, ‘free_punchh_campaigns’. New parameters "archived_at" and "unarchived_at" will be included in the preferences column to track campaign archival status. This will impact those using the new campaign management tool only. Modify your ETL to remove column ‘archived’ and process additional parameters within preferences settings as necessary.
Data Pipeline:
Table - workflow_assessments
Columns added - ‘pending_approval_at’ (type = datetime) and ‘disapproved_at’ (type = datetime) 2 new columns ‘pending_approval_at’ and 'disapproved_at' have been added to ‘workflow_assessments’ table to track the timeline states of a campaign. 28 May 2024 New columns ‘pending_approval_at’ and 'disapproved_at' on ‘workflow_assessments’ table will store campaign archival timelines Modify your ETL process to include the new columns - ‘pending_approval_at’ and ‘disapproved_at’ as necessary.
Data Pipeline:
Table - locations
Column added - ‘ncr_bsl_store_id’ A new column ‘ncr_bsl_store_id’ has been added to ‘locations’ table to support the new version of NCR BSR - Aloha integration. 28 May 2024 The new column ‘ncr_bsl_store_id’ will be used to store 'enterprise unit id’ when NCR BSL integration is enabled Modify your ETL process to include the new column - ‘ncr_bsl_store_id’ as necessary
Data Pipeline:
Tables - campaigns, mass_giftings, free_punchh_campaigns
New column added - ‘archived’ (type = boolean) Adding a new column ‘archived’ on 3 tables - ‘campaigns’ , ‘mass_giftings’, ‘free_punchh_campaigns’ in support of the new campaigns archiving feature on the new campaigns homepage. 2 April 2024 The new column ‘archived’ on ‘campaigns’ , ‘mass_giftings’, ‘free_punchh_campaigns’ tables will store true/false values indicating whether or not a campaign is archived. This will be available for those using the new campaign management tool only. Modify your ETL process to include the new column ‘archived’ as necessary.
Data Pipeline:
Table - user_notes
New column added - ‘reactivation_allowed’ (type = boolean) Adding a new column 'reactivation_allowed' on user_notes table to support a new feature - reactivation request from guests. 2 April 2024 The new column ‘reactivation_allowed’ on ‘user_notes’ table will store a true/false value that indicates if a guest’s (user) request for reactivation can be honored or not based on admin’s decision to allow reactivation at the time of deactivation. This column will be retroactively updated with historical values. Modify your ETL process to include the new column ‘reactivation_allowed’ as necessary.
Data Pipeline:
Table - free_punchh_campaigns
New column added - ‘deactivated_at’ (type = timestamp) The column ‘deacativated_at’ has been added to ‘free_punchh_campaigns’ table to track the campaign deactivation date for a post-checkin campaign. 2 April 2024 The new column ‘deactivated_at’ on ‘free_punchh_campaigns’ table will store the date timestamp of campaign deactivation in case of a post-checkin campaign. Modify your ETL process to include the new column ‘deactivated_at’ as necessary.
Data Pipeline:
Table - accounts
Column repurposed - ‘initial_visits’ (type = int) The column ‘initial_visits’ on ‘accounts’ table which has not been used in the last couple years, been repurposed to reflect the threshold at which the last banking happened. 5 March 2024 The column ‘initial_visits’ on ‘accounts’ table, may or may not have had any value stored historically. Going forward, this column will store the last redemption mark for the guest. This value will be populated for businesses that are ‘Points to Rewards’ program type. Modify your ETL process to include the new column ‘initial_visits’ to fetch the last redemption mark for a guest.
Data Pipeline:
Tables - 'rewards', 'rewards_archive', and 'user_campaigns'
Added new column - ‘ref_id’ (type = bigInt) A new column 'ref_id’ has been added to the 'rewards', 'rewards_archive', and 'user_campaigns’ tables to track bundled inserts. 6 September 2023 The new column ‘ref_id’ is for Punchh internal use and is NOT intended for business usage. No action is necessary. Ignore the new addition.
This has been removed.
Data Pipeline:
Table - 'redeemable' 
Added new columns - ‘second_expiry_warning’ (type = int) and ‘final_expiry_warning’ (type = int) New columns  ‘second_expiry_warning’ and ‘final_expiry_warning’ have been added to the 'redeemable’ table for internal tracking purposes. 6 September 2023
Yet to be deployed
The new columns ‘second_expiry_warning’ and ‘final_expiry_warning’ are for Punchh internal use and are NOT intended for business usage. No action is necessary. Ignore the new addition.
Data Pipeline:
All tables delivered by the pipeline
Added new column - ‘op’ An operation flag has been introduced in data pipeline feeds to denote the change or type of operation at record level. 4 April 2023 The operation flag ('op' column) will be added as a new column on all of the tables delivered via the data pipeline. 'op' indicates the change or the type of operation at record level. The possible values in this column are: 'I' (Insert), 'U' (Update), or 'D' (Delete). Modify your ETL process to include the new column as necessary.
Data Pipeline:
Tables - 'games', 'gaming-levels'
Added new column -  'refresh_game_limit_at_midnight' A new column 'refresh_game_limit_at_midnight' has been added to define whether or not a game limit is refreshable at midnight. 4 April 2023 Pipeline output for ‘games’ and ‘gaming_levels’ will include a new boolean attribute 'refresh_game_limit_at_midnight'. When set to true, this attribute will refresh the game limit at midnight, and the user will be able to resume playing the game again at 00.01 hours. Modify your ETL process to include the new column ‘refresh_game_limit_at_midnight' on the ‘games’ and 'gaming-levels’ tables.
Data Pipeline:
Table - 'feedback_replies'
Added new column -   ‘chatgpt_feedback_response’ A new column ‘chatgpt_feedback_response’ has been added to the ‘feedback_replies’ table as a placeholder for ChatGPT responses following a potential integration. 21 March 2023 Pipeline output for the ‘feedback_replies' table will include a new attribute ‘chatgpt_feedback_response’ with NO data in it. In the possible event of integration, this attribute will be used to save results inferred from OpenAI ChatGPT API, and the existing reply column will be used to store the final message that is sent to the customer after any necessary modifications have been made. No immediate action is necessary.
Data Pipeline:
Table - 'subscription_plans'
Added new column - ‘signup_start_date’ A new column ‘signup_start_date’ has been added to the ‘subscription_plans’ table to store the cut-off date when subscription plans become available to the user for purchase.  21 March 2023 Pipeline output for the ‘subscription_plans’ table will include a new attribute ‘signup_start_date’ with the subscription plan availability date in it. Modify your ETL process to include the new column ‘signup_start_date’ on the ‘subscription_plans’ table.
Data Pipeline:
Table - 'user_subscriptions'
Added new column - ‘cancellation_reason_id’ A new column  ‘cancellation_reason_id’ has been added to the ‘user_subscriptions’ table to indicate business subscription cancellation reason. 9 March 2023 Pipeline output for the ‘user_subscriptions’ table will include a new attribute ‘cancellation_reason_id’ and its associated value.  ‘cancellation_reason_id’ represents a unique code on  ‘subscription_cancellation_reasons’ table that stores canned cancellation reasons. Modify your ETL process to include the new column ‘cancellation_reason_id’ on the ‘user_subscriptions’ table.
Data Pipeline:
Table - 'redeemable'
Added new column - ‘preferences’ Introducing a new column ‘preferences’ to store two POS receipt messages at the redeemable level, 255 max characters in length 12 January 2023 Pipeline output for the redeemable table will contain one additional column - 'preferences' and associated value. Modify your ETL process to include the new column ‘preferences’ on the ‘redeemable’ table.
Data Pipeline:
Table - 'user_subscriptions'
Added new column - 'vault_id' Introducing recurring payment using vault for subscription. Payment details stored in ’vault id’ will be used to determine future payments at the time of subscriptions renewal. 8 November 2022 Pipeline output will contain one additional parameter - 'vault_id' and associated value. Modify your ETL process to include the new column ‘vault_id’ on the ‘user_’subscriptions’ table.
Data Pipeline:
Table - 'user_subscriptions'
Added new column - 'renewed_date' of type date time and a new index considering 'end_time', 'business_id', and 'subscription_plan_id'. Introducing advance renewals for user subscriptions.  ‘renewed_date’ allows filtering all renewed subscriptions. Additionally, if the renewal logic is executed again for whatever reason, a value in the 'renewed_date' column rejects the renewal action/request. 29 November 2022 Pipeline output will contain one additional parameter - 'renewed_date'. Modify your ETL process to include the new column ‘renewed_date’ on the ‘user_’subscriptions’ table.