# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module StackOne module Shared class WorkEligibility < ::StackOne::Utils::FieldAugmented extend T::Sig field :document, T.nilable(::StackOne::Shared::WorkEligibilityDocument), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('document') } } # Unique identifier field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } } # The country code of the issued by authority field :issued_by, T.nilable(::StackOne::Shared::WorkEligibilityIssuedBy), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('issued_by') } } field :number, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('number') } } # Provider's unique identifier field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } } field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('sub_type') } } field :type, T.nilable(::StackOne::Shared::WorkEligibilityType), { '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::WorkEligibilityDocument), id: T.nilable(::String), issued_by: T.nilable(::StackOne::Shared::WorkEligibilityIssuedBy), number: T.nilable(::String), remote_id: T.nilable(::String), sub_type: T.nilable(::String), type: T.nilable(::StackOne::Shared::WorkEligibilityType), valid_from: T.nilable(::DateTime), valid_to: T.nilable(::DateTime)).void } def initialize(document: nil, id: nil, issued_by: nil, number: nil, remote_id: nil, sub_type: nil, type: nil, valid_from: nil, valid_to: nil) @document = document @id = id @issued_by = issued_by @number = number @remote_id = remote_id @sub_type = sub_type @type = type @valid_from = valid_from @valid_to = valid_to end end end end