Explore the Tanda data model

See how the various Tanda endpoints relate to each other, using our handy Entity Relationship Diagram.

Pulling data from Tanda is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SyncHub, we not only pull your Tanda endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

Endpoints

AwardTag

Documentation: https://my.tanda.co/api/v2/documentation#award-tags

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
UpdatedAt decimal - -

Allowance

Column Type Relates to Notes
RemoteID string - -
ShiftRemoteID string Shift → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
Value decimal - -
Cost decimal - -
ShiftID int Shift → ID -

Break

Documentation: https://my.tanda.co/api/v2/documentation#shifts

Column Type Relates to Notes
RemoteID string - -
ShiftRemoteID string Shift → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
ShiftID int Shift → ID -
Start decimal - -
Finish decimal - -
Length decimal - -
Paid boolean - -
WhenStart datetime - -
WhenFinish datetime - -
UpdatedAt decimal - -

ClockIn

Documentation: https://my.tanda.co/api/v2/documentation#clock-ins

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
UserID int User → ID -
DeviceID int -
  • 14 Jul 2020 Foreign Key - References `Device` (not implemented).
Time decimal - -
Type string - -
Latitude decimal - -
Longitude decimal - -
Photo string - -
DepartmentID int Team → ID -
ShiftID int Shift → ID -
Removed boolean - -
WhenClockedIn datetime - -
UpdatedAt decimal - -

CustomEvent

Documentation: https://my.tanda.co/api/v2/documentation#custom-events

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
OrganisationID int Organisation → ID -
Start string - -
Finish string - -
DiscourageTimeOff boolean - -
UpdatedAt decimal - -

Location

Documentation: https://my.tanda.co/api/v2/documentation#locations

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
ShortName string - -
Latitude decimal - -
Longitude decimal - -
Address string - -
UtcOffset decimal - -
BusinessDayCutoff int - -
UpdatedAt decimal - -

Organisation

Documentation: https://my.tanda.co/api/v2/documentation#organisations

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
PayrollSystem string - -
Country string - -
Locale string - -
Industry string - -
UpdatedAt decimal - -

Roster

Documentation: https://my.tanda.co/api/v2/documentation#rosters

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Start string - -
Finish string - -

Schedule

Documentation: https://my.tanda.co/api/v2/documentation#schedules-schedules-get-1

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
RosterID int Roster → ID -
UserID int User → ID -
Start decimal -
  • 30 Jan 2023 We have observed records coming down without start/finish times set
Finish decimal -
  • 30 Jan 2023 We have observed records coming down without start/finish times set
AutomaticBreakLength decimal - -
DepartmentID int Team → ID -
ShiftDetailID int ShiftDetail → ID -
Cost decimal - -
LastPublishedAt decimal - -
LastAcknowledgedAt decimal - -
UtcOffset decimal - -
NeedsAcceptance boolean - -
RecordID int - -
LastCostedAt decimal - -
AcceptanceStatus string - -
WhenLastCosted datetime - -
WhenLastAcknowledged datetime - -
WhenLastPublished datetime - -
WhenStart datetime - -
WhenFinish datetime - -
UpdatedAt decimal - -

ShiftDetail

Documentation: https://my.tanda.co/api/v2/documentation#shift-details-shift-detail

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
DepartmentID int Team → ID -
UpdatedAt decimal - -

Team

Documentation: https://my.tanda.co/api/v2/documentation#teams-(departments)

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
LocationID int Location → ID -
ExportName string - -
Colour string - -
UpdatedAt decimal - -

TimeclockQuestion

Documentation: https://my.tanda.co/api/v2/documentation

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Question string - -
TriggerOn string - -
Condition string - -
Type string - -
Lenience decimal - -
Process string - -
UpdatedAt decimal - -

Timesheet

Documentation: https://my.tanda.co/api/v2/documentation#timesheets

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
UserID int User → ID -
Start string - -
Finish string - -
Status string - -
Cost decimal - -
UpdatedAt decimal - -

User

Documentation: https://my.tanda.co/api/v2/documentation#staff-(users)

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
DateOfBirth string - -
EmploymentStartDate string - -
EmployeeID string -
  • 3 Aug 2020 Note - not a user_id foreign key reference. It is just an optional id for employees.
PreferredHours decimal - -
AwardTemplateID int AwardTemplate → ID -
ReportDepartmentID int Team → ID -
Active boolean - -
Email string - -
Photo string - -
Phone string - -
NormalisedPhone string - -
Salary decimal - -
HourlyRate decimal - -
UtcOffset decimal - -
PartTimeFixedHours decimal - -
ExpectedHoursInPayPeriod decimal - -
DaysOvertimeAveragedOver decimal - -
OvertimeCalculatedOverPeriodStart string - -
CreatedAt decimal - -
UpdatedAt decimal - -

Shift

Documentation: https://my.tanda.co/api/v2/documentation#shifts

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
TimesheetID int Timesheet → ID -
UserID int User → ID -
Date string - -
Start decimal - -
Finish decimal - -
BreakStart decimal - -
BreakFinish decimal - -
BreakLength decimal - -
Status string - -
Tag string - -
TagID int - -
SubCostCentre string - -
Cost decimal - -
LastCostedAt decimal - -
WhenLastCosted datetime - -
AwardCost decimal - -
AllowanceCost decimal - -
DepartmentID int Team → ID -
Metadata string - -
LeaveRequestID int -
  • 14 Jul 2020 Foreign key - References `LeaveRequest` (not implemented).
WhenStart datetime - -
WhenFinish datetime - -
WhenBreakStart datetime - -
WhenBreakFinish datetime - -
UpdatedAt decimal - -

Qualification

Documentation: https://my.tanda.co/api/v2/documentation#qualifications

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
MaximumHours decimal - -
UpdatedAt decimal - -

UserQualification

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
UserID int User → ID -
QualificationID int Qualification → ID -
Enabled boolean - -
LicenseNumber string - -
Expires string - -
InTraining boolean - -

SalesTarget

Documentation: https://my.tanda.co/api/v2/documentation#rosters-sales-targets

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Target decimal - -
CreatedAt decimal - -
UserEntered boolean - -
Date string - -
UpdatedAt decimal - -

UserAwardTag

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UserID int User → ID -
AwardTagID int AwardTag → ID -

LeaveRequest

Documentation: https://my.tanda.co/api/v2/documentation#leave-requests-leave-list-get

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
DepartmentID int Team → ID
  • 4 Feb 2022 Departments are also referred to as Teams in Tanda
UserID int User → ID -
Reason string - -
LeaveType string - -
Hours decimal - -
Start datetime - -
Finish datetime - -
StartTime datetime - -
FinishTime datetime - -
Status string - -
Multitagging string - -
AllDay boolean - -
UpdatedAt decimal - -

LeaveRequestDailyBreakdown

Column Type Relates to Notes
RemoteID string - -
LeaveRequestRemoteID string LeaveRequest → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string -
  • 16 Feb 2021 If a leave request is rejected or deleted, Tanda changes the id from integer to string. For example the id would change from `93796060` to `i2021-01-01` in all the DailyBreakdown objects.
LeaveID int LeaveRequest → ID -
Date datetime - -
AllDay boolean - -
DepartmentID int - -
StartTime datetime - -
FinishTime datetime - -
Hours decimal - -
IsHoliday boolean - -
TimesheetOnThisDayIsExported boolean - -
FilledFrom string - -

AwardTemplate

Documentation: https://my.tanda.co/api/v2/documentation#award-templates

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Name string - -
AwardTemplateID int - -
Identifier string - -
UpdatedAt decimal - -

ShiftAwardInterpretation

Column Type Relates to Notes
RemoteID string - -
ShiftRemoteID string Shift → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SortOrder int - -
Units decimal - -
Date string - -
ExportName string - -
SecondaryExportName string - -
OrdinaryHours boolean - -
Cost decimal - -
From int - -
To int - -
WhenFrom datetime - -
WhenTo datetime - -
ShiftID int Shift → ID -

TimesheetAwardInterpretation

Column Type Relates to Notes
RemoteID string - -
TimesheetRemoteID string Timesheet → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TimeSheetID int Timesheet → ID -
SortOrder int - -
Units decimal - -
Date string - -
ExportName string - -
SecondaryExportName string - -
OrdinaryHours boolean - -
Cost decimal - -
From int - -
To int - -
WhenFrom datetime - -
WhenTo datetime - -
ShiftID int Shift → ID -

TeamSalesTarget

Documentation: https://my.tanda.co/api/v2/documentation#rosters-sales-targets

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Target decimal - -
CreatedAt decimal - -
UserEntered boolean - -
Date string - -
TeamID int Team → ID -
UpdatedAt decimal - -

CustomEventTeam

Column Type Relates to Notes
RemoteID string - -
CustomEventRemoteID string CustomEvent → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CustomEventID int CustomEvent → ID -
TeamID int Team → ID -

LeaveBalance

Documentation: https://my.tanda.co/api/v2/documentation#leave-balances

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
UserID int User → ID -
LeaveType string - -
Hours decimal - -
ShouldAccrue boolean - -
UpdatedAt decimal - -

LocationSalesTarget

Documentation: https://my.tanda.co/api/v2/documentation#rosters-sales-targets-for-location-get

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID int - -
Target decimal - -
CreatedAt decimal - -
UserEntered boolean - -
Date string - -
LocationID int Location → ID -
UpdatedAt decimal - -

ScheduleBreak

Column Type Relates to Notes
RemoteID string - -
ScheduleRemoteID string Schedule → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ScheduleID int Schedule → ID -
Start decimal -
  • 30 Jan 2023 We have observed records coming down without start/finish times set
Finish decimal -
  • 30 Jan 2023 We have observed records coming down without start/finish times set
Paid boolean -
  • 30 Jan 2023 This field is not documented, however we have observed it coming down in some payloads
WhenStart datetime - -
WhenFinish datetime - -

ScheduleAwardInterpretation

Column Type Relates to Notes
RemoteID string - -
ScheduleRemoteID string Schedule → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ScheduleID int Schedule → ID -
Units decimal - -
Date string - -
ExportName string - -
SecondaryExportName string - -
PayClass string - -
OrdinaryHours boolean - -
Cost decimal - -
From decimal - -
To decimal - -
WhenFrom datetime - -
WhenTo datetime - -

Need more?

SyncHub lives and breathes APIs and data. Keep exploring using the links below.