Cash register data model
Businesses bring in cash everyday - to make payments for smaller purchases, to pay tips to employees in cash, or to pay cash to guests. Zenoti enables businesses to track such cash in a separate cash register. The cash added, paid out, or transferred is tracked as business cash in Zenoti, and is reflected in the Register Closure report.
Typically, businesses close their register at the end of every day. The Cash Register data source provides summary details of every register closure, such as opening balance, how much cash was added, and how much cash was paid out. The fields in this data source largely correspond to the fields in the Register Closure report. For more information, refer to the Register Closure Report Help article.
Example use cases
Expected and actual cash in the register at the time of every register closure
Adjustments in cash at the time of every register closure
Granularity of the data
At the most basic level, every register closure is populated as a separate row in this data source. Summary details at the time of every register closure are populated in that row.
The following table displays how data is populated for register closures that took place at the end of every day between 8/2 and 8/7. The cash in register field shows the expected value of cash in the register at the time of register closure. The difference between the values of Cash in Register and Adjustments gives the actual value of cash in the register at the time of register closure.
After the value of deposit has been subtracted from the actual value of cash in register, this forms the opening balance for the next day. The opening balance is captured in the cash in previous register closure after adjustments field. Refer to the following table for more information.

Group | Description | Field | Definition | Examples/Notes | Data Type |
---|---|---|---|---|---|
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | organization name | Formal name of the organization. | Massage Spa Express is the formal name of an organization. | varchar(512) |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | organization account name | Domain name of the organization in Zenoti. | If you use the https://massagespa.zenoti.com URL to log in to Zenoti, massagespa is your account name. The formal name and domain name may be different. | varchar(256) |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center name | Center in which the cash register is added. | varchar(128) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | zone name | Zone to which the center belongs. | varchar(800) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center city | City in which the center is located. | varchar(128) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center state name | State in which the center is located. | varchar(1024) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | country name | Country in which the center is located. | varchar(1024) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center zip | Zip code of the center's location. | varchar(32) | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | operating center | Flag that indicates whether the center is operational: - True: Operational - False: Not operational | boolean | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center wid | Unique identifier of the center. This is generated in Analytics; it does not exist in the core system. | bigint | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | minutes to add | Number of minutes that need to be added to UTC time to calculate the current time at the center. Timestamps that are generated by Tableau (for example, if you use filters such as Today and Tomorrow) are in UTC. As a result, you need this field to find out the current center time. Note: You do not need this field for timestamps that are directly in the data source - these timestamps are already in the center's time zone. | int4 | |
Center, Zone, Organization | An organization can be divided into zones, which can be further divided into centers. Here, we refer to the center where the cash register is added. | center time zone | Time zone of the center. | varchar(4096) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee first name | First name of the employee who closed the cash register. | varchar(160) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee middle name | Middle name of the employee who closed the cash register. | varchar(128) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee last name | Last name of the employee who closed the cash register. | varchar(256) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee - code | Unique code of the employee who closed the cash register. This code is taken from the employee's profile in Zenoti. | varchar(128) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee gender | Gender of the employee who closed the cash register. | varchar(14) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee mobile phone | Mobile number of the employee who closed the cash register. | varchar(64) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee job name | Job name associated with the employee who closed the cash register. | Therapist, Manager, Aesthetician, etc. | varchar(255) |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee job code | Unique code associated with the job of the employee who closed the cash register. | varchar(8000) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee start date | Date and time at which the employee who closed the cash register started working for the organization. | timestamp | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee last date | Date and time at which the employee who closed the cash register stopped working for the organization. | timestamp | |
Employee | These fields describe the attributes of the employee who closed the cash register. | employee tags | Tags associated with the employee who closed the cash register. | varchar(65535) | |
Employee | These fields describe the attributes of the employee who closed the cash register. | is employee inactive | Flag that indicates whether the employee who closed the cash register is inactive. An employee is considered inactive if they have been removed from the system. - True: Employee is inactive. - False: Employee is active. | boolean | |
Register Closure | These fields provide the summary information of every register closure. | cash register name | Name of the cash register associated with the register closure. | varchar(1024) | |
Register Closure | These fields provide the summary information of every register closure. | cash register code | Unique code associated with the cash register. This is created while adding the cash register. | varchar(128) | |
Register Closure | These fields provide the summary information of every register closure. | cash register id | Unique identifier associated with the cash register. This is generated in the core system for every cash register. | varchar(36) | |
Register Closure | These fields provide the summary information of every register closure. | fact cash register pk | Unique identifier associated with the cash register. This is used in the corresponding fact table. This may not be relevant for reporting purposes. | integer | |
Register Closure | These fields provide the summary information of every register closure. | cash register description | Brief description about the cash register. This is a non-mandatory field that is filled up while adding the cash register. | varchar(4096) | |
Register Closure | These fields provide the summary information of every register closure. | is cash register active | Flag that indicates whether the cash register is active. - True: Cash register is active - False: Cash register is inactive | boolean | |
Register Closure | These fields provide the summary information of every register closure. | is cash register void | Flag that indicates whether the cash register is valid. - True: Cash register is void - False: Cash register is valid | boolean | |
Register Closure | These fields provide the summary information of every register closure. | cash register closure no | Unique value that is generated every time a cash register is closed. | integer | |
Register Closure | These fields provide the summary information of every register closure. | closure id | Unique identifier associated with the cash register closure number. | varchar(36) | |
Register Closure | These fields provide the summary information of every register closure. | closure date | Date and time at which the register is closed. | timestamp | |
Register Closure | These fields provide the summary information of every register closure. | cash in previous register closure after adjustments | Day's opening cash balance in the register. This is the closing balance from the previous register closure. Depending on core settings, this field may or may not include the Tips and SSG amounts. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cash added | Cash added to the corresponding cash register after previous register closure by using the Manage Cash window in Core. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cash paid | Cash paid out to employees from the corresponding cash register by using the Manage Cash window in Core. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cash transferred | Cash transferred from the corresponding cash register to another register by using the Manage Cash window in Core. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | to petty cash | Cash converted from business cash to petty cash. Petty cash is typically used for expenses such as buying coffee or lunch for a guest. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cashback amount | Cash given as cashback for credit card payments by using the Cashback field in POS. Usually, this is the extra amount paid by the guest by using a credit card, so that they can provide a tip to the provider with cash. | Example: Maria (a guest) wants to tip her provider $15. Her service costs $100. Maria does not have the cash to pay the tip. She, therefore, asks the front-desk staff to swipe $115 and requests for $15 as cashback. Consequently, Maria pays $100 by using her card and gets the $15 as cash to pay a tip to her provider. | numeric(19,4) |
Register Closure | These fields provide the summary information of every register closure. | cash in register | Expected cash amount in the register at the time of register closure. Depending on core settings, this field may or may not include the Tips and SSG amounts. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | adjustments | Difference between the expected cash collection calculated by Zenoti and the actual cash collection entered by the employee. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | adjustments notes | Notes entered by the employee corresponding to the adjustments field. | varchar(8000) | |
Register Closure | These fields provide the summary information of every register closure. | cc | Total invoice amount collected via card payments. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cc adjustments | Difference in the credit card collection calculated by Zenoti and the actual credit card collection entered by the employee. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | cc adjustment notes | Notes entered by the employee corresponding to the cc adjustments field. | varchar(8000) | |
Register Closure | These fields provide the summary information of every register closure. | checks | Total invoice amount collected by check payments. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | deposit | Amount deposited in the bank at the end of the day. | numeric(19,4) | |
Register Closure | These fields provide the summary information of every register closure. | bank name | Name of the bank in which the amount is deposited. | varchar(200) | |
Register Closure | These fields provide the summary information of every register closure. | notes | Comments entered by the employee on the Close Payment screen while closing the register. | varchar(32000) | |
Register Closure | These fields provide the summary information of every register closure. | closure type | Displays a static value: S. | char(4) |