Timeshift data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
employee_user_idstringYes(reference to HrisEmployee)
start_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
end_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
location_idstringNo(reference to HrisLocation)
company_idstringNo(reference to HrisCompany)
group_idstringNodepartment, team, etc. (reference to HrisGroup)
compensationHrisCompensation[]No
compensation[].typeenumNoValues: SALARY, BONUS, STOCK_OPTIONS, EQUITY, OTHER, HOURLY, COMMISSION
compensation[].amountnumberNo
compensation[].currencystringNo
compensation[].frequencyenumNoValues: ONE_TIME, DAY, QUARTER, YEAR, HOUR, MONTH, WEEK, BIWEEKLY, SEMIMONTHLY
compensation[].group_idstringNo(reference to HrisGroup)
compensation[].notesstringNo
approver_user_idstringNo(reference to HrisEmployee)
approved_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
hoursnumberNo
is_approvedbooleanNo
metadataHrisMetadata[]No
metadata[].idstringNoThe ID of the custom field definition (from the metadata/metadata endpoint).
metadata[].valueobjectNoThe field's value, typed by format: DATE as ISO-8601 (YYYY-MM-DD, or YYYY-MM-DDTHH:MM:SSZ for date-times); NUMBER, PRICE and CURRENCY as a number; BOOLEAN and YES_NO as true/false; MULTIPLE_SELECT as an array of option values; otherwise a string.
metadata[].namespacestringNo
metadata[].formatenumNoThe data type of the custom field, which determines how value is formatted. Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo
metadata[].slugstringNoThe integration's API name (key) of an existing custom field. List valid slugs for this object with the metadata/metadata endpoint; unknown slugs are rejected by the integration.

TypeScript

TypeScript
export type HrisTimeshift = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	employee_user_id: string; // (reference to HrisEmployee)
	start_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	end_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	location_id?: string; // (reference to HrisLocation)
	company_id?: string; // (reference to HrisCompany)
	group_id?: string; // department, team, etc. (reference to HrisGroup)
	compensation?: [];
	approver_user_id?: string; // (reference to HrisEmployee)
	approved_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	hours?: number;
	is_approved?: boolean;
	metadata?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodHrisTimeshift = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	employee_user_id: z.string().describe("(reference to HrisEmployee)"),
	start_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	end_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	location_id: z.string().optional().describe("(reference to HrisLocation)"),
	company_id: z.string().optional().describe("(reference to HrisCompany)"),
	group_id: z.string().optional().describe("department, team, etc. (reference to HrisGroup)"),
	compensation: z.array().optional(),
	approver_user_id: z.string().optional().describe("(reference to HrisEmployee)"),
	approved_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	hours: z.number().optional(),
	is_approved: z.boolean().optional(),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class HrisTimeshift:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""(reference to HrisEmployee)"""
	employee_user_id: str
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	start_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	end_at: Optional[str]
	"""(reference to HrisLocation)"""
	location_id: Optional[str]
	"""(reference to HrisCompany)"""
	company_id: Optional[str]
	"""department, team, etc. (reference to HrisGroup)"""
	group_id: Optional[str]
	compensation: Optional[PropertyHrisTimeshiftCompensation]
	"""(reference to HrisEmployee)"""
	approver_user_id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	approved_at: Optional[str]
	hours: Optional[int]
	is_approved: Optional[bool]
	metadata: Optional[PropertyHrisTimeshiftMetadata]
Are we missing anything? Let us know
Was this page helpful?