econt 0.1.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 (87) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +3 -0
  3. data/CODE_OF_CONDUCT.md +17 -0
  4. data/CONTRIBUTING.md +37 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +171 -0
  7. data/SECURITY.md +33 -0
  8. data/docs/API.md +571 -0
  9. data/docs/ENDPOINTS.md +42 -0
  10. data/docs/PUBLIC_API.md +81 -0
  11. data/docs/RELEASING.md +35 -0
  12. data/docs/RESPONSE_TESTS.md +46 -0
  13. data/docs/VCR.md +144 -0
  14. data/lib/econt/camel_case_middleware.rb +88 -0
  15. data/lib/econt/client.rb +99 -0
  16. data/lib/econt/collection.rb +59 -0
  17. data/lib/econt/error.rb +42 -0
  18. data/lib/econt/meta_resource.rb +6 -0
  19. data/lib/econt/model.rb +95 -0
  20. data/lib/econt/models/error.rb +53 -0
  21. data/lib/econt/models/hosted_file.rb +13 -0
  22. data/lib/econt/models/nomenclatures/address.rb +35 -0
  23. data/lib/econt/models/nomenclatures/address_service_info.rb +16 -0
  24. data/lib/econt/models/nomenclatures/address_service_times_response.rb +19 -0
  25. data/lib/econt/models/nomenclatures/address_validation_response.rb +19 -0
  26. data/lib/econt/models/nomenclatures/city.rb +32 -0
  27. data/lib/econt/models/nomenclatures/country.rb +16 -0
  28. data/lib/econt/models/nomenclatures/geo_location.rb +13 -0
  29. data/lib/econt/models/nomenclatures/office.rb +32 -0
  30. data/lib/econt/models/nomenclatures/quarter.rb +14 -0
  31. data/lib/econt/models/nomenclatures/serving_office_element.rb +12 -0
  32. data/lib/econt/models/nomenclatures/street.rb +14 -0
  33. data/lib/econt/models/nomenclatures/working_date_time.rb +16 -0
  34. data/lib/econt/models/nomenclatures/working_time.rb +12 -0
  35. data/lib/econt/models/payment_report/payment_report_row.rb +17 -0
  36. data/lib/econt/models/profile/cd_pay_options.rb +24 -0
  37. data/lib/econt/models/profile/client_profile.rb +29 -0
  38. data/lib/econt/models/profile/profiles_response_element.rb +16 -0
  39. data/lib/econt/models/shipments/cargo_vehicle_options.rb +16 -0
  40. data/lib/econt/models/shipments/check_possible_shipment_editions_result_element.rb +14 -0
  41. data/lib/econt/models/shipments/create_label_result_element.rb +19 -0
  42. data/lib/econt/models/shipments/customs_list_element.rb +14 -0
  43. data/lib/econt/models/shipments/delete_labels_result_element.rb +14 -0
  44. data/lib/econt/models/shipments/get_my_awb_response.rb +15 -0
  45. data/lib/econt/models/shipments/get_my_awb_result_element.rb +23 -0
  46. data/lib/econt/models/shipments/instruction.rb +20 -0
  47. data/lib/econt/models/shipments/next_shipment_element.rb +13 -0
  48. data/lib/econt/models/shipments/pack_element.rb +14 -0
  49. data/lib/econt/models/shipments/packing_list_element.rb +17 -0
  50. data/lib/econt/models/shipments/payment_addition_price.rb +14 -0
  51. data/lib/econt/models/shipments/payment_instruction.rb +11 -0
  52. data/lib/econt/models/shipments/previous_shipment.rb +14 -0
  53. data/lib/econt/models/shipments/request_courier_response.rb +13 -0
  54. data/lib/econt/models/shipments/request_courier_status.rb +14 -0
  55. data/lib/econt/models/shipments/request_courier_status_result_element.rb +14 -0
  56. data/lib/econt/models/shipments/return_instruction_params.rb +48 -0
  57. data/lib/econt/models/shipments/shipment_edition_response_element.rb +16 -0
  58. data/lib/econt/models/shipments/shipment_status.rb +64 -0
  59. data/lib/econt/models/shipments/shipment_status_result_element.rb +14 -0
  60. data/lib/econt/models/shipments/shipment_status_service.rb +16 -0
  61. data/lib/econt/models/shipments/shipment_tracking_event.rb +21 -0
  62. data/lib/econt/models/shipments/shipping_label.rb +59 -0
  63. data/lib/econt/models/shipments/shipping_label_services.rb +37 -0
  64. data/lib/econt/models/shipments/status_response.rb +11 -0
  65. data/lib/econt/models/shipments/update_label_response.rb +11 -0
  66. data/lib/econt/models/shipments/update_labels_result_element.rb +14 -0
  67. data/lib/econt/models/three_way_logistics/three_way_logistics.rb +50 -0
  68. data/lib/econt/models/three_way_logistics/three_way_logistics_response.rb +11 -0
  69. data/lib/econt/resource_attributes.rb +69 -0
  70. data/lib/econt/service_resource.rb +105 -0
  71. data/lib/econt/services/nomenclatures/address.rb +87 -0
  72. data/lib/econt/services/nomenclatures/nomenclatures.rb +122 -0
  73. data/lib/econt/services/nomenclatures.rb +11 -0
  74. data/lib/econt/services/payment_report/payment_report.rb +35 -0
  75. data/lib/econt/services/payment_report.rb +11 -0
  76. data/lib/econt/services/profile/profile.rb +45 -0
  77. data/lib/econt/services/profile.rb +11 -0
  78. data/lib/econt/services/shipments/label.rb +174 -0
  79. data/lib/econt/services/shipments/shipment.rb +109 -0
  80. data/lib/econt/services/shipments.rb +11 -0
  81. data/lib/econt/services/three_way_logistics/three_way_logistics.rb +30 -0
  82. data/lib/econt/services/three_way_logistics.rb +11 -0
  83. data/lib/econt/util.rb +63 -0
  84. data/lib/econt/version.rb +5 -0
  85. data/lib/econt.rb +118 -0
  86. data/sig/econt.rbs +465 -0
  87. metadata +166 -0
data/lib/econt.rb ADDED
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'econt/version'
4
+ require_relative 'econt/util'
5
+ require_relative 'econt/error'
6
+ require_relative 'econt/client'
7
+ require_relative 'econt/camel_case_middleware'
8
+ require_relative 'econt/service_resource'
9
+ require_relative 'econt/resource_attributes'
10
+ require_relative 'econt/model'
11
+ require_relative 'econt/meta_resource'
12
+ require_relative 'econt/collection'
13
+
14
+ module Econt
15
+ # Autoload services
16
+ module Services
17
+ autoload :Nomenclatures, 'econt/services/nomenclatures'
18
+ autoload :Profile, 'econt/services/profile'
19
+ autoload :Shipments, 'econt/services/shipments'
20
+ autoload :PaymentReport, 'econt/services/payment_report'
21
+ autoload :ThreeWayLogistics, 'econt/services/three_way_logistics'
22
+ module Nomenclatures
23
+ autoload :Address, 'econt/services/nomenclatures/address'
24
+ autoload :Nomenclatures, 'econt/services/nomenclatures/nomenclatures'
25
+ end
26
+
27
+ module Shipments
28
+ autoload :Label, 'econt/services/shipments/label'
29
+ autoload :Shipment, 'econt/services/shipments/shipment'
30
+ end
31
+
32
+ module Profile
33
+ autoload :Profile, 'econt/services/profile/profile'
34
+ end
35
+
36
+ module PaymentReport
37
+ autoload :PaymentReport, 'econt/services/payment_report/payment_report'
38
+ end
39
+
40
+ module ThreeWayLogistics
41
+ autoload :ThreeWayLogistics, 'econt/services/three_way_logistics/three_way_logistics'
42
+ end
43
+ end
44
+
45
+ # Autoload models
46
+ module Models
47
+ autoload :Error, 'econt/models/error'
48
+ autoload :HostedFile, 'econt/models/hosted_file'
49
+ module Nomenclatures
50
+ autoload :Address, 'econt/models/nomenclatures/address'
51
+ autoload :AddressServiceInfo, 'econt/models/nomenclatures/address_service_info'
52
+ autoload :AddressValidationResponse, 'econt/models/nomenclatures/address_validation_response'
53
+ autoload :AddressServiceTimesResponse, 'econt/models/nomenclatures/address_service_times_response'
54
+ autoload :City, 'econt/models/nomenclatures/city'
55
+ autoload :Country, 'econt/models/nomenclatures/country'
56
+ autoload :GeoLocation, 'econt/models/nomenclatures/geo_location'
57
+ autoload :Office, 'econt/models/nomenclatures/office'
58
+ autoload :Quarter, 'econt/models/nomenclatures/quarter'
59
+ autoload :ServingOfficeElement, 'econt/models/nomenclatures/serving_office_element'
60
+ autoload :Street, 'econt/models/nomenclatures/street'
61
+ autoload :WorkingDateTime, 'econt/models/nomenclatures/working_date_time'
62
+ autoload :WorkingTime, 'econt/models/nomenclatures/working_time'
63
+ end
64
+
65
+ module Profile
66
+ autoload :ClientProfile, 'econt/models/profile/client_profile'
67
+ autoload :ProfilesResponseElement, 'econt/models/profile/profiles_response_element'
68
+ autoload :CDPayOptions, 'econt/models/profile/cd_pay_options'
69
+ end
70
+
71
+ module Shipments
72
+ autoload :RequestCourierStatus, 'econt/models/shipments/request_courier_status'
73
+ autoload :ShipmentStatus, 'econt/models/shipments/shipment_status'
74
+ autoload :ShipmentStatusService, 'econt/models/shipments/shipment_status_service'
75
+ autoload :NextShipmentElement, 'econt/models/shipments/next_shipment_element'
76
+ autoload :ShipmentTrackingEvent, 'econt/models/shipments/shipment_tracking_event'
77
+ autoload :ShipmentEditionResponseElement, 'econt/models/shipments/shipment_edition_response_element'
78
+ autoload :PreviousShipment, 'econt/models/shipments/previous_shipment'
79
+ autoload :ReturnInstructionParams, 'econt/models/shipments/return_instruction_params'
80
+ autoload :ShippingLabel, 'econt/models/shipments/shipping_label'
81
+ autoload :ShippingLabelServices, 'econt/models/shipments/shipping_label_services'
82
+ autoload :PackElement, 'econt/models/shipments/pack_element'
83
+ autoload :PackingListElement, 'econt/models/shipments/packing_list_element'
84
+ autoload :CustomsListElement, 'econt/models/shipments/customs_list_element'
85
+ autoload :CargoVehicleOptions, 'econt/models/shipments/cargo_vehicle_options'
86
+ autoload :CheckPossibleShipmentEditionsResultElement,
87
+ 'econt/models/shipments/check_possible_shipment_editions_result_element'
88
+ autoload :CreateLabelResultElement, 'econt/models/shipments/create_label_result_element'
89
+ autoload :DeleteLabelsResultElement, 'econt/models/shipments/delete_labels_result_element'
90
+ autoload :GetMyAwbResultElement, 'econt/models/shipments/get_my_awb_result_element'
91
+ autoload :RequestCourierStatusResultElement, 'econt/models/shipments/request_courier_status_result_element'
92
+ autoload :ShipmentStatusResultElement, 'econt/models/shipments/shipment_status_result_element'
93
+ autoload :UpdateLabelsResultElement, 'econt/models/shipments/update_labels_result_element'
94
+ autoload :UpdateLabelResponse, 'econt/models/shipments/update_label_response'
95
+ autoload :RequestCourierResponse, 'econt/models/shipments/request_courier_response'
96
+ autoload :GetMyAwbResponse, 'econt/models/shipments/get_my_awb_response'
97
+ autoload :StatusResponse, 'econt/models/shipments/status_response'
98
+ autoload :Instruction, 'econt/models/shipments/instruction'
99
+ end
100
+
101
+ module ThreeWayLogistics
102
+ autoload :ThreeWayLogisticsRequest, 'econt/models/three_way_logistics/three_way_logistics'
103
+ autoload :ThreeWayLogisticsResponse, 'econt/models/three_way_logistics/three_way_logistics_response'
104
+ end
105
+
106
+ module PaymentReport
107
+ autoload :PaymentReportRow, 'econt/models/payment_report/payment_report_row'
108
+ end
109
+ end
110
+
111
+ # Shortened model names
112
+ Address = Models::Nomenclatures::Address
113
+ City = Models::Nomenclatures::City
114
+ GeoLocation = Models::Nomenclatures::GeoLocation
115
+ Country = Models::Nomenclatures::Country
116
+ ClientProfile = Models::Profile::ClientProfile
117
+ ServingOfficeElement = Models::Nomenclatures::ServingOfficeElement
118
+ end
data/sig/econt.rbs ADDED
@@ -0,0 +1,465 @@
1
+ module Econt
2
+ type scalar = nil | bool | String | Symbol | Numeric | Date | DateTime | Time
3
+ type request_value = scalar | Model | request_hash | Array[request_value]
4
+ type request_hash = Hash[String | Symbol, request_value]
5
+
6
+ VERSION: String
7
+
8
+ class Error < StandardError
9
+ attr_reader status: Integer?
10
+ attr_reader error: Models::Error?
11
+ def initialize: (?String?, ?error: Models::Error?, ?status: Integer?) -> void
12
+ end
13
+
14
+ class TransportError < Error
15
+ end
16
+
17
+ class ConnectionError < TransportError
18
+ end
19
+
20
+ class TimeoutError < TransportError
21
+ end
22
+
23
+ class SSLError < TransportError
24
+ end
25
+
26
+ class MetaResource
27
+ end
28
+
29
+ class Collection[unchecked out Elem] < MetaResource
30
+ include Enumerable[Elem]
31
+
32
+ attr_reader error: Models::Error?
33
+ def error?: () -> bool
34
+ def each: () { (Elem) -> void } -> void
35
+ def to_a: () -> Array[Elem]
36
+ def size: () -> Integer
37
+ def empty?: () -> bool
38
+ alias length size
39
+ alias count size
40
+ end
41
+
42
+ class Model
43
+ attr_reader error: Models::Error?
44
+ def initialize: (?request_hash) -> void
45
+ def error?: () -> bool
46
+ def to_h: () -> Hash[Symbol, request_value]
47
+ def to_json: (*untyped) -> String
48
+ end
49
+
50
+ class Client
51
+ attr_accessor username: String?
52
+ attr_accessor password: String?
53
+ attr_accessor base_url: String
54
+ attr_accessor adapter: untyped
55
+ attr_accessor acronyms: Hash[String, String]?
56
+ attr_accessor replace_acronym_defaults: bool
57
+ attr_accessor debug: bool
58
+ attr_accessor debug_bodies: bool
59
+ attr_accessor debug_logger: untyped
60
+ attr_accessor open_timeout: Numeric
61
+ attr_accessor read_timeout: Numeric
62
+ attr_accessor write_timeout: Numeric
63
+
64
+ def self.configure: () { (Client) -> void } -> untyped
65
+ def self.connection: () -> untyped
66
+ def add_acronyms: (Hash[String | Symbol, String]) -> Hash[String, String]
67
+ def setup_connection!: () -> untyped
68
+ def connection: () -> untyped
69
+ end
70
+
71
+ class ServiceResource
72
+ attr_reader client: Client
73
+ def initialize: (?client: Client?) -> void
74
+ def resource_url: () -> String
75
+ end
76
+
77
+ module Services
78
+ module Nomenclatures
79
+ class Address < ServiceResource
80
+ def validate_address: (Models::Nomenclatures::Address | request_hash) -> Models::Nomenclatures::AddressValidationResponse
81
+ def address_service_times: (city: request_hash, address: request_hash, date: scalar, shipment_type: String) -> Models::Nomenclatures::AddressServiceTimesResponse
82
+ def get_nearest_offices: (address: request_hash, shipment_type: String) -> Collection[Models::Nomenclatures::Office]
83
+ end
84
+
85
+ class Nomenclatures < ServiceResource
86
+ def get_countries: () -> Collection[Models::Nomenclatures::Country]
87
+ def get_cities: (country_code: String) -> Collection[Models::Nomenclatures::City]
88
+ def get_regions: (country_code: String, ?language: String?) -> Array[String]
89
+ def get_offices: (country_code: String, ?city_id: Integer?, ?show_cargo_receptions: bool?, ?show_lc: bool?, ?serving_receptions: bool?) -> Collection[Models::Nomenclatures::Office]
90
+ def get_streets: (?city_id: Integer?) -> Collection[Models::Nomenclatures::Street]
91
+ def get_quarters: (?city_id: Integer?) -> Collection[Models::Nomenclatures::Quarter]
92
+ end
93
+ end
94
+
95
+ module Shipments
96
+ class Label < ServiceResource
97
+ def create_label: (?label: request_hash?, ?request_courier_time_from: scalar, ?request_courier_time_to: scalar, ?mode: String?) -> Models::Shipments::CreateLabelResultElement
98
+ def create_labels: (?labels: Array[request_hash], ?run_async_and_email_result_to: String?, ?mode: String?) -> Collection[Models::Shipments::CreateLabelResultElement]
99
+ def delete_labels: (?shipment_numbers: Array[String]) -> Collection[Models::Shipments::DeleteLabelsResultElement]
100
+ def update_label: (?label: request_hash?, ?request_courier_time_from: scalar, ?request_courier_time_to: scalar, ?destroy: bool?, ?payment_addition_price: request_hash?, ?payment_instruction: request_hash?) -> Models::Shipments::UpdateLabelResponse
101
+ def check_possible_shipment_editions: (?shipment_nums: Array[Integer]) -> Collection[Models::Shipments::CheckPossibleShipmentEditionsResultElement]
102
+ def update_labels: (?labels: Array[request_hash]) -> Collection[Models::Shipments::UpdateLabelsResultElement]
103
+ def grouping: (?labels: Array[Integer]) -> Models::Shipments::ShipmentStatus
104
+ def grouping_cancelation: (?group_label: Integer?) -> Models::Shipments::StatusResponse
105
+ end
106
+
107
+ class Shipment < ServiceResource
108
+ def request_courier: (**request_value) -> Models::Shipments::RequestCourierResponse
109
+ def get_shipment_statuses: (?shipment_numbers: Array[String]) -> Collection[Models::Shipments::ShipmentStatusResultElement]
110
+ def get_request_courier_status: (?request_courier_ids: Array[Integer]) -> Collection[Models::Shipments::RequestCourierStatusResultElement]
111
+ def get_my_awb: (?date_from: scalar, ?date_to: scalar, ?page: Integer?, ?side: String?) -> Models::Shipments::GetMyAwbResponse
112
+ def set_itu_code: (awb_barcode: String, truck_reg_num: String, itu_code: String) -> untyped
113
+ end
114
+ end
115
+
116
+ module Profile
117
+ class Profile < ServiceResource
118
+ def get_client_profiles: () -> Collection[Models::Profile::ProfilesResponseElement]
119
+ def create_cd_agreement: (cd_pay_options: request_hash) -> Models::Profile::CDPayOptions
120
+ end
121
+ end
122
+
123
+ module PaymentReport
124
+ class PaymentReport < ServiceResource
125
+ def payment_report: (?date_to: String?, ?date_from: String?) -> (Models::PaymentReport::PaymentReportRow | Collection[Models::PaymentReport::PaymentReportRow])
126
+ end
127
+ end
128
+
129
+ module ThreeWayLogistics
130
+ class ThreeWayLogistics < ServiceResource
131
+ def three_way_logistics: (**request_value) -> Models::ThreeWayLogistics::ThreeWayLogisticsResponse
132
+ end
133
+ end
134
+ end
135
+
136
+ module Models
137
+ class Error < Model
138
+ def fields: () -> Array[String]
139
+ def inner_errors: () -> Array[Error]
140
+ def messages: () -> Array[String]
141
+ def full_message: () -> String
142
+ end
143
+
144
+ class HostedFile < Model
145
+ end
146
+
147
+ module Nomenclatures
148
+ class Address < Model
149
+ def id: () -> Integer?
150
+ def city: () -> City?
151
+ def full_address: () -> String?
152
+ def quarter: () -> String?
153
+ def street: () -> String?
154
+ def num: () -> String?
155
+ def other: () -> String?
156
+ def location: () -> GeoLocation?
157
+ def validation_status: () -> String?
158
+ def service_info: () -> AddressServiceInfo?
159
+ def validate: () -> AddressValidationResponse
160
+ def get_nearest_offices: (String) -> Collection[Office]
161
+ end
162
+ class AddressServiceInfo < Model
163
+ def allowed_packs_courier_request: () -> bool?
164
+ def delivery_packs_extra_delay_days: () -> Integer?
165
+ def allowed_cargo_courier_request: () -> bool?
166
+ def delivery_cargo_extra_delay_days: () -> Integer?
167
+ def allowed_pallet_courier_request: () -> bool?
168
+ def delivery_pallet_extra_delay_days: () -> Integer?
169
+ end
170
+ class AddressValidationResponse < Model
171
+ def address: () -> Address?
172
+ def validation_status: () -> String?
173
+ def service_info: () -> AddressServiceInfo?
174
+ end
175
+ class AddressServiceTimesResponse < Model
176
+ def service_office: () -> Office?
177
+ def service_office_latitude: () -> Float?
178
+ def service_office_longitude: () -> Float?
179
+ def service_office_clients_work_times: () -> Array[WorkingTime]
180
+ def service_office_courier_work_times: () -> Array[WorkingTime]
181
+ def service_office_time: () -> WorkingDateTime?
182
+ def service_office_next30days_work_time: () -> Array[WorkingDateTime]
183
+ end
184
+ class City < Model
185
+ def id: () -> Integer?
186
+ def country: () -> Country?
187
+ def post_code: () -> String?
188
+ def name: () -> String?
189
+ def name_en: () -> String?
190
+ def region_name: () -> String?
191
+ def region_name_en: () -> String?
192
+ def location: () -> GeoLocation?
193
+ def serving_offices: () -> Array[ServingOfficeElement]
194
+ end
195
+ class Country < Model
196
+ def id: () -> Integer?
197
+ def code2: () -> String?
198
+ def code3: () -> String?
199
+ def name: () -> String?
200
+ def name_en: () -> String?
201
+ def is_eu: () -> bool?
202
+ end
203
+ class GeoLocation < Model
204
+ def latitude: () -> Float?
205
+ def longitude: () -> Float?
206
+ def confidence: () -> Integer?
207
+ end
208
+ class Office < Model
209
+ def id: () -> Integer?
210
+ def code: () -> String?
211
+ def name: () -> String?
212
+ def name_en: () -> String?
213
+ def phones: () -> Array[String]
214
+ def emails: () -> Array[String]
215
+ def address: () -> Address?
216
+ def shipment_types: () -> Array[String]
217
+ def is_aps: () -> bool?
218
+ def is_drive: () -> bool?
219
+ end
220
+ class Quarter < Model
221
+ def id: () -> Integer?
222
+ def city_id: () -> Integer?
223
+ def name: () -> String?
224
+ def name_en: () -> String?
225
+ end
226
+ class ServingOfficeElement < Model
227
+ def office_code: () -> String?
228
+ def serving_type: () -> String?
229
+ end
230
+ class Street < Model
231
+ def id: () -> Integer?
232
+ def city_id: () -> Integer?
233
+ def name: () -> String?
234
+ def name_en: () -> String?
235
+ end
236
+ class WorkingDateTime < Model
237
+ def day_type: () -> String?
238
+ def day: () -> String?
239
+ def start: () -> String?
240
+ def end: () -> String?
241
+ end
242
+ class WorkingTime < Model
243
+ def start: () -> String?
244
+ def end: () -> String?
245
+ end
246
+ end
247
+
248
+ module Profile
249
+ class ClientProfile < Model
250
+ def id: () -> Integer?
251
+ def name: () -> String?
252
+ def name_en: () -> String?
253
+ def phones: () -> Array[String]
254
+ def email: () -> String?
255
+ def client_number: () -> String?
256
+ def juridical_entity: () -> bool?
257
+ end
258
+ class ProfilesResponseElement < Model
259
+ def client: () -> ClientProfile?
260
+ def addresses: () -> Array[Models::Nomenclatures::Address]
261
+ def cd_pay_options: () -> Array[CDPayOptions]
262
+ def instruction_templates: () -> Array[Models::Shipments::Instruction]
263
+ end
264
+ class CDPayOptions < Model
265
+ def num: () -> String?
266
+ def client: () -> ClientProfile?
267
+ def money_transfer: () -> bool?
268
+ def express: () -> bool?
269
+ def method: () -> String?
270
+ def address: () -> Models::Nomenclatures::Address?
271
+ def office_code: () -> String?
272
+ def iban: () -> String?
273
+ def bic: () -> String?
274
+ def pay_days: () -> Array[Integer]
275
+ def pay_weekdays: () -> Array[String]
276
+ end
277
+ end
278
+
279
+ module Shipments
280
+ class CargoVehicleOptions < Model
281
+ end
282
+ class CheckPossibleShipmentEditionsResultElement < Model
283
+ end
284
+ class CreateLabelResultElement < Model
285
+ def label: () -> ShipmentStatus?
286
+ def error: () -> Models::Error?
287
+ def pay_after_accept_ignored: () -> String?
288
+ def blocking_payment_url: () -> String?
289
+ def courier_request_id: () -> Integer?
290
+ def delayed_delivery_warning: () -> String?
291
+ def delayed_request_warning: () -> String?
292
+ end
293
+ class CustomsListElement < Model
294
+ end
295
+ class DeleteLabelsResultElement < Model
296
+ end
297
+ class GetMyAwbResponse < Model
298
+ def date_from: () -> Date?
299
+ def date_to: () -> Date?
300
+ def page: () -> Integer?
301
+ def total_pages: () -> Integer?
302
+ def results: () -> Array[GetMyAwbResultElement]
303
+ end
304
+ class GetMyAwbResultElement < Model
305
+ def shipment_number: () -> String?
306
+ def sender_name: () -> String?
307
+ def status: () -> String?
308
+ def created_date: () -> DateTime?
309
+ def accepted_date: () -> DateTime?
310
+ def cd_amount: () -> Float?
311
+ def courier_service_amount: () -> Float?
312
+ def cd_currency: () -> String?
313
+ def courier_service_currency: () -> String?
314
+ end
315
+ class Instruction < Model
316
+ end
317
+ class NextShipmentElement < Model
318
+ end
319
+ class PackElement < Model
320
+ end
321
+ class PackingListElement < Model
322
+ end
323
+ class PaymentAdditionPrice < Model
324
+ end
325
+ class PaymentInstruction < Model
326
+ end
327
+ class PreviousShipment < Model
328
+ def shipment_number: () -> Integer?
329
+ def reason: () -> String?
330
+ def pdf_url: () -> String?
331
+ end
332
+ class RequestCourierResponse < Model
333
+ def courier_request_id: () -> String?
334
+ def warnings: () -> String?
335
+ def delayed_request_warning: () -> String?
336
+ end
337
+ class RequestCourierStatus < Model
338
+ def id: () -> Integer?
339
+ def status: () -> String?
340
+ def note: () -> String?
341
+ def reject_reason: () -> String?
342
+ end
343
+ class RequestCourierStatusResultElement < Model
344
+ def status: () -> RequestCourierStatus?
345
+ def error: () -> Models::Error?
346
+ end
347
+ class ReturnInstructionParams < Model
348
+ def empty_pallet80: () -> Integer?
349
+ def empty_pallet100: () -> Integer?
350
+ def empty_pallet120: () -> Integer?
351
+ def empty_pallet80=: (Integer?) -> Integer?
352
+ def empty_pallet100=: (Integer?) -> Integer?
353
+ def empty_pallet120=: (Integer?) -> Integer?
354
+ alias empty_pallet_80 empty_pallet80
355
+ alias empty_pallet_100 empty_pallet100
356
+ alias empty_pallet_120 empty_pallet120
357
+ alias empty_pallet_80= empty_pallet80=
358
+ alias empty_pallet_100= empty_pallet100=
359
+ alias empty_pallet_120= empty_pallet120=
360
+ end
361
+ class ShipmentEditionResponseElement < Model
362
+ end
363
+ class ShipmentStatus < Model
364
+ def shipment_number: () -> String?
365
+ def created_time: () -> DateTime?
366
+ def send_time: () -> DateTime?
367
+ def delivery_time: () -> DateTime?
368
+ def shipment_type: () -> String?
369
+ def pack_count: () -> Integer?
370
+ def shipment_description: () -> String?
371
+ def weight: () -> Float?
372
+ def sender_client: () -> Models::Profile::ClientProfile?
373
+ def sender_address: () -> Models::Nomenclatures::Address?
374
+ def receiver_client: () -> Models::Profile::ClientProfile?
375
+ def receiver_address: () -> Models::Nomenclatures::Address?
376
+ def total_price: () -> Float?
377
+ def currency: () -> String?
378
+ def services: () -> Array[ShipmentStatusService]
379
+ def next_shipments: () -> Array[NextShipmentElement]
380
+ def tracking_events: () -> Array[ShipmentTrackingEvent]
381
+ def expected_delivery_date: () -> Date?
382
+ def shipment_edition: () -> ShipmentEditionResponseElement?
383
+ def previous_shipment: () -> PreviousShipment?
384
+ def warnings: () -> String?
385
+ end
386
+ class ShipmentStatusResultElement < Model
387
+ def status: () -> ShipmentStatus?
388
+ def error: () -> Models::Error?
389
+ end
390
+ class ShipmentStatusService < Model
391
+ def type: () -> String?
392
+ def description: () -> String?
393
+ def count: () -> Float?
394
+ def payment_side: () -> String?
395
+ def price: () -> Float?
396
+ def currency: () -> String?
397
+ end
398
+ class ShipmentTrackingEvent < Model
399
+ def is_receipt: () -> bool?
400
+ def destination_type: () -> String?
401
+ def destination_details: () -> String?
402
+ def office_name: () -> String?
403
+ def city_name: () -> String?
404
+ def country_code: () -> String?
405
+ def office_code: () -> String?
406
+ def time: () -> DateTime?
407
+ end
408
+ class ShippingLabel < Model
409
+ def shipment_number: () -> String?
410
+ def sender_client: () -> Models::Profile::ClientProfile?
411
+ def sender_address: () -> Models::Nomenclatures::Address?
412
+ def sender_office_code: () -> String?
413
+ def receiver_client: () -> Models::Profile::ClientProfile?
414
+ def receiver_address: () -> Models::Nomenclatures::Address?
415
+ def receiver_office_code: () -> String?
416
+ def pack_count: () -> Integer?
417
+ def packs: () -> Array[PackElement]
418
+ def shipment_type: () -> String?
419
+ def weight: () -> Float?
420
+ def shipment_description: () -> String?
421
+ def send_date: () -> Date?
422
+ def services: () -> ShippingLabelServices?
423
+ def instructions: () -> Array[Instruction]
424
+ end
425
+ class ShippingLabelServices < Model
426
+ def declared_value_amount: () -> Float?
427
+ def declared_value_currency: () -> String?
428
+ def cd_amount: () -> Float?
429
+ def cd_type: () -> String?
430
+ def cd_currency: () -> String?
431
+ def cd_pay_options: () -> Models::Profile::CDPayOptions?
432
+ def sms_notification: () -> bool?
433
+ end
434
+ class StatusResponse < Model
435
+ def status: () -> String?
436
+ end
437
+ class UpdateLabelResponse < Model
438
+ def label: () -> ShipmentStatus?
439
+ end
440
+ class UpdateLabelsResultElement < Model
441
+ def error: () -> Models::Error?
442
+ def labels: () -> UpdateLabelResponse?
443
+ end
444
+ end
445
+
446
+ module ThreeWayLogistics
447
+ class ThreeWayLogisticsRequest < Model
448
+ end
449
+ class ThreeWayLogisticsResponse < Model
450
+ end
451
+ end
452
+
453
+ module PaymentReport
454
+ class PaymentReportRow < Model
455
+ def num: () -> Integer?
456
+ def type: () -> String?
457
+ def pay_type: () -> String?
458
+ def pay_date: () -> String?
459
+ def amount: () -> Float?
460
+ def currency: () -> String?
461
+ def created_time: () -> String?
462
+ end
463
+ end
464
+ end
465
+ end