import { APIResource } from "../core/resource.js"; import * as BusinessPartnersAPI from "./business-partners.js"; import * as LeaveTypesAPI from "./leave-types.js"; import * as WorkersAPI from "./workers.js"; import { APIPromise } from "../core/api-promise.js"; import { PageCursorURL, PagePromise } from "../core/pagination.js"; import { RequestOptions } from "../internal/request-options.js"; /** * Leave requests submitted by workers */ export declare class LeaveRequests extends APIResource { /** * A list of leave requests. * * - Requires: `API Tier 1` * - Filterable fields: `worker_id`, `requester_id`, `reviewer_id`, `status`, * `leave_policy_id`, `leave_type_id`, `start_date`, `end_date` * - Expandable fields: `worker`, `requester`, `leave_type`, `reviewer` * - Sortable fields: `id`, `created_at`, `updated_at` * * @example HTTP * Representative request and response shapes. * ``` * GET /leave-requests/?filter=filter&expand=expand&order_by=order_by&limit=50&cursor=cursor HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": {}, * "results": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "worker_id": "string", * "worker": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "requester_id": "string", * "requester": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": {}, * "is_manager": "string", * "manager_id": "string", * "manager": {}, * "legal_entity_id": "string", * "legal_entity": {}, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": "string", * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": {}, * "employment_type_id": "string", * "employment_type": {}, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": {}, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": {}, * "teams_id": [], * "teams": [], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": {}, * "job_function_id": "string", * "job_function": {}, * "termination_details": {}, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": {}, * "original_start_date": "string", * "custom_fields": [], * "country_fields": {}, * "business_partners_id": [], * "business_partners": [] * }, * "status": "PENDING", * "start_date": "string", * "start_time": "string", * "end_date": "string", * "end_time": "string", * "comments": "string", * "number_of_minutes_requested": 0, * "leave_policy_id": "string", * "leave_type_id": "string", * "leave_event_id": "string", * "leave_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "type": "string", * "name": "string", * "description": "string", * "is_paid": "string", * "is_managed_by_external_system": "string" * }, * "reason_for_leave": "string", * "reviewer_id": "string", * "reviewer": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": {}, * "is_manager": "string", * "manager_id": "string", * "manager": {}, * "legal_entity_id": "string", * "legal_entity": {}, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": "string", * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": {}, * "employment_type_id": "string", * "employment_type": {}, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": {}, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": {}, * "teams_id": [], * "teams": [], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": {}, * "job_function_id": "string", * "job_function": {}, * "termination_details": {}, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": {}, * "original_start_date": "string", * "custom_fields": [], * "country_fields": {}, * "business_partners_id": [], * "business_partners": [] * }, * "reviewed_at": "string", * "days_take_off": [ * {} * ], * "is_managed_by_external_system": false * } * ], * "next_link": "string" * } * ``` */ list(query?: LeaveRequestListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Create a new leave request. The status must be PENDING or APPROVED. PENDING * requests go through the approval chain. Creating a request as APPROVED records * leave that was already approved and requires PTO admin or leave request manager * access to the worker; callers without that access receive a 403. This operation * is not idempotent, so a retry can create a second leave request. After a * timeout, list the worker's leave requests for those dates to check whether the * first attempt succeeded before retrying. * * @example HTTP * Representative request and response shapes. * ``` * POST /leave-requests/ HTTP/1.1 * Host: rest.ripplingapis.com * Content-Type: application/json * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * { * "end_date": "end_date", * "start_date": "start_date", * "status": "PENDING", * "worker_id": "worker_id" * } * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "worker_id": "string", * "worker": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "requester_id": "string", * "requester": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "status": "PENDING", * "start_date": "string", * "start_time": "string", * "end_date": "string", * "end_time": "string", * "comments": "string", * "number_of_minutes_requested": 0, * "leave_policy_id": "string", * "leave_type_id": "string", * "leave_event_id": "string", * "leave_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "type": "string", * "name": "string", * "is_paid": false, * "is_managed_by_external_system": false * }, * "reason_for_leave": "string", * "reviewer_id": "string", * "reviewer": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "is_manager": false, * "manager_id": "string", * "manager": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "legal_entity_id": "string", * "legal_entity": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": 0, * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": { * "type": "REMOTE", * "work_location_id": "string" * }, * "employment_type_id": "string", * "employment_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "label": "string" * }, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "teams_id": [ * "string" * ], * "teams": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * } * ], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string" * }, * "job_function_id": "string", * "job_function": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "termination_details": { * "type": "VOLUNTARY", * "reason": "string" * }, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": { * "id": "string", * "label": "string" * }, * "original_start_date": "string", * "custom_fields": [ * null * ], * "country_fields": { * "us": { * "ssn": "string" * }, * "ca": { * "sin": "string" * }, * "nz": { * "ird_number": "string" * } * }, * "business_partners_id": [ * "string" * ], * "business_partners": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "business_partner_group_id": "string", * "business_partner_group": {}, * "worker_id": "string", * "worker": {}, * "client_group_id": "string", * "client_group": {}, * "client_group_member_count": "string" * } * ] * }, * "reviewed_at": "string", * "days_take_off": [ * { * "date": "string", * "number_of_minutes_taken_off": 0 * } * ], * "is_managed_by_external_system": false * } * ``` */ create(body: LeaveRequestCreateParams, options?: RequestOptions): APIPromise; /** * Retrieve a specific leave request * * @example HTTP * Representative request and response shapes. * ``` * GET /leave-requests/{id}/?expand=expand HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": { * "redacted_fields": [ * {} * ] * } * } * ``` */ retrieve(id: string, query?: LeaveRequestRetrieveParams | null | undefined, options?: RequestOptions): APIPromise; /** * Update a specific leave request. To approve or reject a PENDING request, set * status to APPROVED or REJECTED; this requires PTO admin or leave request manager * access to the worker. Set status to CANCELED to cancel a request that has not * been rejected. * * @example HTTP * Representative request and response shapes. * ``` * PATCH /leave-requests/{id}/ HTTP/1.1 * Host: rest.ripplingapis.com * Content-Type: application/json * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * {} * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "worker_id": "string", * "worker": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "requester_id": "string", * "requester": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "status": "PENDING", * "start_date": "string", * "start_time": "string", * "end_date": "string", * "end_time": "string", * "comments": "string", * "number_of_minutes_requested": 0, * "leave_policy_id": "string", * "leave_type_id": "string", * "leave_event_id": "string", * "leave_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "type": "string", * "name": "string", * "is_paid": false, * "is_managed_by_external_system": false * }, * "reason_for_leave": "string", * "reviewer_id": "string", * "reviewer": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "is_manager": false, * "manager_id": "string", * "manager": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "legal_entity_id": "string", * "legal_entity": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": 0, * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": { * "type": "REMOTE", * "work_location_id": "string" * }, * "employment_type_id": "string", * "employment_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "label": "string" * }, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "teams_id": [ * "string" * ], * "teams": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * } * ], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string" * }, * "job_function_id": "string", * "job_function": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "termination_details": { * "type": "VOLUNTARY", * "reason": "string" * }, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": { * "id": "string", * "label": "string" * }, * "original_start_date": "string", * "custom_fields": [ * null * ], * "country_fields": { * "us": { * "ssn": "string" * }, * "ca": { * "sin": "string" * }, * "nz": { * "ird_number": "string" * } * }, * "business_partners_id": [ * "string" * ], * "business_partners": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "business_partner_group_id": "string", * "business_partner_group": {}, * "worker_id": "string", * "worker": {}, * "client_group_id": "string", * "client_group": {}, * "client_group_member_count": "string" * } * ] * }, * "reviewed_at": "string", * "days_take_off": [ * { * "date": "string", * "number_of_minutes_taken_off": 0 * } * ], * "is_managed_by_external_system": false * } * ``` */ update(id: string, body?: LeaveRequestUpdateParams | null | undefined, options?: RequestOptions): APIPromise; } export type LeaveRequestListResponsesPageCursorURL = PageCursorURL; export interface LeaveRequest { /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The number of hours to take off on the end date. */ end_date_custom_hours?: number; /** * The end time of the leave request. */ end_time?: string; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The number of hours to take off on the start date. */ start_date_custom_hours?: number; /** * The start time of the leave request. */ start_time?: string; } export interface LeaveRequestListResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * Record update date */ updated_at: string; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The specific dates taken off and the amount of time taken off for each one. */ days_take_off?: Array; /** * The end time of the leave request. */ end_time?: string; /** * Whether the leave request is managed by an external system. */ is_managed_by_external_system?: boolean; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The leave type associated with the leave request. * * Expandable field */ leave_type?: LeaveTypesAPI.LeaveType; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The number of minutes requested for the leave request. */ number_of_minutes_requested?: number; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The worker who requested the leave request. * * Expandable field */ requester?: WorkersAPI.Worker; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The worker who reviewed the leave request. * * Expandable field */ reviewer?: WorkersAPI.Worker; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The start time of the leave request. */ start_time?: string; /** * The worker associated with the leave request. * * Expandable field */ worker?: WorkersAPI.Worker; } export declare namespace LeaveRequestListResponse { interface DaysTakeOff { /** * The date of the day off. */ date: string; /** * The number of minutes taken off for the day. */ number_of_minutes_taken_off: number; } } export interface LeaveRequestCreateResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * Record update date */ updated_at: string; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The specific dates taken off and the amount of time taken off for each one. */ days_take_off?: Array; /** * The end time of the leave request. */ end_time?: string; /** * Whether the leave request is managed by an external system. */ is_managed_by_external_system?: boolean; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The leave type associated with the leave request. * * Expandable field */ leave_type?: LeaveTypesAPI.LeaveType; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The number of minutes requested for the leave request. */ number_of_minutes_requested?: number; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The worker who requested the leave request. * * Expandable field */ requester?: WorkersAPI.Worker; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The worker who reviewed the leave request. * * Expandable field */ reviewer?: WorkersAPI.Worker; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The start time of the leave request. */ start_time?: string; /** * The worker associated with the leave request. * * Expandable field */ worker?: WorkersAPI.Worker; } export declare namespace LeaveRequestCreateResponse { interface DaysTakeOff { /** * The date of the day off. */ date: string; /** * The number of minutes taken off for the day. */ number_of_minutes_taken_off: number; } } /** * Meta information for the response. */ export interface LeaveRequestRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * Record update date */ updated_at: string; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The specific dates taken off and the amount of time taken off for each one. */ days_take_off?: Array; /** * The end time of the leave request. */ end_time?: string; /** * Whether the leave request is managed by an external system. */ is_managed_by_external_system?: boolean; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The leave type associated with the leave request. * * Expandable field */ leave_type?: LeaveTypesAPI.LeaveType; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The number of minutes requested for the leave request. */ number_of_minutes_requested?: number; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The worker who requested the leave request. * * Expandable field */ requester?: WorkersAPI.Worker; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The worker who reviewed the leave request. * * Expandable field */ reviewer?: WorkersAPI.Worker; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The start time of the leave request. */ start_time?: string; /** * The worker associated with the leave request. * * Expandable field */ worker?: WorkersAPI.Worker; } export declare namespace LeaveRequestRetrieveResponse { interface DaysTakeOff { /** * The date of the day off. */ date: string; /** * The number of minutes taken off for the day. */ number_of_minutes_taken_off: number; } } export interface LeaveRequestUpdateResponse { /** * Identifier field */ id: string; /** * Record creation date */ created_at: string; /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * Record update date */ updated_at: string; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The specific dates taken off and the amount of time taken off for each one. */ days_take_off?: Array; /** * The end time of the leave request. */ end_time?: string; /** * Whether the leave request is managed by an external system. */ is_managed_by_external_system?: boolean; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The leave type associated with the leave request. * * Expandable field */ leave_type?: LeaveTypesAPI.LeaveType; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The number of minutes requested for the leave request. */ number_of_minutes_requested?: number; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The worker who requested the leave request. * * Expandable field */ requester?: WorkersAPI.Worker; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The worker who reviewed the leave request. * * Expandable field */ reviewer?: WorkersAPI.Worker; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The start time of the leave request. */ start_time?: string; /** * The worker associated with the leave request. * * Expandable field */ worker?: WorkersAPI.Worker; } export declare namespace LeaveRequestUpdateResponse { interface DaysTakeOff { /** * The date of the day off. */ date: string; /** * The number of minutes taken off for the day. */ number_of_minutes_taken_off: number; } } export interface LeaveRequestListParams { cursor?: string; expand?: string; filter?: string; /** * The maximum number of results to return. Defaults to 50. Maximum is 100. */ limit?: number; order_by?: string; } export interface LeaveRequestCreateParams { /** * The end date of the leave request. */ end_date: string; /** * The start date of the leave request. */ start_date: string; /** * The status of the leave request. */ status: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * The ID of the worker associated with the leave request. */ worker_id: string; /** * The comments associated with the leave request. */ comments?: string; /** * The number of hours to take off on the end date. */ end_date_custom_hours?: number; /** * The end time of the leave request. */ end_time?: string; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The number of hours to take off on the start date. */ start_date_custom_hours?: number; /** * The start time of the leave request. */ start_time?: string; } export interface LeaveRequestRetrieveParams { expand?: string; } export interface LeaveRequestUpdateParams { /** * The comments associated with the leave request. */ comments?: string; /** * The end date of the leave request. */ end_date?: string; /** * The number of hours to take off on the end date. */ end_date_custom_hours?: number; /** * The end time of the leave request. */ end_time?: string; /** * The ID of the leave event associated with the leave request, if any. */ leave_event_id?: string; /** * The ID of the leave policy associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_policy_id?: string; /** * The ID of the leave type associated with the leave request, either * leave_policy_id or leave_type_id must be provided. */ leave_type_id?: string; /** * The reason for the leave request. */ reason_for_leave?: string; /** * The ID of the worker who requested the leave request. */ requester_id?: string; /** * The timestamp of when the leave request was reviewed. */ reviewed_at?: string; /** * The ID of the worker who reviewed the leave request. */ reviewer_id?: string; /** * The start date of the leave request. */ start_date?: string; /** * The number of hours to take off on the start date. */ start_date_custom_hours?: number; /** * The start time of the leave request. */ start_time?: string; /** * The status of the leave request. */ status?: 'PENDING' | 'APPROVED' | 'REJECTED' | 'CANCELED'; /** * The ID of the worker associated with the leave request. */ worker_id?: string; } export declare namespace LeaveRequests { export { type LeaveRequest as LeaveRequest, type LeaveRequestListResponse as LeaveRequestListResponse, type LeaveRequestCreateResponse as LeaveRequestCreateResponse, type LeaveRequestRetrieveResponse as LeaveRequestRetrieveResponse, type LeaveRequestUpdateResponse as LeaveRequestUpdateResponse, type LeaveRequestListResponsesPageCursorURL as LeaveRequestListResponsesPageCursorURL, type LeaveRequestListParams as LeaveRequestListParams, type LeaveRequestCreateParams as LeaveRequestCreateParams, type LeaveRequestRetrieveParams as LeaveRequestRetrieveParams, type LeaveRequestUpdateParams as LeaveRequestUpdateParams, }; } //# sourceMappingURL=leave-requests.d.ts.map