aftership-tracking-sdk 9.0.0 → 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +14 -13
  4. data/lib/aftership-tracking-sdk/api/courier.rb +3 -3
  5. data/lib/aftership-tracking-sdk/api/estimated_delivery_date.rb +55 -1
  6. data/lib/aftership-tracking-sdk/api/tracking.rb +16 -16
  7. data/lib/aftership-tracking-sdk/models/additional_fields_v1.rb +3 -3
  8. data/lib/aftership-tracking-sdk/models/checkpoint.rb +22 -12
  9. data/lib/aftership-tracking-sdk/models/courier.rb +7 -7
  10. data/lib/aftership-tracking-sdk/models/create_tracking_request.rb +47 -67
  11. data/lib/aftership-tracking-sdk/models/create_tracking_response.rb +63 -83
  12. data/lib/aftership-tracking-sdk/models/{next_couriers_tracking.rb → customers_create_tracking_request.rb} +37 -37
  13. data/lib/aftership-tracking-sdk/models/customers_create_tracking_response.rb +193 -0
  14. data/lib/aftership-tracking-sdk/models/customers_delete_tracking_by_id_response.rb +193 -0
  15. data/lib/aftership-tracking-sdk/models/customers_get_tracking_by_id_response.rb +193 -0
  16. data/lib/aftership-tracking-sdk/models/customers_mark_tracking_completed_by_id_response.rb +193 -0
  17. data/lib/aftership-tracking-sdk/models/customers_retrack_tracking_by_id_response.rb +193 -0
  18. data/lib/aftership-tracking-sdk/models/customers_tracking.rb +193 -0
  19. data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_request.rb +193 -0
  20. data/lib/aftership-tracking-sdk/models/customers_update_tracking_by_id_response.rb +193 -0
  21. data/lib/aftership-tracking-sdk/models/delete_tracking_by_id_response.rb +63 -83
  22. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_request.rb +6 -6
  23. data/lib/aftership-tracking-sdk/models/destination_address_estimated_delivery_date_response.rb +6 -6
  24. data/lib/aftership-tracking-sdk/models/destination_address_predict_request.rb +193 -0
  25. data/lib/aftership-tracking-sdk/models/destination_address_predict_response.rb +193 -0
  26. data/lib/aftership-tracking-sdk/models/detect_courier_request.rb +24 -24
  27. data/lib/aftership-tracking-sdk/models/estimated_pickup_predict_request.rb +183 -0
  28. data/lib/aftership-tracking-sdk/models/estimated_pickup_predict_response.rb +193 -0
  29. data/lib/aftership-tracking-sdk/models/{next_couriers_delete_tracking_by_id_response.rb → first_mile_create_tracking_response.rb} +29 -29
  30. data/lib/aftership-tracking-sdk/models/{next_couriers_get_tracking_by_id_response.rb → first_mile_delete_tracking_by_id_response.rb} +29 -29
  31. data/lib/aftership-tracking-sdk/models/first_mile_get_tracking_by_id_response.rb +193 -0
  32. data/lib/aftership-tracking-sdk/models/first_mile_mark_tracking_completed_by_id_response.rb +193 -0
  33. data/lib/aftership-tracking-sdk/models/first_mile_retrack_tracking_by_id_response.rb +193 -0
  34. data/lib/aftership-tracking-sdk/models/{next_couriers_mark_tracking_completed_by_id_response.rb → first_mile_tracking.rb} +29 -29
  35. data/lib/aftership-tracking-sdk/models/first_mile_update_tracking_by_id_response.rb +193 -0
  36. data/lib/aftership-tracking-sdk/models/get_tracking_by_id_response.rb +63 -83
  37. data/lib/aftership-tracking-sdk/models/{next_couriers_create_tracking_request.rb → last_mile_create_tracking_request.rb} +13 -13
  38. data/lib/aftership-tracking-sdk/models/last_mile_create_tracking_response.rb +203 -0
  39. data/lib/aftership-tracking-sdk/models/last_mile_delete_tracking_by_id_response.rb +203 -0
  40. data/lib/aftership-tracking-sdk/models/last_mile_get_tracking_by_id_response.rb +203 -0
  41. data/lib/aftership-tracking-sdk/models/last_mile_mark_tracking_completed_by_id_response.rb +203 -0
  42. data/lib/aftership-tracking-sdk/models/last_mile_retrack_tracking_by_id_response.rb +203 -0
  43. data/lib/aftership-tracking-sdk/models/{next_couriers_create_tracking_response.rb → last_mile_tracking.rb} +33 -23
  44. data/lib/aftership-tracking-sdk/models/last_mile_update_tracking_by_id_response.rb +203 -0
  45. data/lib/aftership-tracking-sdk/models/mark_tracking_completed_by_id_response.rb +63 -83
  46. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_predict_request.rb +163 -0
  47. data/lib/aftership-tracking-sdk/models/order_processing_time_estimated_pickup_predict_response.rb +163 -0
  48. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_request.rb +6 -6
  49. data/lib/aftership-tracking-sdk/models/origin_address_estimated_delivery_date_response.rb +6 -6
  50. data/lib/aftership-tracking-sdk/models/origin_address_predict_request.rb +193 -0
  51. data/lib/aftership-tracking-sdk/models/origin_address_predict_response.rb +193 -0
  52. data/lib/aftership-tracking-sdk/models/predict_request.rb +223 -0
  53. data/lib/aftership-tracking-sdk/models/predict_response.rb +273 -0
  54. data/lib/aftership-tracking-sdk/models/retrack_tracking_by_id_response.rb +63 -83
  55. data/lib/aftership-tracking-sdk/models/tracking.rb +63 -83
  56. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_request.rb +37 -57
  57. data/lib/aftership-tracking-sdk/models/update_tracking_by_id_response.rb +63 -83
  58. data/lib/aftership-tracking-sdk/models/weight_predict_request.rb +163 -0
  59. data/lib/aftership-tracking-sdk/models/weight_predict_response.rb +163 -0
  60. data/lib/aftership-tracking-sdk/version.rb +1 -1
  61. metadata +41 -13
  62. data/lib/aftership-tracking-sdk/models/next_couriers_retrack_tracking_by_id_response.rb +0 -193
  63. data/lib/aftership-tracking-sdk/models/next_couriers_update_tracking_by_id_response.rb +0 -193
@@ -19,10 +19,6 @@ module AftershipAPI::Model
19
19
  # updated_at?: String;
20
20
  attr_accessor :updated_at
21
21
 
22
- # (Legacy) The date and time the shipment was updated. It uses the format `YYYY-MM-DDTHH:mm:ssZ` for the timezone GMT +0.
23
- # last_updated_at?: String;
24
- attr_accessor :last_updated_at
25
-
26
22
  # Tracking number.
27
23
  # tracking_number?: String;
28
24
  attr_accessor :tracking_number
@@ -39,17 +35,13 @@ module AftershipAPI::Model
39
35
  # custom_fields?: Object;
40
36
  attr_accessor :custom_fields
41
37
 
42
- # Customer name of the tracking.
43
- # customer_name?: String;
44
- attr_accessor :customer_name
45
-
46
38
  # Total transit time in days.- For delivered shipments: Transit time (in days) = Delivered date - Pick-up date- For undelivered shipments: Transit time (in days) = Current date - Pick-up dateValue as `null` for the shipment without pick-up date.
47
39
  # transit_time?: Integer;
48
40
  attr_accessor :transit_time
49
41
 
50
42
  # The for the origin country/region. E.g. USA for the United States.
51
- # origin_country_iso3?: String;
52
- attr_accessor :origin_country_iso3
43
+ # origin_country_region?: String;
44
+ attr_accessor :origin_country_region
53
45
 
54
46
  # The state of the sender’s address.
55
47
  # origin_state?: String;
@@ -68,8 +60,8 @@ module AftershipAPI::Model
68
60
  attr_accessor :origin_raw_location
69
61
 
70
62
  # The for the destination country/region. E.g. USA for the United States.
71
- # destination_country_iso3?: String;
72
- attr_accessor :destination_country_iso3
63
+ # destination_country_region?: String;
64
+ attr_accessor :destination_country_region
73
65
 
74
66
  # The state of the recipient’s address.
75
67
  # destination_state?: String;
@@ -88,12 +80,8 @@ module AftershipAPI::Model
88
80
  attr_accessor :destination_raw_location
89
81
 
90
82
  # Destination country/region of the tracking detected from the courier. ISO Alpha-3 (three letters). Value will be `null` if the courier doesn't provide the destination country.
91
- # courier_destination_country_iso3?: String;
92
- attr_accessor :courier_destination_country_iso3
93
-
94
- # Email address(es) to receive email notifications.
95
- # emails?: String[];
96
- attr_accessor :emails
83
+ # courier_destination_country_region?: String;
84
+ attr_accessor :courier_destination_country_region
97
85
 
98
86
  # The field contains the estimated delivery date provided by the carrier.
99
87
  # courier_estimated_delivery_date?: CourierEstimatedDeliveryDateMarkTrackingCompletedByIdResponse;
@@ -139,10 +127,6 @@ module AftershipAPI::Model
139
127
  # signed_by?: String;
140
128
  attr_accessor :signed_by
141
129
 
142
- # The phone number(s) to receive sms notifications. Phone number should begin with `+` and `Area Code` before phone number.
143
- # smses?: String[];
144
- attr_accessor :smses
145
-
146
130
  # Source of how this tracking is added.
147
131
  # source?: String;
148
132
  attr_accessor :source
@@ -231,7 +215,7 @@ module AftershipAPI::Model
231
215
  # tracking_key?: String;
232
216
  attr_accessor :tracking_key
233
217
 
234
- # Additional field required by some carriers to retrieve the tracking info. The date the shipment was sent, using the format YYYYMMDD. Refer to our article on for more details.
218
+ # The date and time when the shipment is shipped by the merchant and ready for pickup by the carrier. The field supports the following formats:- YYYY-MM-DD- YYYY-MM-DDTHH:mm:ss- YYYY-MM-DDTHH:mm:ssZThe field serves two key purposes:- Calculate processing time metrics in the Order-to-delivery Analytics dashboard. To ensure accurate analytics, it's recommended to include timezone information when configuring this value- Required by certain carriers to retrieve tracking information as an additional tracking field.
235
219
  # tracking_ship_date?: String;
236
220
  attr_accessor :tracking_ship_date
237
221
 
@@ -275,17 +259,13 @@ module AftershipAPI::Model
275
259
  # courier_connection_id?: String;
276
260
  attr_accessor :courier_connection_id
277
261
 
278
- # The next couriers get the second carrier information from user or AfterShip.
279
- # next_couriers?: NextCouriersMarkTrackingCompletedByIdResponse[];
280
- attr_accessor :next_couriers
281
-
282
- # (Legacy) Replaced by `origin_country_iso3`. Additional field required by some carriers to retrieve the tracking info. The origin country/region of the shipment. Refer to our article on for more details.
283
- # tracking_origin_country?: String;
284
- attr_accessor :tracking_origin_country
262
+ # (Legacy) Replaced by `origin_country_region`. Additional field required by some carriers to retrieve the tracking info. The origin country/region of the shipment. Refer to our article on for more details.
263
+ # tracking_origin_country_region?: String;
264
+ attr_accessor :tracking_origin_country_region
285
265
 
286
- # (Legacy) Replaced by `destination_country_iso3`. Additional field required by some carriers to retrieve the tracking info. The destination country/region of the shipment. Refer to our article on for more details.
287
- # tracking_destination_country?: String;
288
- attr_accessor :tracking_destination_country
266
+ # (Legacy) Replaced by `destination_country_region`. Additional field required by some carriers to retrieve the tracking info. The destination country/region of the shipment. Refer to our article on for more details.
267
+ # tracking_destination_country_region?: String;
268
+ attr_accessor :tracking_destination_country_region
289
269
 
290
270
  # (Legacy) Replaced by `destination_postal_code`. Additional field required by some carriers to retrieve the tracking info. The postal code of the recipient’s address. Refer to our article on for more details.
291
271
  # tracking_postal_code?: String;
@@ -327,6 +307,18 @@ module AftershipAPI::Model
327
307
  # aftership_tracking_order_url?: String;
328
308
  attr_accessor :aftership_tracking_order_url
329
309
 
310
+ # The field contains information about the first leg of the shipping starting from the carrier picking up the shipment from the shipper to the point where they hand it over to the last-mile carrier. Once AfterShip detects the shipment is multi-leg, we will populate the first-mile information under this object.
311
+ # first_mile?: FirstMileMarkTrackingCompletedByIdResponse;
312
+ attr_accessor :first_mile
313
+
314
+ # This field contains information about the last leg of the shipment, starting from the carrier who hands it over to the last-mile carrier, all the way to delivery. Once AfterShip detects that the shipment involves multiple legs and identifies the last-mile carrier, we will populate the last-mile carrier information in this object. Alternatively, the user can provide this information in this field to specify the last-mile carrier, which is helpful if AfterShip is unable to detect it automatically.
315
+ # last_mile?: LastMileMarkTrackingCompletedByIdResponse;
316
+ attr_accessor :last_mile
317
+
318
+ # The field contains the customer information associated with the tracking. A maximum of three customer objects are allowed.
319
+ # customers?: CustomersMarkTrackingCompletedByIdResponse[];
320
+ attr_accessor :customers
321
+
330
322
  # Initializes the object
331
323
  # @param [Hash] attributes Model attributes in the form of hash
332
324
  def initialize(attributes = {})
@@ -354,10 +346,6 @@ module AftershipAPI::Model
354
346
  self.updated_at = attributes[:'updated_at']
355
347
  end
356
348
 
357
- if attributes.key?(:'last_updated_at')
358
- self.last_updated_at = attributes[:'last_updated_at']
359
- end
360
-
361
349
  if attributes.key?(:'tracking_number')
362
350
  self.tracking_number = attributes[:'tracking_number']
363
351
  end
@@ -374,16 +362,12 @@ module AftershipAPI::Model
374
362
  self.custom_fields = attributes[:'custom_fields']
375
363
  end
376
364
 
377
- if attributes.key?(:'customer_name')
378
- self.customer_name = attributes[:'customer_name']
379
- end
380
-
381
365
  if attributes.key?(:'transit_time')
382
366
  self.transit_time = attributes[:'transit_time']
383
367
  end
384
368
 
385
- if attributes.key?(:'origin_country_iso3')
386
- self.origin_country_iso3 = attributes[:'origin_country_iso3']
369
+ if attributes.key?(:'origin_country_region')
370
+ self.origin_country_region = attributes[:'origin_country_region']
387
371
  end
388
372
 
389
373
  if attributes.key?(:'origin_state')
@@ -402,8 +386,8 @@ module AftershipAPI::Model
402
386
  self.origin_raw_location = attributes[:'origin_raw_location']
403
387
  end
404
388
 
405
- if attributes.key?(:'destination_country_iso3')
406
- self.destination_country_iso3 = attributes[:'destination_country_iso3']
389
+ if attributes.key?(:'destination_country_region')
390
+ self.destination_country_region = attributes[:'destination_country_region']
407
391
  end
408
392
 
409
393
  if attributes.key?(:'destination_state')
@@ -422,12 +406,8 @@ module AftershipAPI::Model
422
406
  self.destination_raw_location = attributes[:'destination_raw_location']
423
407
  end
424
408
 
425
- if attributes.key?(:'courier_destination_country_iso3')
426
- self.courier_destination_country_iso3 = attributes[:'courier_destination_country_iso3']
427
- end
428
-
429
- if attributes.key?(:'emails')
430
- self.emails = attributes[:'emails']
409
+ if attributes.key?(:'courier_destination_country_region')
410
+ self.courier_destination_country_region = attributes[:'courier_destination_country_region']
431
411
  end
432
412
 
433
413
  if attributes.key?(:'courier_estimated_delivery_date')
@@ -474,10 +454,6 @@ module AftershipAPI::Model
474
454
  self.signed_by = attributes[:'signed_by']
475
455
  end
476
456
 
477
- if attributes.key?(:'smses')
478
- self.smses = attributes[:'smses']
479
- end
480
-
481
457
  if attributes.key?(:'source')
482
458
  self.source = attributes[:'source']
483
459
  end
@@ -610,16 +586,12 @@ module AftershipAPI::Model
610
586
  self.courier_connection_id = attributes[:'courier_connection_id']
611
587
  end
612
588
 
613
- if attributes.key?(:'next_couriers')
614
- self.next_couriers = attributes[:'next_couriers']
615
- end
616
-
617
- if attributes.key?(:'tracking_origin_country')
618
- self.tracking_origin_country = attributes[:'tracking_origin_country']
589
+ if attributes.key?(:'tracking_origin_country_region')
590
+ self.tracking_origin_country_region = attributes[:'tracking_origin_country_region']
619
591
  end
620
592
 
621
- if attributes.key?(:'tracking_destination_country')
622
- self.tracking_destination_country = attributes[:'tracking_destination_country']
593
+ if attributes.key?(:'tracking_destination_country_region')
594
+ self.tracking_destination_country_region = attributes[:'tracking_destination_country_region']
623
595
  end
624
596
 
625
597
  if attributes.key?(:'tracking_postal_code')
@@ -661,6 +633,18 @@ module AftershipAPI::Model
661
633
  if attributes.key?(:'aftership_tracking_order_url')
662
634
  self.aftership_tracking_order_url = attributes[:'aftership_tracking_order_url']
663
635
  end
636
+
637
+ if attributes.key?(:'first_mile')
638
+ self.first_mile = attributes[:'first_mile']
639
+ end
640
+
641
+ if attributes.key?(:'last_mile')
642
+ self.last_mile = attributes[:'last_mile']
643
+ end
644
+
645
+ if attributes.key?(:'customers')
646
+ self.customers = attributes[:'customers']
647
+ end
664
648
  end
665
649
 
666
650
  # Attribute type mapping.
@@ -670,25 +654,22 @@ module AftershipAPI::Model
670
654
  :'legacy_id' => :'String',
671
655
  :'created_at' => :'String',
672
656
  :'updated_at' => :'String',
673
- :'last_updated_at' => :'String',
674
657
  :'tracking_number' => :'String',
675
658
  :'slug' => :'String',
676
659
  :'active' => :'Boolean',
677
660
  :'custom_fields' => :'Object',
678
- :'customer_name' => :'String',
679
661
  :'transit_time' => :'Integer',
680
- :'origin_country_iso3' => :'String',
662
+ :'origin_country_region' => :'String',
681
663
  :'origin_state' => :'String',
682
664
  :'origin_city' => :'String',
683
665
  :'origin_postal_code' => :'String',
684
666
  :'origin_raw_location' => :'String',
685
- :'destination_country_iso3' => :'String',
667
+ :'destination_country_region' => :'String',
686
668
  :'destination_state' => :'String',
687
669
  :'destination_city' => :'String',
688
670
  :'destination_postal_code' => :'String',
689
671
  :'destination_raw_location' => :'String',
690
- :'courier_destination_country_iso3' => :'String',
691
- :'emails' => :'Array<String>',
672
+ :'courier_destination_country_region' => :'String',
692
673
  :'courier_estimated_delivery_date' => :'CourierEstimatedDeliveryDateMarkTrackingCompletedByIdResponse',
693
674
  :'note' => :'String',
694
675
  :'order_id' => :'String',
@@ -700,7 +681,6 @@ module AftershipAPI::Model
700
681
  :'shipment_type' => :'String',
701
682
  :'shipment_weight' => :'ShipmentWeightMarkTrackingCompletedByIdResponse',
702
683
  :'signed_by' => :'String',
703
- :'smses' => :'Array<String>',
704
684
  :'source' => :'String',
705
685
  :'tag' => :'TagV1',
706
686
  :'subtag' => :'String',
@@ -734,9 +714,8 @@ module AftershipAPI::Model
734
714
  :'latest_estimated_delivery' => :'LatestEstimatedDeliveryMarkTrackingCompletedByIdResponse',
735
715
  :'shipment_tags' => :'Array<String>',
736
716
  :'courier_connection_id' => :'String',
737
- :'next_couriers' => :'Array<NextCouriersMarkTrackingCompletedByIdResponse>',
738
- :'tracking_origin_country' => :'String',
739
- :'tracking_destination_country' => :'String',
717
+ :'tracking_origin_country_region' => :'String',
718
+ :'tracking_destination_country_region' => :'String',
740
719
  :'tracking_postal_code' => :'String',
741
720
  :'tracking_state' => :'String',
742
721
  :'carbon_emissions' => :'CarbonEmissionsMarkTrackingCompletedByIdResponse',
@@ -747,6 +726,9 @@ module AftershipAPI::Model
747
726
  :'delivery_location_type' => :'String',
748
727
  :'aftership_tracking_url' => :'String',
749
728
  :'aftership_tracking_order_url' => :'String',
729
+ :'first_mile' => :'FirstMileMarkTrackingCompletedByIdResponse',
730
+ :'last_mile' => :'LastMileMarkTrackingCompletedByIdResponse',
731
+ :'customers' => :'Array<CustomersMarkTrackingCompletedByIdResponse>',
750
732
  }
751
733
  end
752
734
 
@@ -757,25 +739,22 @@ module AftershipAPI::Model
757
739
  :'legacy_id' => :'legacy_id',
758
740
  :'created_at' => :'created_at',
759
741
  :'updated_at' => :'updated_at',
760
- :'last_updated_at' => :'last_updated_at',
761
742
  :'tracking_number' => :'tracking_number',
762
743
  :'slug' => :'slug',
763
744
  :'active' => :'active',
764
745
  :'custom_fields' => :'custom_fields',
765
- :'customer_name' => :'customer_name',
766
746
  :'transit_time' => :'transit_time',
767
- :'origin_country_iso3' => :'origin_country_iso3',
747
+ :'origin_country_region' => :'origin_country_region',
768
748
  :'origin_state' => :'origin_state',
769
749
  :'origin_city' => :'origin_city',
770
750
  :'origin_postal_code' => :'origin_postal_code',
771
751
  :'origin_raw_location' => :'origin_raw_location',
772
- :'destination_country_iso3' => :'destination_country_iso3',
752
+ :'destination_country_region' => :'destination_country_region',
773
753
  :'destination_state' => :'destination_state',
774
754
  :'destination_city' => :'destination_city',
775
755
  :'destination_postal_code' => :'destination_postal_code',
776
756
  :'destination_raw_location' => :'destination_raw_location',
777
- :'courier_destination_country_iso3' => :'courier_destination_country_iso3',
778
- :'emails' => :'emails',
757
+ :'courier_destination_country_region' => :'courier_destination_country_region',
779
758
  :'courier_estimated_delivery_date' => :'courier_estimated_delivery_date',
780
759
  :'note' => :'note',
781
760
  :'order_id' => :'order_id',
@@ -787,7 +766,6 @@ module AftershipAPI::Model
787
766
  :'shipment_type' => :'shipment_type',
788
767
  :'shipment_weight' => :'shipment_weight',
789
768
  :'signed_by' => :'signed_by',
790
- :'smses' => :'smses',
791
769
  :'source' => :'source',
792
770
  :'tag' => :'tag',
793
771
  :'subtag' => :'subtag',
@@ -821,9 +799,8 @@ module AftershipAPI::Model
821
799
  :'latest_estimated_delivery' => :'latest_estimated_delivery',
822
800
  :'shipment_tags' => :'shipment_tags',
823
801
  :'courier_connection_id' => :'courier_connection_id',
824
- :'next_couriers' => :'next_couriers',
825
- :'tracking_origin_country' => :'tracking_origin_country',
826
- :'tracking_destination_country' => :'tracking_destination_country',
802
+ :'tracking_origin_country_region' => :'tracking_origin_country_region',
803
+ :'tracking_destination_country_region' => :'tracking_destination_country_region',
827
804
  :'tracking_postal_code' => :'tracking_postal_code',
828
805
  :'tracking_state' => :'tracking_state',
829
806
  :'carbon_emissions' => :'carbon_emissions',
@@ -834,6 +811,9 @@ module AftershipAPI::Model
834
811
  :'delivery_location_type' => :'delivery_location_type',
835
812
  :'aftership_tracking_url' => :'aftership_tracking_url',
836
813
  :'aftership_tracking_order_url' => :'aftership_tracking_order_url',
814
+ :'first_mile' => :'first_mile',
815
+ :'last_mile' => :'last_mile',
816
+ :'customers' => :'customers',
837
817
  }
838
818
  end
839
819
 
@@ -0,0 +1,163 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class OrderProcessingTimeEstimatedPickupPredictRequest
5
+
6
+ # Processing time of an order, from being placed to being picked up. Only support day as value now.AfterShip will set day as the default value.
7
+ # unit?: String;
8
+ attr_accessor :unit
9
+
10
+ # Processing time of an order, from being placed to being picked up.AfterShip will set 0 as the default value.
11
+ # value?: Float;
12
+ attr_accessor :value
13
+
14
+ # Initializes the object
15
+ # @param [Hash] attributes Model attributes in the form of hash
16
+ def initialize(attributes = {})
17
+ if (!attributes.is_a?(Hash))
18
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::OrderProcessingTimeEstimatedPickupPredictRequest` initialize method"
19
+ end
20
+
21
+ attributes = attributes.each_with_object({}) { |(k, v), h|
22
+ h[k.to_sym] = v
23
+ }
24
+
25
+ if attributes.key?(:'unit')
26
+ self.unit = attributes[:'unit']
27
+ end
28
+
29
+ if attributes.key?(:'value')
30
+ self.value = attributes[:'value']
31
+ end
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'unit' => :'String',
38
+ :'value' => :'Float',
39
+ }
40
+ end
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'unit' => :'unit',
46
+ :'value' => :'value',
47
+ }
48
+ end
49
+
50
+ # Builds the object from hash
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @return [Object] Returns the model itself
53
+ def self.build_from_hash(attributes)
54
+ return nil unless attributes.is_a?(Hash)
55
+ attributes = attributes.transform_keys(&:to_sym)
56
+ transformed_hash = {}
57
+ openapi_types.each_pair do |key, type|
58
+ if attributes.key?(key) && attributes[key].nil?
59
+ transformed_hash["#{key}"] = nil
60
+ elsif type =~ /\AArray<(.*)>/i
61
+ # check to ensure the input is an array given that the attribute
62
+ # is documented as an array but the input is not
63
+ if attributes[key].is_a?(Array)
64
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
65
+ end
66
+ elsif !attributes[key].nil?
67
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
68
+ end
69
+ end
70
+ new(transformed_hash)
71
+ end
72
+
73
+ # Deserializes the data based on type
74
+ # @param type [String] Data type
75
+ # @param value [String] Value to be deserialized
76
+ # @return [Object] Deserialized data
77
+ def self._deserialize(type, value)
78
+ case type.to_sym
79
+ when :Time
80
+ Time.parse(value)
81
+ when :Date
82
+ Date.parse(value)
83
+ when :String
84
+ value.to_s
85
+ when :Integer
86
+ value.to_i
87
+ when :Float
88
+ value.to_f
89
+ when :Boolean
90
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
91
+ true
92
+ else
93
+ false
94
+ end
95
+ when :Object
96
+ # generic object (usually a Hash), return directly
97
+ value
98
+ when /\AArray<(?<inner_type>.+)>\z/
99
+ inner_type = Regexp.last_match[:inner_type]
100
+ value.map { |v| _deserialize(inner_type, v) }
101
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
102
+ k_type = Regexp.last_match[:k_type]
103
+ v_type = Regexp.last_match[:v_type]
104
+ {}.tap do |hash|
105
+ value.each do |k, v|
106
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
107
+ end
108
+ end
109
+ else # model
110
+ klass = AftershipAPI::Model.const_get(type)
111
+ klass.build_from_hash(value)
112
+ end
113
+ end
114
+
115
+ # Returns the string representation of the object
116
+ # @return [String] String presentation of the object
117
+ def to_s
118
+ to_hash.to_s
119
+ end
120
+
121
+ # to_body is an alias to to_hash (backward compatibility)
122
+ # @return [Hash] Returns the object in the form of hash
123
+ def to_body
124
+ to_hash
125
+ end
126
+
127
+ # Returns the object in the form of hash
128
+ # @return [Hash] Returns the object in the form of hash
129
+ def to_hash
130
+ hash = {}
131
+ self.class.attribute_map.each_pair do |attr, param|
132
+ value = self.send(attr)
133
+ next if value.nil?
134
+
135
+ hash[param] = _to_hash(value)
136
+ end
137
+ hash
138
+ end
139
+
140
+ # Outputs non-array value in the form of hash
141
+ # For object, use to_hash. Otherwise, just return the value
142
+ # @param value [Object] Any valid value
143
+ # @return [Hash] Returns the value in the form of hash
144
+ def _to_hash(value)
145
+ if value.is_a?(Array)
146
+ value.compact.map { |v| _to_hash(v) }
147
+ elsif value.is_a?(Hash)
148
+ {}.tap do |hash|
149
+ value.each { |k, v| hash[k] = _to_hash(v) }
150
+ end
151
+ elsif value.respond_to? :to_hash
152
+ value.to_hash
153
+ else
154
+ value
155
+ end
156
+ end
157
+
158
+ def to_json(*a)
159
+ to_hash.to_json(*a)
160
+ end
161
+ end
162
+ end
163
+
@@ -0,0 +1,163 @@
1
+ # This code was auto generated by AfterShip SDK Generator.
2
+ # Do not edit the class manually.
3
+ module AftershipAPI::Model
4
+ class OrderProcessingTimeEstimatedPickupPredictResponse
5
+
6
+ # Processing time of an order, from being placed to being picked up. Only support day as value now.AfterShip will set day as the default value.
7
+ # unit?: String;
8
+ attr_accessor :unit
9
+
10
+ # Processing time of an order, from being placed to being picked up.AfterShip will set 0 as the default value.
11
+ # value?: Float;
12
+ attr_accessor :value
13
+
14
+ # Initializes the object
15
+ # @param [Hash] attributes Model attributes in the form of hash
16
+ def initialize(attributes = {})
17
+ if (!attributes.is_a?(Hash))
18
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AftershipAPI::OrderProcessingTimeEstimatedPickupPredictResponse` initialize method"
19
+ end
20
+
21
+ attributes = attributes.each_with_object({}) { |(k, v), h|
22
+ h[k.to_sym] = v
23
+ }
24
+
25
+ if attributes.key?(:'unit')
26
+ self.unit = attributes[:'unit']
27
+ end
28
+
29
+ if attributes.key?(:'value')
30
+ self.value = attributes[:'value']
31
+ end
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'unit' => :'String',
38
+ :'value' => :'Float',
39
+ }
40
+ end
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'unit' => :'unit',
46
+ :'value' => :'value',
47
+ }
48
+ end
49
+
50
+ # Builds the object from hash
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @return [Object] Returns the model itself
53
+ def self.build_from_hash(attributes)
54
+ return nil unless attributes.is_a?(Hash)
55
+ attributes = attributes.transform_keys(&:to_sym)
56
+ transformed_hash = {}
57
+ openapi_types.each_pair do |key, type|
58
+ if attributes.key?(key) && attributes[key].nil?
59
+ transformed_hash["#{key}"] = nil
60
+ elsif type =~ /\AArray<(.*)>/i
61
+ # check to ensure the input is an array given that the attribute
62
+ # is documented as an array but the input is not
63
+ if attributes[key].is_a?(Array)
64
+ transformed_hash["#{key}"] = attributes[key].map { |v| _deserialize($1, v) }
65
+ end
66
+ elsif !attributes[key].nil?
67
+ transformed_hash["#{key}"] = _deserialize(type, attributes[key])
68
+ end
69
+ end
70
+ new(transformed_hash)
71
+ end
72
+
73
+ # Deserializes the data based on type
74
+ # @param type [String] Data type
75
+ # @param value [String] Value to be deserialized
76
+ # @return [Object] Deserialized data
77
+ def self._deserialize(type, value)
78
+ case type.to_sym
79
+ when :Time
80
+ Time.parse(value)
81
+ when :Date
82
+ Date.parse(value)
83
+ when :String
84
+ value.to_s
85
+ when :Integer
86
+ value.to_i
87
+ when :Float
88
+ value.to_f
89
+ when :Boolean
90
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
91
+ true
92
+ else
93
+ false
94
+ end
95
+ when :Object
96
+ # generic object (usually a Hash), return directly
97
+ value
98
+ when /\AArray<(?<inner_type>.+)>\z/
99
+ inner_type = Regexp.last_match[:inner_type]
100
+ value.map { |v| _deserialize(inner_type, v) }
101
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
102
+ k_type = Regexp.last_match[:k_type]
103
+ v_type = Regexp.last_match[:v_type]
104
+ {}.tap do |hash|
105
+ value.each do |k, v|
106
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
107
+ end
108
+ end
109
+ else # model
110
+ klass = AftershipAPI::Model.const_get(type)
111
+ klass.build_from_hash(value)
112
+ end
113
+ end
114
+
115
+ # Returns the string representation of the object
116
+ # @return [String] String presentation of the object
117
+ def to_s
118
+ to_hash.to_s
119
+ end
120
+
121
+ # to_body is an alias to to_hash (backward compatibility)
122
+ # @return [Hash] Returns the object in the form of hash
123
+ def to_body
124
+ to_hash
125
+ end
126
+
127
+ # Returns the object in the form of hash
128
+ # @return [Hash] Returns the object in the form of hash
129
+ def to_hash
130
+ hash = {}
131
+ self.class.attribute_map.each_pair do |attr, param|
132
+ value = self.send(attr)
133
+ next if value.nil?
134
+
135
+ hash[param] = _to_hash(value)
136
+ end
137
+ hash
138
+ end
139
+
140
+ # Outputs non-array value in the form of hash
141
+ # For object, use to_hash. Otherwise, just return the value
142
+ # @param value [Object] Any valid value
143
+ # @return [Hash] Returns the value in the form of hash
144
+ def _to_hash(value)
145
+ if value.is_a?(Array)
146
+ value.compact.map { |v| _to_hash(v) }
147
+ elsif value.is_a?(Hash)
148
+ {}.tap do |hash|
149
+ value.each { |k, v| hash[k] = _to_hash(v) }
150
+ end
151
+ elsif value.respond_to? :to_hash
152
+ value.to_hash
153
+ else
154
+ value
155
+ end
156
+ end
157
+
158
+ def to_json(*a)
159
+ to_hash.to_json(*a)
160
+ end
161
+ end
162
+ end
163
+