# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. # typed: true # frozen_string_literal: true module StackOne module Shared class TimeOff < ::StackOne::Utils::FieldAugmented extend T::Sig # The approver ID field :approver_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('approver_id') } } # The created date of the time off request field :created_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # The employee ID field :employee_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('employee_id') } } # The end date of the time off request field :end_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('end_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # Unique identifier field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } } # Provider's unique identifier field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } } # The start date of the time off request field :start_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # The status of the time off request field :status, T.nilable(::StackOne::Shared::TimeOffStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('status') } } # The type of the time off request field :type, T.nilable(::StackOne::Shared::TimeOffType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } } # The updated date of the time off request field :updated_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_date'), 'decoder': Utils.datetime_from_iso_format(true) } } sig { params(approver_id: T.nilable(::String), created_date: T.nilable(::DateTime), employee_id: T.nilable(::String), end_date: T.nilable(::DateTime), id: T.nilable(::String), remote_id: T.nilable(::String), start_date: T.nilable(::DateTime), status: T.nilable(::StackOne::Shared::TimeOffStatus), type: T.nilable(::StackOne::Shared::TimeOffType), updated_date: T.nilable(::DateTime)).void } def initialize(approver_id: nil, created_date: nil, employee_id: nil, end_date: nil, id: nil, remote_id: nil, start_date: nil, status: nil, type: nil, updated_date: nil) @approver_id = approver_id @created_date = created_date @employee_id = employee_id @end_date = end_date @id = id @remote_id = remote_id @start_date = start_date @status = status @type = type @updated_date = updated_date end end end end