import type * as Square from "../index"; /** * A record of the hourly rate, start time, and end time of a single timecard (shift) * for a team member. This might include a record of the start and end times of breaks * taken during the shift. */ export interface Timecard { /** **Read only** The Square-issued UUID for this object. */ id?: string; /** * The ID of the [location](entity:Location) for this timecard. The location should be based on * where the team member clocked in. */ locationId: string; /** * **Read only** The time zone calculated from the location based on the `location_id`, * provided as a convenience value. Format: the IANA time zone database identifier for the * location time zone. */ timezone?: string | null; /** * The start time of the timecard, in RFC 3339 format and shifted to the location * timezone + offset. Precision up to the minute is respected; seconds are truncated. */ startAt: string; /** * The end time of the timecard, in RFC 3339 format and shifted to the location * timezone + offset. Precision up to the minute is respected; seconds are truncated. */ endAt?: string | null; /** * Job and pay related information. If the wage is not set on create, it defaults to a wage * of zero. If the title is not set on create, it defaults to the name of the role the team member * is assigned to, if any. */ wage?: Square.TimecardWage; /** A list of all the paid or unpaid breaks that were taken during this timecard. */ breaks?: Square.Break[] | null; /** * Describes the working state of the timecard. * See [TimecardStatus](#type-timecardstatus) for possible values */ status?: Square.TimecardStatus; /** * **Read only** The current version of the timecard, which is incremented with each update. * This field is used for [optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency) * control to ensure that requests don't overwrite data from another request. */ version?: number; /** The timestamp of when the timecard was created, in RFC 3339 format presented as UTC. */ createdAt?: string; /** The timestamp of when the timecard was last updated, in RFC 3339 format presented as UTC. */ updatedAt?: string; /** The ID of the [team member](entity:TeamMember) this timecard belongs to. */ teamMemberId: string; /** The cash tips declared by the team member for this timecard. */ declaredCashTipMoney?: Square.Money; }