checkbiz 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +154 -0
  3. data/checkbiz.gemspec +32 -0
  4. data/lib/checkbiz/resource.rb +23 -0
  5. data/lib/checkbiz/resources/address_information.rb +17 -0
  6. data/lib/checkbiz/resources/bolagsverket.rb +17 -0
  7. data/lib/checkbiz/resources/company_annual_report.rb +13 -0
  8. data/lib/checkbiz/resources/company_annual_reports.rb +13 -0
  9. data/lib/checkbiz/resources/company_articles_of_association.rb +13 -0
  10. data/lib/checkbiz/resources/company_autocomplete.rb +13 -0
  11. data/lib/checkbiz/resources/company_beneficial_owner.rb +15 -0
  12. data/lib/checkbiz/resources/company_certificates_of_registration.rb +13 -0
  13. data/lib/checkbiz/resources/company_credit_template.rb +23 -0
  14. data/lib/checkbiz/resources/company_event.rb +29 -0
  15. data/lib/checkbiz/resources/company_information.rb +41 -0
  16. data/lib/checkbiz/resources/company_information_list.rb +14 -0
  17. data/lib/checkbiz/resources/company_search.rb +13 -0
  18. data/lib/checkbiz/resources/company_search_advanced.rb +13 -0
  19. data/lib/checkbiz/resources/company_worksite.rb +13 -0
  20. data/lib/checkbiz/resources/custom_list.rb +31 -0
  21. data/lib/checkbiz/resources/data_factory_person_search.rb +14 -0
  22. data/lib/checkbiz/resources/extended_search_no.rb +14 -0
  23. data/lib/checkbiz/resources/geomatics.rb +13 -0
  24. data/lib/checkbiz/resources/heartbeat.rb +9 -0
  25. data/lib/checkbiz/resources/lookup_company_no.rb +14 -0
  26. data/lib/checkbiz/resources/lookup_id_no.rb +14 -0
  27. data/lib/checkbiz/resources/lookup_phone_no.rb +14 -0
  28. data/lib/checkbiz/resources/nix.rb +11 -0
  29. data/lib/checkbiz/resources/package_calls.rb +13 -0
  30. data/lib/checkbiz/resources/package_information.rb +13 -0
  31. data/lib/checkbiz/resources/person_beneficial_owner.rb +24 -0
  32. data/lib/checkbiz/resources/person_credit_template.rb +23 -0
  33. data/lib/checkbiz/resources/person_event.rb +18 -0
  34. data/lib/checkbiz/resources/person_information.rb +47 -0
  35. data/lib/checkbiz/resources/person_information_list.rb +14 -0
  36. data/lib/checkbiz/resources/person_search.rb +15 -0
  37. data/lib/checkbiz/resources/person_search_advanced.rb +15 -0
  38. data/lib/checkbiz/resources/person_verify.rb +15 -0
  39. data/lib/checkbiz/resources/pts_info.rb +13 -0
  40. data/lib/checkbiz/resources/safenode_company_credit_report.rb +14 -0
  41. data/lib/checkbiz/resources/safenode_company_remark_control.rb +14 -0
  42. data/lib/checkbiz/resources/safenode_person_credit_report.rb +14 -0
  43. data/lib/checkbiz/resources/safenode_person_remark_control.rb +14 -0
  44. data/lib/checkbiz/resources/search_no.rb +14 -0
  45. data/lib/checkbiz/resources/signatory.rb +15 -0
  46. data/lib/checkbiz/resources/spar.rb +13 -0
  47. data/lib/checkbiz/resources/statistics.rb +14 -0
  48. data/lib/checkbiz/resources/subscriber.rb +17 -0
  49. data/lib/checkbiz/resources/subscriber_list.rb +16 -0
  50. data/lib/checkbiz/resources/url.rb +16 -0
  51. data/lib/checkbiz/resources/url_search.rb +16 -0
  52. data/lib/checkbiz/types/address_information.rb +136 -0
  53. data/lib/checkbiz/types/bolagsverket.rb +1012 -0
  54. data/lib/checkbiz/types/common.rb +503 -0
  55. data/lib/checkbiz/types/company_advanced_search.rb +38 -0
  56. data/lib/checkbiz/types/company_annual_reports.rb +17 -0
  57. data/lib/checkbiz/types/company_autocomplete.rb +25 -0
  58. data/lib/checkbiz/types/company_credit_template.rb +54 -0
  59. data/lib/checkbiz/types/company_event.rb +37 -0
  60. data/lib/checkbiz/types/company_information.rb +460 -0
  61. data/lib/checkbiz/types/company_information_list.rb +15 -0
  62. data/lib/checkbiz/types/company_search.rb +38 -0
  63. data/lib/checkbiz/types/company_worksite.rb +18 -0
  64. data/lib/checkbiz/types/custom_list_add.rb +16 -0
  65. data/lib/checkbiz/types/custom_list_get.rb +17 -0
  66. data/lib/checkbiz/types/data_factory_person_search.rb +117 -0
  67. data/lib/checkbiz/types/geomatic.rb +140 -0
  68. data/lib/checkbiz/types/lookup_company_no.rb +57 -0
  69. data/lib/checkbiz/types/lookup_id_no.rb +22 -0
  70. data/lib/checkbiz/types/lookup_phone_no.rb +29 -0
  71. data/lib/checkbiz/types/package_calls.rb +27 -0
  72. data/lib/checkbiz/types/package_information.rb +23 -0
  73. data/lib/checkbiz/types/person_advanced_search.rb +117 -0
  74. data/lib/checkbiz/types/person_credit_template.rb +61 -0
  75. data/lib/checkbiz/types/person_event.rb +33 -0
  76. data/lib/checkbiz/types/person_information.rb +598 -0
  77. data/lib/checkbiz/types/person_information_list.rb +19 -0
  78. data/lib/checkbiz/types/person_search.rb +88 -0
  79. data/lib/checkbiz/types/person_verify.rb +61 -0
  80. data/lib/checkbiz/types/pts.rb +15 -0
  81. data/lib/checkbiz/types/safenode_company_credit_report.rb +50 -0
  82. data/lib/checkbiz/types/safenode_company_remark_control.rb +29 -0
  83. data/lib/checkbiz/types/safenode_person_credit_report.rb +49 -0
  84. data/lib/checkbiz/types/safenode_person_remark_control.rb +28 -0
  85. data/lib/checkbiz/types/signatory.rb +40 -0
  86. data/lib/checkbiz/types/spar.rb +107 -0
  87. data/lib/checkbiz/types/statistics.rb +33 -0
  88. data/lib/checkbiz/types/subscriber.rb +68 -0
  89. data/lib/checkbiz/types/subscriber_list.rb +49 -0
  90. data/lib/checkbiz/types/subscriber_nix.rb +16 -0
  91. data/lib/checkbiz/version.rb +5 -0
  92. data/lib/checkbiz.rb +26 -0
  93. metadata +233 -0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/package_information"
4
+
5
+ module Checkbiz
6
+ class PackageInformation < Checkbiz::Resource
7
+ configure do
8
+ path "v1/packageinformation"
9
+ end
10
+
11
+ attr :products, Types::Array.of(Types::PackageInformationProductBlock).optional, :read_only
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_information"
4
+
5
+ module Checkbiz
6
+ class PersonBeneficialOwner < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personbeneficialowner"
9
+ end
10
+
11
+ attr :ssn, Types::String.optional, :read_only
12
+ attr :ssn_status, Types::String.optional, :read_only
13
+ attr :first_name, Types::String.optional, :read_only
14
+ attr :middle_name, Types::String.optional, :read_only
15
+ attr :last_name, Types::String.optional, :read_only
16
+ attr :citizenship, Types::String.optional, :read_only
17
+ attr :country_of_residence, Types::String.optional, :read_only
18
+ attr :number_of_involvements_as_beneficial_owner, Types::Integer.optional, :read_only
19
+ attr :number_of_company_involvements, Types::Integer.optional, :read_only
20
+ attr :basic, Types::PersonBasicBlock.optional, :read_only
21
+ attr :extended, Types::PersonExtendedBlock.optional, :read_only
22
+ attr :companies, Types::Array.of(Types::PersonBeneficialOwnerCompanyBlock).optional, :read_only
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_credit_template"
4
+
5
+ module Checkbiz
6
+ class PersonCreditTemplate < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personcredittemplate"
9
+ end
10
+
11
+ attr :credit_template, Types::PersonCreditTemplateBlock.optional, :read_only
12
+
13
+ class << self
14
+ def call_v2(**params)
15
+ package = params.delete(:package)
16
+ headers = package ? { "Package" => package } : {}
17
+ api_params = params.transform_keys { |k| PARAM_CONVENTION.serialise(k) }
18
+ response = get(path: "v2/personcredittemplate", params: api_params, headers:)
19
+ parse(response)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_event"
4
+
5
+ module Checkbiz
6
+ class PersonEvent < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personevent"
9
+ end
10
+
11
+ attr :pagination, Types::EventPagination.optional, :read_only
12
+ attr :change_date_persons_key, Types::Array.of(Types::PersonEventKeyBlock).optional, :read_only
13
+ attr :name_adress_change_persons_basic, Types::Array.of(Types::PersonEventBasicBlock).optional, :read_only
14
+ attr :name_adress_change_persons_key, Types::Array.of(Types::PersonEventKeyBlock).optional, :read_only
15
+ attr :reg_date_change_persons_key, Types::Array.of(Types::PersonEventKeyBlock).optional, :read_only
16
+ attr :reg_date_change_persons_basic, Types::Array.of(Types::PersonEventBasicBlock).optional, :read_only
17
+ end
18
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_information"
4
+
5
+ module Checkbiz
6
+ class PersonInformation < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personinformation"
9
+ end
10
+
11
+ attr :ssn_status, Types::String.optional, :read_only
12
+ attr :registered_at_address, Types::RegisteredAtAddressBlock.optional, :read_only
13
+ attr :registered_dogs_at_address, Types::RegisteredDogsAtAddressBlock.optional, :read_only
14
+ attr :registered_dogs_at_address_extended, Types::RegisteredDogsAtAddressExtendedBlock.optional, :read_only
15
+ attr :registered_vehicles_at_address, Types::RegisteredVehiclesAtAddressBlock.optional, :read_only
16
+ attr :registered_vehicles_at_address_extended, Types::RegisteredVehiclesAtAddressExtendedBlock.optional, :read_only
17
+ attr :name, Types::PersonNameBlock.optional, :read_only
18
+ attr :basic, Types::PersonBasicBlock.optional, :read_only
19
+ attr :extended, Types::PersonExtendedBlock.optional, :read_only
20
+ attr :company_involvements, Types::CompanyInvolvementBlock.optional, :read_only
21
+ attr :company_involvements_extended, Types::CompanyInvolvementExtendedBlock.optional, :read_only
22
+ attr :company_involvement_history, Types::CompanyInvolvementHistoryBlock.optional, :read_only
23
+ attr :phone_numbers, Types::PhoneNumberBlock.optional, :read_only
24
+ attr :ssn, Types::SSNBlock.optional, :read_only
25
+ attr :previous_address, Types::PreviousAddressBlock.optional, :read_only
26
+ attr :previous_adresses, Types::PreviousAdressesBlock.optional, :read_only
27
+ attr :ssn_status_block, Types::SSNStatusBlock.optional, :read_only
28
+ attr :idnummer, Types::IdnummerBlock.optional, :read_only
29
+ attr :special_address, Types::SpecialAddressBlock.optional, :read_only
30
+ attr :remark, Types::PersonRemarkBlock.optional, :read_only
31
+ attr :remark_extended, Types::RemarkExtendedBlock.optional, :read_only
32
+ attr :remarks_five_latest, Types::RemarksFiveLatestBlock.optional, :read_only
33
+ attr :tax_information, Types::TaxInformationBlock.optional, :read_only
34
+ attr :tax_information_previously_year, Types::TaxInformationPreviouslyApprovedBlock.optional, :read_only
35
+ attr :safenode_remark, Types::SafenodePersonRemarkBlock.optional, :read_only
36
+ attr :safenode_remark_extended, Types::SafenodePersonRemarkExtendedBlock.optional, :read_only
37
+ attr :safenode_credit_report, Types::SafenodePersonCreditReportBlock.optional, :read_only
38
+ attr :safenode_tax_information, Types::SafenodePersonTaxInformationBlock.optional, :read_only
39
+ attr :real_estate_holding, Types::HasRealEstateHoldingBlock.optional, :read_only
40
+ attr :relation, Types::PersonRelationBlock.optional, :read_only
41
+ attr :legal_guardian, Types::LegalGuardianBlock.optional, :read_only
42
+ attr :company_beneficial_owners, Types::Array.of(Types::PersonBeneficialOwnerCompanyBlock).optional, :read_only
43
+ attr :statistics, Types::PersonStatisticsBlock.optional, :read_only
44
+ attr :address_divided, Types::PersonAddressDividedBlock.optional, :read_only
45
+ attr :residential_info, Types::ResidentalBlock.optional, :read_only
46
+ end
47
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_information_list"
4
+
5
+ module Checkbiz
6
+ class PersonInformationList < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personinformationlist"
9
+ end
10
+
11
+ attr :records_returned, Types::Integer.optional, :read_only
12
+ attr :records, Types::Array.of(Types::PersonInformationListPersonBlock).optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_search"
4
+
5
+ module Checkbiz
6
+ class PersonSearch < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personsearch"
9
+ end
10
+
11
+ attr :basic_result, Types::PersonSearchBasicBlock.optional, :read_only
12
+ attr :extended_result, Types::PersonSearchExtendedBlock.optional, :read_only
13
+ attr :search_id_result, Types::PersonSearchIdBlock.optional, :read_only
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_advanced_search"
4
+
5
+ module Checkbiz
6
+ class PersonSearchAdvanced < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personsearchadvanced"
9
+ end
10
+
11
+ attr :basic_result, Types::PersonAdvancedSearchBasicBlock.optional, :read_only
12
+ attr :extended_result, Types::PersonAdvancedSearchExtendedBlock.optional, :read_only
13
+ attr :search_id_result, Types::PersonAdvancedSearchIdBlock.optional, :read_only
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/person_verify"
4
+
5
+ module Checkbiz
6
+ class PersonVerify < Checkbiz::Resource
7
+ configure do
8
+ path "v1/personverify"
9
+ end
10
+
11
+ attr :matches, Types::Array.of(Types::PersonVerifyMatch).optional, :read_only
12
+ attr :query, Types::PersonVerifyQuery.optional, :read_only
13
+ attr :matched_step, Types::Integer.optional, :read_only
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/pts"
4
+
5
+ module Checkbiz
6
+ class PtsInfo < Checkbiz::Resource
7
+ configure do
8
+ path "v1/ptsinfo"
9
+ end
10
+
11
+ attr :pts_info, Types::PTSBasicBlock.optional, :read_only
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/safenode_company_credit_report"
4
+
5
+ module Checkbiz
6
+ class SafenodeCompanyCreditReport < Checkbiz::Resource
7
+ configure do
8
+ path "v1/safenodecompanycreditreport"
9
+ end
10
+
11
+ attr :company_credit_report, Types::SafenodeCompanyCreditReport.optional, :read_only
12
+ attr :pdf, Types::String.optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/safenode_company_remark_control"
4
+
5
+ module Checkbiz
6
+ class SafenodeCompanyRemarkControl < Checkbiz::Resource
7
+ configure do
8
+ path "v1/safenodecompanyremarkcontrol"
9
+ end
10
+
11
+ attr :company_remark_control, Types::SafenodeCompanyRemarkControl.optional, :read_only
12
+ attr :pdf, Types::String.optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/safenode_person_credit_report"
4
+
5
+ module Checkbiz
6
+ class SafenodePersonCreditReport < Checkbiz::Resource
7
+ configure do
8
+ path "v1/safenodepersoncreditreport"
9
+ end
10
+
11
+ attr :person_credit_report, Types::SafenodePersonCreditReport.optional, :read_only
12
+ attr :pdf, Types::String.optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/safenode_person_remark_control"
4
+
5
+ module Checkbiz
6
+ class SafenodePersonRemarkControl < Checkbiz::Resource
7
+ configure do
8
+ path "v1/safenodepersonremarkcontrol"
9
+ end
10
+
11
+ attr :person_remark_control, Types::SafenodePersonRemarkControl.optional, :read_only
12
+ attr :pdf, Types::String.optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/common"
4
+
5
+ module Checkbiz
6
+ class SearchNo < Checkbiz::Resource
7
+ configure do
8
+ path "v1/searchno"
9
+ end
10
+
11
+ attr :count, Types::Integer.optional, :read_only
12
+ attr :contacts, Types::Array.of(Types::SearchNoContact).optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/signatory"
4
+
5
+ module Checkbiz
6
+ class Signatory < Checkbiz::Resource
7
+ configure do
8
+ path "v1/signatory"
9
+ end
10
+
11
+ attr :signatory_person, Types::SignatoryPersonBlock.optional, :read_only
12
+ attr :signatory_organization, Types::SignatoryOrganizationBlock.optional, :read_only
13
+ attr :signatory_right_to_sign, Types::SignatoryRightToSignBlock.optional, :read_only
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/spar"
4
+
5
+ module Checkbiz
6
+ class Spar < Checkbiz::Resource
7
+ configure do
8
+ path "v1/spar"
9
+ end
10
+
11
+ attr :spar_info, Types::SparBlock.optional, :read_only
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/statistics"
4
+
5
+ module Checkbiz
6
+ class Statistics < Checkbiz::Resource
7
+ configure do
8
+ path "v1/statistics"
9
+ end
10
+
11
+ attr :economy_block_list, Types::Array.of(Types::EconomyBlock).optional, :read_only
12
+ attr :basic_block_list, Types::Array.of(Types::BasicBlock).optional, :read_only
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/subscriber"
4
+
5
+ module Checkbiz
6
+ class Subscriber < Checkbiz::Resource
7
+ configure do
8
+ path "v1/subscriber"
9
+ end
10
+
11
+ attr :person_basic_result, Types::SubscriberPersonBasicBlock.optional, :read_only
12
+ attr :company_basic_result, Types::SubscriberCompanyBasicBlock.optional, :read_only
13
+ attr :subscriber_info, Types::SubscriberInfoBlock.optional, :read_only
14
+ attr :query, Types::SubscriberQueryBlock.optional, :read_only
15
+ attr :subscriber_info_extended, Types::SubscriberInfoExtendedBlock.optional, :read_only
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/subscriber_list"
4
+
5
+ module Checkbiz
6
+ class SubscriberList < Checkbiz::Resource
7
+ configure do
8
+ path "v1/subscriberlist"
9
+ end
10
+
11
+ attr :records_returned, Types::Integer.optional, :read_only
12
+ attr :subsbriber_info_key_block_list, Types::Array.of(Types::SubsbriberInfoKeyBlock).optional, :read_only
13
+ attr :subsbriber_info_basic_block_list, Types::Array.of(Types::SubsbriberInfoBasicBlock).optional, :read_only
14
+ attr :subsbriber_info_extended_block_list, Types::Array.of(Types::SubsbriberInfoExtendedBlock).optional, :read_only
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/common"
4
+
5
+ module Checkbiz
6
+ class Url < Checkbiz::Resource
7
+ configure do
8
+ path "v1/url"
9
+ end
10
+
11
+ attr :person_report, Types::UrlPersonBlock.optional, :read_only
12
+ attr :company_report, Types::UrlCompanyBlock.optional, :read_only
13
+ attr :catalog, Types::UrlCatalogBlock.optional, :read_only
14
+ attr :salary_verification, Types::UrlLonekollenBlock.optional, :read_only
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../types/common"
4
+
5
+ module Checkbiz
6
+ class UrlSearch < Checkbiz::Resource
7
+ configure do
8
+ path "v1/urlsearch"
9
+ end
10
+
11
+ attr :person_report, Types::UrlPersonBlock.optional, :read_only
12
+ attr :company_report, Types::UrlCompanyBlock.optional, :read_only
13
+ attr :catalog, Types::UrlCatalogBlock.optional, :read_only
14
+ attr :salary_verification, Types::UrlLonekollenBlock.optional, :read_only
15
+ end
16
+ end
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "common"
4
+
5
+ module Checkbiz
6
+ module Types
7
+
8
+ class AddressCompanyInformation < Dry::Struct
9
+ transform_keys { |key| CAMEL.parse(key) }
10
+
11
+ attribute? :company_name, Types::String.optional
12
+ attribute? :organization_number, Types::String.optional
13
+ attribute? :turnover, Types::Float.optional
14
+ attribute? :net_income, Types::Float.optional
15
+ attribute? :number_of_employees, Types::Float.optional
16
+ attribute? :registered_sni, Types::Array.of(SNIModel).optional
17
+ end
18
+
19
+ class AddressInformationBlock < Dry::Struct
20
+ transform_keys { |key| CAMEL.parse(key) }
21
+
22
+ attribute? :street, Types::String.optional
23
+ attribute? :zip_code, Types::String.optional
24
+ attribute? :city, Types::String.optional
25
+ attribute? :municipality, Types::String.optional
26
+ attribute? :municipality_code, Types::String.optional
27
+ attribute? :parish, Types::String.optional
28
+ attribute? :district, Types::String.optional
29
+ attribute? :district_code, Types::String.optional
30
+ attribute? :county, Types::String.optional
31
+ attribute? :county_code, Types::String.optional
32
+ attribute? :latitude, Types::String.optional
33
+ attribute? :longitude, Types::String.optional
34
+ attribute? :house_hold_reg_date, Types::String.optional
35
+ end
36
+
37
+ class AddressPersonInformation < Dry::Struct
38
+ transform_keys { |key| CAMEL.parse(key) }
39
+
40
+ attribute? :ssn, Types::String.optional
41
+ attribute? :first_name, Types::String.optional
42
+ attribute? :last_name, Types::String.optional
43
+ attribute? :age, Types::Integer.optional
44
+ attribute? :gender, Types::String.optional
45
+ attribute? :reg_date, Types::String.optional
46
+ attribute? :change_date, Types::String.optional
47
+ end
48
+
49
+ class AddressPhoneInformation < Dry::Struct
50
+ transform_keys { |key| CAMEL.parse(key) }
51
+
52
+ attribute? :first_name, Types::String.optional
53
+ attribute? :last_name, Types::String.optional
54
+ attribute? :phone_number, Types::String.optional
55
+ attribute? :age, Types::Integer.optional
56
+ attribute? :gender, Types::String.optional
57
+ end
58
+
59
+ class AddressResidentalAppartment < Dry::Struct
60
+ transform_keys { |key| CAMEL.parse(key) }
61
+
62
+ attribute? :building_purpose, Types::Integer.optional
63
+ attribute? :building_type, Types::Integer.optional
64
+ attribute? :construction_year, Types::Integer.optional
65
+ attribute? :type_code, Types::Integer.optional
66
+ attribute? :rt90x, Types::Float.optional
67
+ attribute? :rt90y, Types::Float.optional
68
+ attribute? :sweref99x, Types::Integer.optional
69
+ attribute? :sweref99y, Types::Integer.optional
70
+ attribute? :wgs84lat, Types::Float.optional
71
+ attribute? :wgs84lon, Types::Float.optional
72
+ end
73
+
74
+ class AddressResidentalDetails < Dry::Struct
75
+ transform_keys { |key| CAMEL.parse(key) }
76
+
77
+ attribute? :apartment_area, Types::Integer.optional
78
+ attribute? :apartment_category, Types::Integer.optional
79
+ attribute? :apartment_nr, Types::Integer.optional
80
+ attribute? :building_purpose, Types::Integer.optional
81
+ attribute? :building_type, Types::Integer.optional
82
+ attribute? :construction_year, Types::Integer.optional
83
+ attribute? :county_code, Types::String.optional
84
+ attribute? :municipality_code, Types::String.optional
85
+ attribute? :parish_code, Types::String.optional
86
+ attribute? :floor, Types::Float.optional
87
+ attribute? :floors, Types::Float.optional
88
+ attribute? :home_type, Types::String.optional
89
+ attribute? :house_nr, Types::Integer.optional
90
+ attribute? :kitchen_type, Types::Integer.optional
91
+ attribute? :letter, Types::String.optional
92
+ attribute? :number, Types::String.optional
93
+ attribute? :ownership_type, Types::String.optional
94
+ attribute? :postal_area, Types::String.optional
95
+ attribute? :postal_code, Types::String.optional
96
+ attribute? :property_key, Types::String.optional
97
+ attribute? :rooms, Types::Float.optional
98
+ attribute? :street, Types::String.optional
99
+ attribute? :type_code, Types::Integer.optional
100
+ attribute? :rt90x, Types::Float.optional
101
+ attribute? :rt90y, Types::Float.optional
102
+ attribute? :sweref99x, Types::Integer.optional
103
+ attribute? :sweref99y, Types::Integer.optional
104
+ attribute? :wgs84lat, Types::Float.optional
105
+ attribute? :wgs84lon, Types::Float.optional
106
+ attribute? :updated_at, Types::String.optional
107
+ attribute? :updated_from, Types::String.optional
108
+ end
109
+
110
+ class AddressCompanyInformationBlock < Dry::Struct
111
+ transform_keys { |key| CAMEL.parse(key) }
112
+
113
+ attribute? :companies, Types::Array.of(AddressCompanyInformation).optional
114
+ end
115
+
116
+ class AddressPersonInformationBlock < Dry::Struct
117
+ transform_keys { |key| CAMEL.parse(key) }
118
+
119
+ attribute? :persons, Types::Array.of(AddressPersonInformation).optional
120
+ end
121
+
122
+ class AddressPhoneInformationBlock < Dry::Struct
123
+ transform_keys { |key| CAMEL.parse(key) }
124
+
125
+ attribute? :phones, Types::Array.of(AddressPhoneInformation).optional
126
+ end
127
+
128
+ class AddressResidentalInformationBlock < Dry::Struct
129
+ transform_keys { |key| CAMEL.parse(key) }
130
+
131
+ attribute? :residential_information, AddressResidentalDetails.optional
132
+ attribute? :apartment_information, AddressResidentalAppartment.optional
133
+ end
134
+
135
+ end
136
+ end