# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. # typed: true # frozen_string_literal: true module StackOne module Shared class HrisCreateWorkEligibilityRequestDto < ::StackOne::Utils::FieldAugmented extend T::Sig field :document, T.nilable(::StackOne::Shared::Document), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('document') } } # The country code of the issued by authority field :issued_by, T.nilable(::StackOne::Shared::IssuedBy), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('issued_by') } } field :number, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('number') } } field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('sub_type') } } field :type, T.nilable(::StackOne::Shared::HrisCreateWorkEligibilityRequestDtoType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } } field :valid_from, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('valid_from'), 'decoder': Utils.datetime_from_iso_format(true) } } field :valid_to, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('valid_to'), 'decoder': Utils.datetime_from_iso_format(true) } } sig { params(document: T.nilable(::StackOne::Shared::Document), issued_by: T.nilable(::StackOne::Shared::IssuedBy), number: T.nilable(::String), sub_type: T.nilable(::String), type: T.nilable(::StackOne::Shared::HrisCreateWorkEligibilityRequestDtoType), valid_from: T.nilable(::DateTime), valid_to: T.nilable(::DateTime)).void } def initialize(document: nil, issued_by: nil, number: nil, sub_type: nil, type: nil, valid_from: nil, valid_to: nil) @document = document @issued_by = issued_by @number = number @sub_type = sub_type @type = type @valid_from = valid_from @valid_to = valid_to end end end end