# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module DingSDK module Shared class LookupResponse < ::DingSDK::Utils::FieldAugmented extend T::Sig # The carrier of the phone number. field :carrier, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('carrier') } } # The ISO 3166-1 alpha-2 country code of the phone number. field :country_code, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('country_code') } } # The type of phone line. # * `CallingCards` - Numbers that are associated with providers of pre-paid domestic and international calling cards. # * `FixedLine` - Landline phone numbers. # * `InternetServiceProvider` - Numbers reserved for ISPs. # * `LocalRate` - Numbers that can be assigned non-geographically. # * `Mobile` - Mobile phone numbers. # * `Other` - Other types of services. # * `Pager` - Number ranges specifically allocated to paging devices. # * `PayPhone` - Allocated numbers for payphone kiosks in some countries. # * `PremiumRate` - Landline numbers where the calling party pays more than standard. # * `Satellite` - Satellite phone numbers. # * `Service` - Automated applications. # * `SharedCost` - Specific landline ranges where the cost of making the call is shared between the calling and called party. # * `ShortCodesCommercial` - Short codes are memorable, easy-to-use numbers, like the UK's NHS 111, often sold to businesses. Not available in all countries. # * `TollFree` - Number where the called party pays for the cost of the call not the calling party. # * `UniversalAccess` - Number ranges reserved for Universal Access initiatives. # * `Unknown` - Unknown phone number type. # * `VPN` - Numbers are used exclusively within a private telecommunications network, connecting the operator's terminals internally and not accessible via the public telephone network. # * `VoiceMail` - A specific category of Interactive Voice Response (IVR) services. # * `Voip` - Specific ranges for providers of VoIP services to allow incoming calls from the regular telephony network. # field :line_type, T.nilable(::DingSDK::Shared::LineType), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('line_type'), 'decoder': Utils.enum_from_string(::DingSDK::Shared::LineType, true) } } # The mobile country code of the phone number. field :mcc, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('mcc') } } # The mobile network code of the phone number. field :mnc, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('mnc') } } # Whether the phone number has been ported. field :number_ported, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('number_ported') } } # An E.164 formatted phone number. field :phone_number, T.nilable(::String), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('phone_number') } } # Whether the phone number is in our database of disposable, temporary phone numbers field :temporary_phone_number, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::DingSDK::Utils.field_name('temporary_phone_number') } } sig { params(carrier: T.nilable(::String), country_code: T.nilable(::String), line_type: T.nilable(::DingSDK::Shared::LineType), mcc: T.nilable(::String), mnc: T.nilable(::String), number_ported: T.nilable(T::Boolean), phone_number: T.nilable(::String), temporary_phone_number: T.nilable(T::Boolean)).void } def initialize(carrier: nil, country_code: nil, line_type: nil, mcc: nil, mnc: nil, number_ported: nil, phone_number: nil, temporary_phone_number: nil) @carrier = carrier @country_code = country_code @line_type = line_type @mcc = mcc @mnc = mnc @number_ported = number_ported @phone_number = phone_number @temporary_phone_number = temporary_phone_number end end end end