/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Merge from "../../../index";
/**
 * # The TimeOff Object
 * ### Description
 * The `TimeOff` object is used to represent all employees' Time Off entries.
 *
 * ### Usage Example
 * Fetch from the `LIST TimeOffs` endpoint and filter by `ID` to show all time off requests.
 */
export interface TimeOff {
    id?: string;
    /** The third-party API ID of the matching object. */
    remoteId?: string;
    /** The datetime that this object was created by Merge. */
    createdAt?: Date;
    /** The datetime that this object was modified by Merge. */
    modifiedAt?: Date;
    /** The employee requesting time off. */
    employee?: Merge.hris.TimeOffEmployee;
    /** The Merge ID of the employee with the ability to approve the time off request. */
    approver?: Merge.hris.TimeOffApprover;
    /**
     * The status of this time off request.
     *
     * * `REQUESTED` - REQUESTED
     * * `APPROVED` - APPROVED
     * * `DECLINED` - DECLINED
     * * `CANCELLED` - CANCELLED
     * * `DELETED` - DELETED
     */
    status?: Merge.hris.TimeOffStatus;
    /** The employee note for this time off request. */
    employeeNote?: string;
    /**
     * The measurement that the third-party integration uses to count time requested.
     *
     * * `HOURS` - HOURS
     * * `DAYS` - DAYS
     */
    units?: Merge.hris.TimeOffUnits;
    /** The time off quantity measured by the prescribed “units”. */
    amount?: number;
    /**
     * The type of time off request.
     *
     * * `VACATION` - VACATION
     * * `SICK` - SICK
     * * `PERSONAL` - PERSONAL
     * * `JURY_DUTY` - JURY_DUTY
     * * `VOLUNTEER` - VOLUNTEER
     * * `BEREAVEMENT` - BEREAVEMENT
     */
    requestType?: Merge.hris.TimeOffRequestType;
    /** The day and time of the start of the time requested off. */
    startTime?: Date;
    /** The day and time of the end of the time requested off. */
    endTime?: Date;
    /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */
    remoteWasDeleted?: boolean;
    fieldMappings?: Record<string, unknown>;
    remoteData?: Merge.hris.RemoteData[];
}
