karrio-server-manager 2025.5rc1__py3-none-any.whl

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 (102) hide show
  1. karrio/server/manager/__init__.py +1 -0
  2. karrio/server/manager/admin.py +1 -0
  3. karrio/server/manager/apps.py +13 -0
  4. karrio/server/manager/migrations/0001_initial.py +1358 -0
  5. karrio/server/manager/migrations/0002_auto_20201127_0721.py +61 -0
  6. karrio/server/manager/migrations/0003_auto_20201230_0820.py +34 -0
  7. karrio/server/manager/migrations/0004_auto_20210125_2125.py +18 -0
  8. karrio/server/manager/migrations/0005_auto_20210216_0758.py +27 -0
  9. karrio/server/manager/migrations/0006_auto_20210307_0438.py +24 -0
  10. karrio/server/manager/migrations/0006_auto_20210308_0302.py +53 -0
  11. karrio/server/manager/migrations/0007_merge_20210311_1428.py +14 -0
  12. karrio/server/manager/migrations/0008_remove_shipment_doc_images.py +17 -0
  13. karrio/server/manager/migrations/0009_auto_20210326_1425.py +28 -0
  14. karrio/server/manager/migrations/0010_auto_20210403_1404.py +28 -0
  15. karrio/server/manager/migrations/0011_auto_20210426_1924.py +48 -0
  16. karrio/server/manager/migrations/0012_auto_20210427_1319.py +24 -0
  17. karrio/server/manager/migrations/0013_customs_invoice_date.py +18 -0
  18. karrio/server/manager/migrations/0014_auto_20210515_0928.py +24 -0
  19. karrio/server/manager/migrations/0015_auto_20210601_0340.py +182 -0
  20. karrio/server/manager/migrations/0016_shipment_archived.py +18 -0
  21. karrio/server/manager/migrations/0017_auto_20210629_1650.py +22 -0
  22. karrio/server/manager/migrations/0018_auto_20210705_1049.py +23 -0
  23. karrio/server/manager/migrations/0019_auto_20210722_1131.py +43 -0
  24. karrio/server/manager/migrations/0020_tracking_messages.py +20 -0
  25. karrio/server/manager/migrations/0021_tracking_estimated_delivery.py +18 -0
  26. karrio/server/manager/migrations/0022_auto_20211122_2100.py +53 -0
  27. karrio/server/manager/migrations/0023_auto_20211227_2141.py +118 -0
  28. karrio/server/manager/migrations/0024_alter_parcel_items.py +18 -0
  29. karrio/server/manager/migrations/0025_auto_20220113_1158.py +25 -0
  30. karrio/server/manager/migrations/0026_parcel_reference_number.py +18 -0
  31. karrio/server/manager/migrations/0027_custom_migration_2021_1.py +47 -0
  32. karrio/server/manager/migrations/0028_auto_20220303_1153.py +39 -0
  33. karrio/server/manager/migrations/0029_auto_20220303_1249.py +55 -0
  34. karrio/server/manager/migrations/0030_alter_shipment_status.py +44 -0
  35. karrio/server/manager/migrations/0031_shipment_invoice.py +34 -0
  36. karrio/server/manager/migrations/0032_custom_migration_2022_3.py +26 -0
  37. karrio/server/manager/migrations/0033_auto_20220504_1335.py +57 -0
  38. karrio/server/manager/migrations/0034_commodity_hs_code.py +18 -0
  39. karrio/server/manager/migrations/0035_parcel_options.py +26 -0
  40. karrio/server/manager/migrations/0036_alter_tracking_shipment.py +24 -0
  41. karrio/server/manager/migrations/0037_auto_20220710_1350.py +28 -0
  42. karrio/server/manager/migrations/0038_alter_tracking_status.py +18 -0
  43. karrio/server/manager/migrations/0039_documentuploadrecord.py +43 -0
  44. karrio/server/manager/migrations/0040_parcel_freight_class.py +18 -0
  45. karrio/server/manager/migrations/0041_alter_commodity_options_alter_parcel_options.py +29 -0
  46. karrio/server/manager/migrations/0042_remove_shipment_shipment_tracking_number_idx_and_more.py +658 -0
  47. karrio/server/manager/migrations/0043_customs_duty_billing_address_and_more.py +62 -0
  48. karrio/server/manager/migrations/0044_address_address_line1_temp_and_more.py +326 -0
  49. karrio/server/manager/migrations/0045_alter_customs_duty_billing_address_and_more.py +45 -0
  50. karrio/server/manager/migrations/0046_auto_20230114_0930.py +78 -0
  51. karrio/server/manager/migrations/0047_remove_shipment_shipment_tracking_number_idx_and_more.py +595 -0
  52. karrio/server/manager/migrations/0048_commodity_title_alter_commodity_description_and_more.py +53 -0
  53. karrio/server/manager/migrations/0049_auto_20230318_0708.py +39 -0
  54. karrio/server/manager/migrations/0050_address_street_number_tracking_account_number_and_more.py +60 -0
  55. karrio/server/manager/migrations/0051_auto_20230330_0556.py +56 -0
  56. karrio/server/manager/migrations/0052_auto_20230520_0811.py +35 -0
  57. karrio/server/manager/migrations/0053_alter_commodity_weight_unit_alter_parcel_weight_unit.py +32 -0
  58. karrio/server/manager/migrations/0054_alter_address_company_name_alter_address_person_name.py +22 -0
  59. karrio/server/manager/migrations/0055_alter_tracking_status.py +32 -0
  60. karrio/server/manager/migrations/0056_tracking_delivery_image_tracking_signature_image.py +22 -0
  61. karrio/server/manager/migrations/0057_alter_customs_invoice_date.py +18 -0
  62. karrio/server/manager/migrations/0058_manifest_shipment_manifest.py +124 -0
  63. karrio/server/manager/migrations/0059_shipment_return_address.py +24 -0
  64. karrio/server/manager/migrations/0060_pickup_meta_alter_address_country_code_and_more.py +527 -0
  65. karrio/server/manager/migrations/0061_alter_customs_incoterm.py +37 -0
  66. karrio/server/manager/migrations/0062_alter_tracking_status.py +35 -0
  67. karrio/server/manager/migrations/__init__.py +0 -0
  68. karrio/server/manager/models.py +984 -0
  69. karrio/server/manager/router.py +3 -0
  70. karrio/server/manager/serializers/__init__.py +50 -0
  71. karrio/server/manager/serializers/address.py +82 -0
  72. karrio/server/manager/serializers/commodity.py +51 -0
  73. karrio/server/manager/serializers/customs.py +84 -0
  74. karrio/server/manager/serializers/document.py +113 -0
  75. karrio/server/manager/serializers/manifest.py +85 -0
  76. karrio/server/manager/serializers/parcel.py +84 -0
  77. karrio/server/manager/serializers/pickup.py +285 -0
  78. karrio/server/manager/serializers/rate.py +19 -0
  79. karrio/server/manager/serializers/shipment.py +869 -0
  80. karrio/server/manager/serializers/tracking.py +250 -0
  81. karrio/server/manager/signals.py +70 -0
  82. karrio/server/manager/tests/__init__.py +10 -0
  83. karrio/server/manager/tests/test_addresses.py +110 -0
  84. karrio/server/manager/tests/test_custom_infos.py +97 -0
  85. karrio/server/manager/tests/test_parcels.py +104 -0
  86. karrio/server/manager/tests/test_pickups.py +345 -0
  87. karrio/server/manager/tests/test_shipments.py +833 -0
  88. karrio/server/manager/tests/test_trackers.py +215 -0
  89. karrio/server/manager/urls.py +10 -0
  90. karrio/server/manager/views/__init__.py +9 -0
  91. karrio/server/manager/views/addresses.py +154 -0
  92. karrio/server/manager/views/customs.py +159 -0
  93. karrio/server/manager/views/documents.py +131 -0
  94. karrio/server/manager/views/manifests.py +160 -0
  95. karrio/server/manager/views/parcels.py +155 -0
  96. karrio/server/manager/views/pickups.py +182 -0
  97. karrio/server/manager/views/shipments.py +335 -0
  98. karrio/server/manager/views/trackers.py +364 -0
  99. karrio_server_manager-2025.5rc1.dist-info/METADATA +28 -0
  100. karrio_server_manager-2025.5rc1.dist-info/RECORD +102 -0
  101. karrio_server_manager-2025.5rc1.dist-info/WHEEL +5 -0
  102. karrio_server_manager-2025.5rc1.dist-info/top_level.txt +2 -0
@@ -0,0 +1,1358 @@
1
+ # Generated by Django 3.1.2 on 2020-10-22 11:02
2
+
3
+ from django.conf import settings
4
+ from django.db import migrations, models
5
+ import django.db.models.deletion
6
+ import functools
7
+ import jsonfield.fields
8
+ import karrio.server.core.models
9
+
10
+
11
+ class Migration(migrations.Migration):
12
+
13
+ initial = True
14
+
15
+ dependencies = [
16
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17
+ ("providers", "0001_initial"),
18
+ ]
19
+
20
+ operations = [
21
+ migrations.CreateModel(
22
+ name="Address",
23
+ fields=[
24
+ ("created_at", models.DateTimeField(auto_now_add=True)),
25
+ ("updated_at", models.DateTimeField(auto_now=True)),
26
+ (
27
+ "id",
28
+ models.CharField(
29
+ default=functools.partial(
30
+ karrio.server.core.models.uuid, *(), **{"prefix": "adr_"}
31
+ ),
32
+ editable=False,
33
+ max_length=50,
34
+ primary_key=True,
35
+ serialize=False,
36
+ ),
37
+ ),
38
+ ("postal_code", models.CharField(blank=True, max_length=10, null=True)),
39
+ ("city", models.CharField(blank=True, max_length=50, null=True)),
40
+ (
41
+ "federal_tax_id",
42
+ models.CharField(blank=True, max_length=50, null=True),
43
+ ),
44
+ (
45
+ "state_tax_id",
46
+ models.CharField(blank=True, max_length=50, null=True),
47
+ ),
48
+ ("person_name", models.CharField(blank=True, max_length=50, null=True)),
49
+ (
50
+ "company_name",
51
+ models.CharField(blank=True, max_length=50, null=True),
52
+ ),
53
+ (
54
+ "country_code",
55
+ models.CharField(
56
+ choices=[
57
+ ("AD", "AD"),
58
+ ("AE", "AE"),
59
+ ("AF", "AF"),
60
+ ("AG", "AG"),
61
+ ("AI", "AI"),
62
+ ("AL", "AL"),
63
+ ("AM", "AM"),
64
+ ("AN", "AN"),
65
+ ("AO", "AO"),
66
+ ("AR", "AR"),
67
+ ("AS", "AS"),
68
+ ("AT", "AT"),
69
+ ("AU", "AU"),
70
+ ("AW", "AW"),
71
+ ("AZ", "AZ"),
72
+ ("BA", "BA"),
73
+ ("BB", "BB"),
74
+ ("BD", "BD"),
75
+ ("BE", "BE"),
76
+ ("BF", "BF"),
77
+ ("BG", "BG"),
78
+ ("BH", "BH"),
79
+ ("BI", "BI"),
80
+ ("BJ", "BJ"),
81
+ ("BM", "BM"),
82
+ ("BN", "BN"),
83
+ ("BO", "BO"),
84
+ ("BR", "BR"),
85
+ ("BS", "BS"),
86
+ ("BT", "BT"),
87
+ ("BW", "BW"),
88
+ ("BY", "BY"),
89
+ ("BZ", "BZ"),
90
+ ("CA", "CA"),
91
+ ("CD", "CD"),
92
+ ("CF", "CF"),
93
+ ("CG", "CG"),
94
+ ("CH", "CH"),
95
+ ("CI", "CI"),
96
+ ("CK", "CK"),
97
+ ("CL", "CL"),
98
+ ("CM", "CM"),
99
+ ("CN", "CN"),
100
+ ("CO", "CO"),
101
+ ("CR", "CR"),
102
+ ("CU", "CU"),
103
+ ("CV", "CV"),
104
+ ("CY", "CY"),
105
+ ("CZ", "CZ"),
106
+ ("DE", "DE"),
107
+ ("DJ", "DJ"),
108
+ ("DK", "DK"),
109
+ ("DM", "DM"),
110
+ ("DO", "DO"),
111
+ ("DZ", "DZ"),
112
+ ("EC", "EC"),
113
+ ("EE", "EE"),
114
+ ("EG", "EG"),
115
+ ("ER", "ER"),
116
+ ("ES", "ES"),
117
+ ("ET", "ET"),
118
+ ("FI", "FI"),
119
+ ("FJ", "FJ"),
120
+ ("FK", "FK"),
121
+ ("FM", "FM"),
122
+ ("FO", "FO"),
123
+ ("FR", "FR"),
124
+ ("GA", "GA"),
125
+ ("GB", "GB"),
126
+ ("GD", "GD"),
127
+ ("GE", "GE"),
128
+ ("GF", "GF"),
129
+ ("GG", "GG"),
130
+ ("GH", "GH"),
131
+ ("GI", "GI"),
132
+ ("GL", "GL"),
133
+ ("GM", "GM"),
134
+ ("GN", "GN"),
135
+ ("GP", "GP"),
136
+ ("GQ", "GQ"),
137
+ ("GR", "GR"),
138
+ ("GT", "GT"),
139
+ ("GU", "GU"),
140
+ ("GW", "GW"),
141
+ ("GY", "GY"),
142
+ ("HK", "HK"),
143
+ ("HN", "HN"),
144
+ ("HR", "HR"),
145
+ ("HT", "HT"),
146
+ ("HU", "HU"),
147
+ ("IC", "IC"),
148
+ ("ID", "ID"),
149
+ ("IE", "IE"),
150
+ ("IL", "IL"),
151
+ ("IN", "IN"),
152
+ ("IQ", "IQ"),
153
+ ("IR", "IR"),
154
+ ("IS", "IS"),
155
+ ("IT", "IT"),
156
+ ("JE", "JE"),
157
+ ("JM", "JM"),
158
+ ("JO", "JO"),
159
+ ("JP", "JP"),
160
+ ("KE", "KE"),
161
+ ("KG", "KG"),
162
+ ("KH", "KH"),
163
+ ("KI", "KI"),
164
+ ("KM", "KM"),
165
+ ("KN", "KN"),
166
+ ("KP", "KP"),
167
+ ("KR", "KR"),
168
+ ("KV", "KV"),
169
+ ("KW", "KW"),
170
+ ("KY", "KY"),
171
+ ("KZ", "KZ"),
172
+ ("LA", "LA"),
173
+ ("LB", "LB"),
174
+ ("LC", "LC"),
175
+ ("LI", "LI"),
176
+ ("LK", "LK"),
177
+ ("LR", "LR"),
178
+ ("LS", "LS"),
179
+ ("LT", "LT"),
180
+ ("LU", "LU"),
181
+ ("LV", "LV"),
182
+ ("LY", "LY"),
183
+ ("MA", "MA"),
184
+ ("MC", "MC"),
185
+ ("MD", "MD"),
186
+ ("ME", "ME"),
187
+ ("MG", "MG"),
188
+ ("MH", "MH"),
189
+ ("MK", "MK"),
190
+ ("ML", "ML"),
191
+ ("MM", "MM"),
192
+ ("MN", "MN"),
193
+ ("MO", "MO"),
194
+ ("MP", "MP"),
195
+ ("MQ", "MQ"),
196
+ ("MR", "MR"),
197
+ ("MS", "MS"),
198
+ ("MT", "MT"),
199
+ ("MU", "MU"),
200
+ ("MV", "MV"),
201
+ ("MW", "MW"),
202
+ ("MX", "MX"),
203
+ ("MY", "MY"),
204
+ ("MZ", "MZ"),
205
+ ("NA", "NA"),
206
+ ("NC", "NC"),
207
+ ("NE", "NE"),
208
+ ("NG", "NG"),
209
+ ("NI", "NI"),
210
+ ("NL", "NL"),
211
+ ("NO", "NO"),
212
+ ("NP", "NP"),
213
+ ("NR", "NR"),
214
+ ("NU", "NU"),
215
+ ("NZ", "NZ"),
216
+ ("OM", "OM"),
217
+ ("PA", "PA"),
218
+ ("PE", "PE"),
219
+ ("PF", "PF"),
220
+ ("PG", "PG"),
221
+ ("PH", "PH"),
222
+ ("PK", "PK"),
223
+ ("PL", "PL"),
224
+ ("PR", "PR"),
225
+ ("PT", "PT"),
226
+ ("PW", "PW"),
227
+ ("PY", "PY"),
228
+ ("QA", "QA"),
229
+ ("RE", "RE"),
230
+ ("RO", "RO"),
231
+ ("RS", "RS"),
232
+ ("RU", "RU"),
233
+ ("RW", "RW"),
234
+ ("SA", "SA"),
235
+ ("SB", "SB"),
236
+ ("SC", "SC"),
237
+ ("SD", "SD"),
238
+ ("SE", "SE"),
239
+ ("SG", "SG"),
240
+ ("SH", "SH"),
241
+ ("SI", "SI"),
242
+ ("SK", "SK"),
243
+ ("SL", "SL"),
244
+ ("SM", "SM"),
245
+ ("SN", "SN"),
246
+ ("SO", "SO"),
247
+ ("SR", "SR"),
248
+ ("SS", "SS"),
249
+ ("ST", "ST"),
250
+ ("SV", "SV"),
251
+ ("SY", "SY"),
252
+ ("SZ", "SZ"),
253
+ ("TC", "TC"),
254
+ ("TD", "TD"),
255
+ ("TG", "TG"),
256
+ ("TH", "TH"),
257
+ ("TJ", "TJ"),
258
+ ("TL", "TL"),
259
+ ("TN", "TN"),
260
+ ("TO", "TO"),
261
+ ("TR", "TR"),
262
+ ("TT", "TT"),
263
+ ("TV", "TV"),
264
+ ("TW", "TW"),
265
+ ("TZ", "TZ"),
266
+ ("UA", "UA"),
267
+ ("UG", "UG"),
268
+ ("US", "US"),
269
+ ("UY", "UY"),
270
+ ("UZ", "UZ"),
271
+ ("VA", "VA"),
272
+ ("VC", "VC"),
273
+ ("VE", "VE"),
274
+ ("VG", "VG"),
275
+ ("VI", "VI"),
276
+ ("VN", "VN"),
277
+ ("VU", "VU"),
278
+ ("WS", "WS"),
279
+ ("XB", "XB"),
280
+ ("XC", "XC"),
281
+ ("XE", "XE"),
282
+ ("XM", "XM"),
283
+ ("XN", "XN"),
284
+ ("XS", "XS"),
285
+ ("XY", "XY"),
286
+ ("YE", "YE"),
287
+ ("YT", "YT"),
288
+ ("ZA", "ZA"),
289
+ ("ZM", "ZM"),
290
+ ("ZW", "ZW"),
291
+ ],
292
+ max_length=20,
293
+ ),
294
+ ),
295
+ ("email", models.EmailField(blank=True, max_length=254, null=True)),
296
+ (
297
+ "phone_number",
298
+ models.CharField(blank=True, max_length=50, null=True),
299
+ ),
300
+ ("state_code", models.CharField(blank=True, max_length=20, null=True)),
301
+ ("suburb", models.CharField(blank=True, max_length=20, null=True)),
302
+ ("residential", models.BooleanField(null=True)),
303
+ (
304
+ "address_line1",
305
+ models.CharField(blank=True, max_length=100, null=True),
306
+ ),
307
+ (
308
+ "address_line2",
309
+ models.CharField(blank=True, max_length=100, null=True),
310
+ ),
311
+ (
312
+ "user",
313
+ models.ForeignKey(
314
+ on_delete=django.db.models.deletion.CASCADE,
315
+ to=settings.AUTH_USER_MODEL,
316
+ ),
317
+ ),
318
+ ],
319
+ options={
320
+ "verbose_name": "Address",
321
+ "verbose_name_plural": "Addresses",
322
+ "db_table": "address",
323
+ },
324
+ ),
325
+ migrations.CreateModel(
326
+ name="Commodity",
327
+ fields=[
328
+ ("created_at", models.DateTimeField(auto_now_add=True)),
329
+ ("updated_at", models.DateTimeField(auto_now=True)),
330
+ (
331
+ "id",
332
+ models.CharField(
333
+ default=functools.partial(
334
+ karrio.server.core.models.uuid, *(), **{"prefix": "cdt_"}
335
+ ),
336
+ editable=False,
337
+ max_length=50,
338
+ primary_key=True,
339
+ serialize=False,
340
+ ),
341
+ ),
342
+ ("weight", models.FloatField(blank=True, null=True)),
343
+ (
344
+ "description",
345
+ models.CharField(blank=True, max_length=250, null=True),
346
+ ),
347
+ ("quantity", models.IntegerField(blank=True, null=True)),
348
+ ("sku", models.CharField(blank=True, max_length=100, null=True)),
349
+ ("value_amount", models.FloatField(blank=True, null=True)),
350
+ (
351
+ "value_currency",
352
+ models.CharField(
353
+ blank=True,
354
+ choices=[
355
+ ("AD", "AD"),
356
+ ("AE", "AE"),
357
+ ("AF", "AF"),
358
+ ("AG", "AG"),
359
+ ("AI", "AI"),
360
+ ("AL", "AL"),
361
+ ("AM", "AM"),
362
+ ("AN", "AN"),
363
+ ("AO", "AO"),
364
+ ("AR", "AR"),
365
+ ("AS", "AS"),
366
+ ("AT", "AT"),
367
+ ("AU", "AU"),
368
+ ("AW", "AW"),
369
+ ("AZ", "AZ"),
370
+ ("BA", "BA"),
371
+ ("BB", "BB"),
372
+ ("BD", "BD"),
373
+ ("BE", "BE"),
374
+ ("BF", "BF"),
375
+ ("BG", "BG"),
376
+ ("BH", "BH"),
377
+ ("BI", "BI"),
378
+ ("BJ", "BJ"),
379
+ ("BM", "BM"),
380
+ ("BN", "BN"),
381
+ ("BO", "BO"),
382
+ ("BR", "BR"),
383
+ ("BS", "BS"),
384
+ ("BT", "BT"),
385
+ ("BW", "BW"),
386
+ ("BY", "BY"),
387
+ ("BZ", "BZ"),
388
+ ("CA", "CA"),
389
+ ("CD", "CD"),
390
+ ("CF", "CF"),
391
+ ("CG", "CG"),
392
+ ("CH", "CH"),
393
+ ("CI", "CI"),
394
+ ("CK", "CK"),
395
+ ("CL", "CL"),
396
+ ("CM", "CM"),
397
+ ("CN", "CN"),
398
+ ("CO", "CO"),
399
+ ("CR", "CR"),
400
+ ("CU", "CU"),
401
+ ("CV", "CV"),
402
+ ("CY", "CY"),
403
+ ("CZ", "CZ"),
404
+ ("DE", "DE"),
405
+ ("DJ", "DJ"),
406
+ ("DK", "DK"),
407
+ ("DM", "DM"),
408
+ ("DO", "DO"),
409
+ ("DZ", "DZ"),
410
+ ("EC", "EC"),
411
+ ("EE", "EE"),
412
+ ("EG", "EG"),
413
+ ("ER", "ER"),
414
+ ("ES", "ES"),
415
+ ("ET", "ET"),
416
+ ("FI", "FI"),
417
+ ("FJ", "FJ"),
418
+ ("FK", "FK"),
419
+ ("FM", "FM"),
420
+ ("FO", "FO"),
421
+ ("FR", "FR"),
422
+ ("GA", "GA"),
423
+ ("GB", "GB"),
424
+ ("GD", "GD"),
425
+ ("GE", "GE"),
426
+ ("GF", "GF"),
427
+ ("GG", "GG"),
428
+ ("GH", "GH"),
429
+ ("GI", "GI"),
430
+ ("GL", "GL"),
431
+ ("GM", "GM"),
432
+ ("GN", "GN"),
433
+ ("GP", "GP"),
434
+ ("GQ", "GQ"),
435
+ ("GR", "GR"),
436
+ ("GT", "GT"),
437
+ ("GU", "GU"),
438
+ ("GW", "GW"),
439
+ ("GY", "GY"),
440
+ ("HK", "HK"),
441
+ ("HN", "HN"),
442
+ ("HR", "HR"),
443
+ ("HT", "HT"),
444
+ ("HU", "HU"),
445
+ ("IC", "IC"),
446
+ ("ID", "ID"),
447
+ ("IE", "IE"),
448
+ ("IL", "IL"),
449
+ ("IN", "IN"),
450
+ ("IQ", "IQ"),
451
+ ("IR", "IR"),
452
+ ("IS", "IS"),
453
+ ("IT", "IT"),
454
+ ("JE", "JE"),
455
+ ("JM", "JM"),
456
+ ("JO", "JO"),
457
+ ("JP", "JP"),
458
+ ("KE", "KE"),
459
+ ("KG", "KG"),
460
+ ("KH", "KH"),
461
+ ("KI", "KI"),
462
+ ("KM", "KM"),
463
+ ("KN", "KN"),
464
+ ("KP", "KP"),
465
+ ("KR", "KR"),
466
+ ("KV", "KV"),
467
+ ("KW", "KW"),
468
+ ("KY", "KY"),
469
+ ("KZ", "KZ"),
470
+ ("LA", "LA"),
471
+ ("LB", "LB"),
472
+ ("LC", "LC"),
473
+ ("LI", "LI"),
474
+ ("LK", "LK"),
475
+ ("LR", "LR"),
476
+ ("LS", "LS"),
477
+ ("LT", "LT"),
478
+ ("LU", "LU"),
479
+ ("LV", "LV"),
480
+ ("LY", "LY"),
481
+ ("MA", "MA"),
482
+ ("MC", "MC"),
483
+ ("MD", "MD"),
484
+ ("ME", "ME"),
485
+ ("MG", "MG"),
486
+ ("MH", "MH"),
487
+ ("MK", "MK"),
488
+ ("ML", "ML"),
489
+ ("MM", "MM"),
490
+ ("MN", "MN"),
491
+ ("MO", "MO"),
492
+ ("MP", "MP"),
493
+ ("MQ", "MQ"),
494
+ ("MR", "MR"),
495
+ ("MS", "MS"),
496
+ ("MT", "MT"),
497
+ ("MU", "MU"),
498
+ ("MV", "MV"),
499
+ ("MW", "MW"),
500
+ ("MX", "MX"),
501
+ ("MY", "MY"),
502
+ ("MZ", "MZ"),
503
+ ("NA", "NA"),
504
+ ("NC", "NC"),
505
+ ("NE", "NE"),
506
+ ("NG", "NG"),
507
+ ("NI", "NI"),
508
+ ("NL", "NL"),
509
+ ("NO", "NO"),
510
+ ("NP", "NP"),
511
+ ("NR", "NR"),
512
+ ("NU", "NU"),
513
+ ("NZ", "NZ"),
514
+ ("OM", "OM"),
515
+ ("PA", "PA"),
516
+ ("PE", "PE"),
517
+ ("PF", "PF"),
518
+ ("PG", "PG"),
519
+ ("PH", "PH"),
520
+ ("PK", "PK"),
521
+ ("PL", "PL"),
522
+ ("PR", "PR"),
523
+ ("PT", "PT"),
524
+ ("PW", "PW"),
525
+ ("PY", "PY"),
526
+ ("QA", "QA"),
527
+ ("RE", "RE"),
528
+ ("RO", "RO"),
529
+ ("RS", "RS"),
530
+ ("RU", "RU"),
531
+ ("RW", "RW"),
532
+ ("SA", "SA"),
533
+ ("SB", "SB"),
534
+ ("SC", "SC"),
535
+ ("SD", "SD"),
536
+ ("SE", "SE"),
537
+ ("SG", "SG"),
538
+ ("SH", "SH"),
539
+ ("SI", "SI"),
540
+ ("SK", "SK"),
541
+ ("SL", "SL"),
542
+ ("SM", "SM"),
543
+ ("SN", "SN"),
544
+ ("SO", "SO"),
545
+ ("SR", "SR"),
546
+ ("SS", "SS"),
547
+ ("ST", "ST"),
548
+ ("SV", "SV"),
549
+ ("SY", "SY"),
550
+ ("SZ", "SZ"),
551
+ ("TC", "TC"),
552
+ ("TD", "TD"),
553
+ ("TG", "TG"),
554
+ ("TH", "TH"),
555
+ ("TJ", "TJ"),
556
+ ("TL", "TL"),
557
+ ("TN", "TN"),
558
+ ("TO", "TO"),
559
+ ("TR", "TR"),
560
+ ("TT", "TT"),
561
+ ("TV", "TV"),
562
+ ("TW", "TW"),
563
+ ("TZ", "TZ"),
564
+ ("UA", "UA"),
565
+ ("UG", "UG"),
566
+ ("US", "US"),
567
+ ("UY", "UY"),
568
+ ("UZ", "UZ"),
569
+ ("VA", "VA"),
570
+ ("VC", "VC"),
571
+ ("VE", "VE"),
572
+ ("VG", "VG"),
573
+ ("VI", "VI"),
574
+ ("VN", "VN"),
575
+ ("VU", "VU"),
576
+ ("WS", "WS"),
577
+ ("XB", "XB"),
578
+ ("XC", "XC"),
579
+ ("XE", "XE"),
580
+ ("XM", "XM"),
581
+ ("XN", "XN"),
582
+ ("XS", "XS"),
583
+ ("XY", "XY"),
584
+ ("YE", "YE"),
585
+ ("YT", "YT"),
586
+ ("ZA", "ZA"),
587
+ ("ZM", "ZM"),
588
+ ("ZW", "ZW"),
589
+ ],
590
+ max_length=3,
591
+ null=True,
592
+ ),
593
+ ),
594
+ (
595
+ "origin_country",
596
+ models.CharField(
597
+ blank=True,
598
+ choices=[
599
+ ("EUR", "EUR"),
600
+ ("AED", "AED"),
601
+ ("USD", "USD"),
602
+ ("XCD", "XCD"),
603
+ ("AMD", "AMD"),
604
+ ("ANG", "ANG"),
605
+ ("AOA", "AOA"),
606
+ ("ARS", "ARS"),
607
+ ("AUD", "AUD"),
608
+ ("AWG", "AWG"),
609
+ ("AZN", "AZN"),
610
+ ("BAM", "BAM"),
611
+ ("BBD", "BBD"),
612
+ ("BDT", "BDT"),
613
+ ("XOF", "XOF"),
614
+ ("BGN", "BGN"),
615
+ ("BHD", "BHD"),
616
+ ("BIF", "BIF"),
617
+ ("BMD", "BMD"),
618
+ ("BND", "BND"),
619
+ ("BOB", "BOB"),
620
+ ("BRL", "BRL"),
621
+ ("BSD", "BSD"),
622
+ ("BTN", "BTN"),
623
+ ("BWP", "BWP"),
624
+ ("BYN", "BYN"),
625
+ ("BZD", "BZD"),
626
+ ("CAD", "CAD"),
627
+ ("CDF", "CDF"),
628
+ ("XAF", "XAF"),
629
+ ("CHF", "CHF"),
630
+ ("NZD", "NZD"),
631
+ ("CLP", "CLP"),
632
+ ("CNY", "CNY"),
633
+ ("COP", "COP"),
634
+ ("CRC", "CRC"),
635
+ ("CUC", "CUC"),
636
+ ("CVE", "CVE"),
637
+ ("CZK", "CZK"),
638
+ ("DJF", "DJF"),
639
+ ("DKK", "DKK"),
640
+ ("DOP", "DOP"),
641
+ ("DZD", "DZD"),
642
+ ("EGP", "EGP"),
643
+ ("ERN", "ERN"),
644
+ ("ETB", "ETB"),
645
+ ("FJD", "FJD"),
646
+ ("GBP", "GBP"),
647
+ ("GEL", "GEL"),
648
+ ("GHS", "GHS"),
649
+ ("GMD", "GMD"),
650
+ ("GNF", "GNF"),
651
+ ("GTQ", "GTQ"),
652
+ ("GYD", "GYD"),
653
+ ("HKD", "HKD"),
654
+ ("HNL", "HNL"),
655
+ ("HRK", "HRK"),
656
+ ("HTG", "HTG"),
657
+ ("HUF", "HUF"),
658
+ ("IDR", "IDR"),
659
+ ("ILS", "ILS"),
660
+ ("INR", "INR"),
661
+ ("IRR", "IRR"),
662
+ ("ISK", "ISK"),
663
+ ("JMD", "JMD"),
664
+ ("JOD", "JOD"),
665
+ ("JPY", "JPY"),
666
+ ("KES", "KES"),
667
+ ("KGS", "KGS"),
668
+ ("KHR", "KHR"),
669
+ ("KMF", "KMF"),
670
+ ("KPW", "KPW"),
671
+ ("KRW", "KRW"),
672
+ ("KWD", "KWD"),
673
+ ("KYD", "KYD"),
674
+ ("KZT", "KZT"),
675
+ ("LAK", "LAK"),
676
+ ("LKR", "LKR"),
677
+ ("LRD", "LRD"),
678
+ ("LSL", "LSL"),
679
+ ("LYD", "LYD"),
680
+ ("MAD", "MAD"),
681
+ ("MDL", "MDL"),
682
+ ("MGA", "MGA"),
683
+ ("MKD", "MKD"),
684
+ ("MMK", "MMK"),
685
+ ("MNT", "MNT"),
686
+ ("MOP", "MOP"),
687
+ ("MRO", "MRO"),
688
+ ("MUR", "MUR"),
689
+ ("MVR", "MVR"),
690
+ ("MWK", "MWK"),
691
+ ("MXN", "MXN"),
692
+ ("MYR", "MYR"),
693
+ ("MZN", "MZN"),
694
+ ("NAD", "NAD"),
695
+ ("XPF", "XPF"),
696
+ ("NGN", "NGN"),
697
+ ("NIO", "NIO"),
698
+ ("NOK", "NOK"),
699
+ ("NPR", "NPR"),
700
+ ("OMR", "OMR"),
701
+ ("PEN", "PEN"),
702
+ ("PGK", "PGK"),
703
+ ("PHP", "PHP"),
704
+ ("PKR", "PKR"),
705
+ ("PLN", "PLN"),
706
+ ("PYG", "PYG"),
707
+ ("QAR", "QAR"),
708
+ ("RSD", "RSD"),
709
+ ("RUB", "RUB"),
710
+ ("RWF", "RWF"),
711
+ ("SAR", "SAR"),
712
+ ("SBD", "SBD"),
713
+ ("SCR", "SCR"),
714
+ ("SDG", "SDG"),
715
+ ("SEK", "SEK"),
716
+ ("SGD", "SGD"),
717
+ ("SHP", "SHP"),
718
+ ("SLL", "SLL"),
719
+ ("SOS", "SOS"),
720
+ ("SRD", "SRD"),
721
+ ("SSP", "SSP"),
722
+ ("STD", "STD"),
723
+ ("SYP", "SYP"),
724
+ ("SZL", "SZL"),
725
+ ("THB", "THB"),
726
+ ("TJS", "TJS"),
727
+ ("TND", "TND"),
728
+ ("TOP", "TOP"),
729
+ ("TRY", "TRY"),
730
+ ("TTD", "TTD"),
731
+ ("TWD", "TWD"),
732
+ ("TZS", "TZS"),
733
+ ("UAH", "UAH"),
734
+ ("UYU", "UYU"),
735
+ ("UZS", "UZS"),
736
+ ("VEF", "VEF"),
737
+ ("VND", "VND"),
738
+ ("VUV", "VUV"),
739
+ ("WST", "WST"),
740
+ ("YER", "YER"),
741
+ ("ZAR", "ZAR"),
742
+ ],
743
+ max_length=3,
744
+ null=True,
745
+ ),
746
+ ),
747
+ (
748
+ "user",
749
+ models.ForeignKey(
750
+ on_delete=django.db.models.deletion.CASCADE,
751
+ to=settings.AUTH_USER_MODEL,
752
+ ),
753
+ ),
754
+ ],
755
+ options={
756
+ "verbose_name": "Commodity",
757
+ "verbose_name_plural": "Commodities",
758
+ "db_table": "commodity",
759
+ },
760
+ ),
761
+ migrations.CreateModel(
762
+ name="Customs",
763
+ fields=[
764
+ ("created_at", models.DateTimeField(auto_now_add=True)),
765
+ ("updated_at", models.DateTimeField(auto_now=True)),
766
+ (
767
+ "id",
768
+ models.CharField(
769
+ default=functools.partial(
770
+ karrio.server.core.models.uuid, *(), **{"prefix": "cst_"}
771
+ ),
772
+ editable=False,
773
+ max_length=50,
774
+ primary_key=True,
775
+ serialize=False,
776
+ ),
777
+ ),
778
+ ("aes", models.CharField(blank=True, max_length=20, null=True)),
779
+ ("eel_pfc", models.CharField(blank=True, max_length=20, null=True)),
780
+ ("certify", models.BooleanField(null=True)),
781
+ ("commercial_invoice", models.BooleanField(null=True)),
782
+ (
783
+ "certificate_number",
784
+ models.CharField(blank=True, max_length=50, null=True),
785
+ ),
786
+ (
787
+ "content_type",
788
+ models.CharField(blank=True, max_length=50, null=True),
789
+ ),
790
+ (
791
+ "content_description",
792
+ models.CharField(blank=True, max_length=20, null=True),
793
+ ),
794
+ ("incoterm", models.CharField(max_length=20)),
795
+ ("invoice", models.CharField(blank=True, max_length=50, null=True)),
796
+ ("signer", models.CharField(blank=True, max_length=50, null=True)),
797
+ (
798
+ "options",
799
+ jsonfield.fields.JSONField(blank=True, default={}, null=True),
800
+ ),
801
+ ],
802
+ options={
803
+ "verbose_name": "Customs Info",
804
+ "verbose_name_plural": "Customs Info",
805
+ "db_table": "customs",
806
+ },
807
+ ),
808
+ migrations.CreateModel(
809
+ name="Parcel",
810
+ fields=[
811
+ ("created_at", models.DateTimeField(auto_now_add=True)),
812
+ ("updated_at", models.DateTimeField(auto_now=True)),
813
+ (
814
+ "id",
815
+ models.CharField(
816
+ default=functools.partial(
817
+ karrio.server.core.models.uuid, *(), **{"prefix": "pcl_"}
818
+ ),
819
+ editable=False,
820
+ max_length=50,
821
+ primary_key=True,
822
+ serialize=False,
823
+ ),
824
+ ),
825
+ ("weight", models.FloatField(blank=True, null=True)),
826
+ ("width", models.FloatField(blank=True, null=True)),
827
+ ("height", models.FloatField(blank=True, null=True)),
828
+ ("length", models.FloatField(blank=True, null=True)),
829
+ (
830
+ "packaging_type",
831
+ models.CharField(blank=True, max_length=50, null=True),
832
+ ),
833
+ (
834
+ "package_preset",
835
+ models.CharField(blank=True, max_length=50, null=True),
836
+ ),
837
+ (
838
+ "description",
839
+ models.CharField(blank=True, max_length=250, null=True),
840
+ ),
841
+ ("content", models.CharField(blank=True, max_length=100, null=True)),
842
+ (
843
+ "is_document",
844
+ models.BooleanField(blank=True, default=False, null=True),
845
+ ),
846
+ (
847
+ "weight_unit",
848
+ models.CharField(
849
+ blank=True,
850
+ choices=[("KG", "KG"), ("LB", "LB")],
851
+ max_length=2,
852
+ null=True,
853
+ ),
854
+ ),
855
+ (
856
+ "dimension_unit",
857
+ models.CharField(
858
+ blank=True,
859
+ choices=[("CM", "CM"), ("IN", "IN")],
860
+ max_length=2,
861
+ null=True,
862
+ ),
863
+ ),
864
+ (
865
+ "user",
866
+ models.ForeignKey(
867
+ on_delete=django.db.models.deletion.CASCADE,
868
+ to=settings.AUTH_USER_MODEL,
869
+ ),
870
+ ),
871
+ ],
872
+ options={
873
+ "verbose_name": "Parcel",
874
+ "verbose_name_plural": "Parcels",
875
+ "db_table": "parcel",
876
+ },
877
+ ),
878
+ migrations.CreateModel(
879
+ name="Payment",
880
+ fields=[
881
+ ("created_at", models.DateTimeField(auto_now_add=True)),
882
+ ("updated_at", models.DateTimeField(auto_now=True)),
883
+ (
884
+ "id",
885
+ models.CharField(
886
+ default=functools.partial(
887
+ karrio.server.core.models.uuid, *(), **{"prefix": "pyt_"}
888
+ ),
889
+ editable=False,
890
+ max_length=50,
891
+ primary_key=True,
892
+ serialize=False,
893
+ ),
894
+ ),
895
+ ("amount", models.FloatField(blank=True, null=True)),
896
+ (
897
+ "paid_by",
898
+ models.CharField(
899
+ blank=True,
900
+ choices=[
901
+ ("sender", "sender"),
902
+ ("recipient", "recipient"),
903
+ ("third_party", "third_party"),
904
+ ("credit_card", "credit_card"),
905
+ ],
906
+ max_length=20,
907
+ null=True,
908
+ ),
909
+ ),
910
+ (
911
+ "currency",
912
+ models.CharField(
913
+ blank=True,
914
+ choices=[
915
+ ("EUR", "EUR"),
916
+ ("AED", "AED"),
917
+ ("USD", "USD"),
918
+ ("XCD", "XCD"),
919
+ ("AMD", "AMD"),
920
+ ("ANG", "ANG"),
921
+ ("AOA", "AOA"),
922
+ ("ARS", "ARS"),
923
+ ("AUD", "AUD"),
924
+ ("AWG", "AWG"),
925
+ ("AZN", "AZN"),
926
+ ("BAM", "BAM"),
927
+ ("BBD", "BBD"),
928
+ ("BDT", "BDT"),
929
+ ("XOF", "XOF"),
930
+ ("BGN", "BGN"),
931
+ ("BHD", "BHD"),
932
+ ("BIF", "BIF"),
933
+ ("BMD", "BMD"),
934
+ ("BND", "BND"),
935
+ ("BOB", "BOB"),
936
+ ("BRL", "BRL"),
937
+ ("BSD", "BSD"),
938
+ ("BTN", "BTN"),
939
+ ("BWP", "BWP"),
940
+ ("BYN", "BYN"),
941
+ ("BZD", "BZD"),
942
+ ("CAD", "CAD"),
943
+ ("CDF", "CDF"),
944
+ ("XAF", "XAF"),
945
+ ("CHF", "CHF"),
946
+ ("NZD", "NZD"),
947
+ ("CLP", "CLP"),
948
+ ("CNY", "CNY"),
949
+ ("COP", "COP"),
950
+ ("CRC", "CRC"),
951
+ ("CUC", "CUC"),
952
+ ("CVE", "CVE"),
953
+ ("CZK", "CZK"),
954
+ ("DJF", "DJF"),
955
+ ("DKK", "DKK"),
956
+ ("DOP", "DOP"),
957
+ ("DZD", "DZD"),
958
+ ("EGP", "EGP"),
959
+ ("ERN", "ERN"),
960
+ ("ETB", "ETB"),
961
+ ("FJD", "FJD"),
962
+ ("GBP", "GBP"),
963
+ ("GEL", "GEL"),
964
+ ("GHS", "GHS"),
965
+ ("GMD", "GMD"),
966
+ ("GNF", "GNF"),
967
+ ("GTQ", "GTQ"),
968
+ ("GYD", "GYD"),
969
+ ("HKD", "HKD"),
970
+ ("HNL", "HNL"),
971
+ ("HRK", "HRK"),
972
+ ("HTG", "HTG"),
973
+ ("HUF", "HUF"),
974
+ ("IDR", "IDR"),
975
+ ("ILS", "ILS"),
976
+ ("INR", "INR"),
977
+ ("IRR", "IRR"),
978
+ ("ISK", "ISK"),
979
+ ("JMD", "JMD"),
980
+ ("JOD", "JOD"),
981
+ ("JPY", "JPY"),
982
+ ("KES", "KES"),
983
+ ("KGS", "KGS"),
984
+ ("KHR", "KHR"),
985
+ ("KMF", "KMF"),
986
+ ("KPW", "KPW"),
987
+ ("KRW", "KRW"),
988
+ ("KWD", "KWD"),
989
+ ("KYD", "KYD"),
990
+ ("KZT", "KZT"),
991
+ ("LAK", "LAK"),
992
+ ("LKR", "LKR"),
993
+ ("LRD", "LRD"),
994
+ ("LSL", "LSL"),
995
+ ("LYD", "LYD"),
996
+ ("MAD", "MAD"),
997
+ ("MDL", "MDL"),
998
+ ("MGA", "MGA"),
999
+ ("MKD", "MKD"),
1000
+ ("MMK", "MMK"),
1001
+ ("MNT", "MNT"),
1002
+ ("MOP", "MOP"),
1003
+ ("MRO", "MRO"),
1004
+ ("MUR", "MUR"),
1005
+ ("MVR", "MVR"),
1006
+ ("MWK", "MWK"),
1007
+ ("MXN", "MXN"),
1008
+ ("MYR", "MYR"),
1009
+ ("MZN", "MZN"),
1010
+ ("NAD", "NAD"),
1011
+ ("XPF", "XPF"),
1012
+ ("NGN", "NGN"),
1013
+ ("NIO", "NIO"),
1014
+ ("NOK", "NOK"),
1015
+ ("NPR", "NPR"),
1016
+ ("OMR", "OMR"),
1017
+ ("PEN", "PEN"),
1018
+ ("PGK", "PGK"),
1019
+ ("PHP", "PHP"),
1020
+ ("PKR", "PKR"),
1021
+ ("PLN", "PLN"),
1022
+ ("PYG", "PYG"),
1023
+ ("QAR", "QAR"),
1024
+ ("RSD", "RSD"),
1025
+ ("RUB", "RUB"),
1026
+ ("RWF", "RWF"),
1027
+ ("SAR", "SAR"),
1028
+ ("SBD", "SBD"),
1029
+ ("SCR", "SCR"),
1030
+ ("SDG", "SDG"),
1031
+ ("SEK", "SEK"),
1032
+ ("SGD", "SGD"),
1033
+ ("SHP", "SHP"),
1034
+ ("SLL", "SLL"),
1035
+ ("SOS", "SOS"),
1036
+ ("SRD", "SRD"),
1037
+ ("SSP", "SSP"),
1038
+ ("STD", "STD"),
1039
+ ("SYP", "SYP"),
1040
+ ("SZL", "SZL"),
1041
+ ("THB", "THB"),
1042
+ ("TJS", "TJS"),
1043
+ ("TND", "TND"),
1044
+ ("TOP", "TOP"),
1045
+ ("TRY", "TRY"),
1046
+ ("TTD", "TTD"),
1047
+ ("TWD", "TWD"),
1048
+ ("TZS", "TZS"),
1049
+ ("UAH", "UAH"),
1050
+ ("UYU", "UYU"),
1051
+ ("UZS", "UZS"),
1052
+ ("VEF", "VEF"),
1053
+ ("VND", "VND"),
1054
+ ("VUV", "VUV"),
1055
+ ("WST", "WST"),
1056
+ ("YER", "YER"),
1057
+ ("ZAR", "ZAR"),
1058
+ ],
1059
+ max_length=3,
1060
+ null=True,
1061
+ ),
1062
+ ),
1063
+ (
1064
+ "account_number",
1065
+ models.CharField(blank=True, max_length=50, null=True),
1066
+ ),
1067
+ (
1068
+ "contact",
1069
+ models.ForeignKey(
1070
+ blank=True,
1071
+ null=True,
1072
+ on_delete=django.db.models.deletion.CASCADE,
1073
+ to="manager.address",
1074
+ ),
1075
+ ),
1076
+ (
1077
+ "user",
1078
+ models.ForeignKey(
1079
+ on_delete=django.db.models.deletion.CASCADE,
1080
+ to=settings.AUTH_USER_MODEL,
1081
+ ),
1082
+ ),
1083
+ ],
1084
+ options={
1085
+ "verbose_name": "Payment",
1086
+ "verbose_name_plural": "Payments",
1087
+ "db_table": "payment",
1088
+ },
1089
+ ),
1090
+ migrations.CreateModel(
1091
+ name="Tracking",
1092
+ fields=[
1093
+ ("created_at", models.DateTimeField(auto_now_add=True)),
1094
+ ("updated_at", models.DateTimeField(auto_now=True)),
1095
+ (
1096
+ "id",
1097
+ models.CharField(
1098
+ default=functools.partial(
1099
+ karrio.server.core.models.uuid, *(), **{"prefix": "trk_"}
1100
+ ),
1101
+ editable=False,
1102
+ max_length=50,
1103
+ primary_key=True,
1104
+ serialize=False,
1105
+ ),
1106
+ ),
1107
+ ("tracking_number", models.CharField(max_length=50, unique=True)),
1108
+ (
1109
+ "events",
1110
+ jsonfield.fields.JSONField(blank=True, default=[], null=True),
1111
+ ),
1112
+ ("test_mode", models.BooleanField()),
1113
+ (
1114
+ "tracking_carrier",
1115
+ models.ForeignKey(
1116
+ on_delete=django.db.models.deletion.CASCADE,
1117
+ to="providers.carrier",
1118
+ ),
1119
+ ),
1120
+ (
1121
+ "user",
1122
+ models.ForeignKey(
1123
+ on_delete=django.db.models.deletion.CASCADE,
1124
+ to=settings.AUTH_USER_MODEL,
1125
+ ),
1126
+ ),
1127
+ ],
1128
+ options={
1129
+ "verbose_name": "Tracking Satus",
1130
+ "verbose_name_plural": "Tracking Statuses",
1131
+ "db_table": "tracking-status",
1132
+ },
1133
+ ),
1134
+ migrations.CreateModel(
1135
+ name="Shipment",
1136
+ fields=[
1137
+ ("created_at", models.DateTimeField(auto_now_add=True)),
1138
+ ("updated_at", models.DateTimeField(auto_now=True)),
1139
+ (
1140
+ "id",
1141
+ models.CharField(
1142
+ default=functools.partial(
1143
+ karrio.server.core.models.uuid, *(), **{"prefix": "shp_"}
1144
+ ),
1145
+ editable=False,
1146
+ max_length=50,
1147
+ primary_key=True,
1148
+ serialize=False,
1149
+ ),
1150
+ ),
1151
+ (
1152
+ "status",
1153
+ models.CharField(
1154
+ choices=[
1155
+ ("created", "created"),
1156
+ ("purchased", "purchased"),
1157
+ ("transit", "transit"),
1158
+ ("delivered", "delivered"),
1159
+ ],
1160
+ default="created",
1161
+ max_length=50,
1162
+ ),
1163
+ ),
1164
+ (
1165
+ "tracking_number",
1166
+ models.CharField(blank=True, max_length=50, null=True),
1167
+ ),
1168
+ (
1169
+ "shipment_identifier",
1170
+ models.CharField(blank=True, max_length=50, null=True),
1171
+ ),
1172
+ ("label", models.TextField(blank=True, null=True)),
1173
+ ("tracking_url", models.TextField(blank=True, null=True)),
1174
+ ("test_mode", models.BooleanField()),
1175
+ ("selected_rate", jsonfield.fields.JSONField(blank=True, null=True)),
1176
+ (
1177
+ "options",
1178
+ jsonfield.fields.JSONField(blank=True, default={}, null=True),
1179
+ ),
1180
+ (
1181
+ "services",
1182
+ jsonfield.fields.JSONField(blank=True, default=[], null=True),
1183
+ ),
1184
+ (
1185
+ "doc_images",
1186
+ jsonfield.fields.JSONField(blank=True, default=[], null=True),
1187
+ ),
1188
+ ("meta", jsonfield.fields.JSONField(blank=True, default={}, null=True)),
1189
+ (
1190
+ "shipment_rates",
1191
+ jsonfield.fields.JSONField(blank=True, default=[], null=True),
1192
+ ),
1193
+ (
1194
+ "carriers",
1195
+ models.ManyToManyField(
1196
+ blank=True,
1197
+ related_name="rating_carriers",
1198
+ to="providers.Carrier",
1199
+ ),
1200
+ ),
1201
+ (
1202
+ "customs",
1203
+ models.ForeignKey(
1204
+ blank=True,
1205
+ null=True,
1206
+ on_delete=django.db.models.deletion.CASCADE,
1207
+ to="manager.customs",
1208
+ ),
1209
+ ),
1210
+ (
1211
+ "payment",
1212
+ models.ForeignKey(
1213
+ blank=True,
1214
+ null=True,
1215
+ on_delete=django.db.models.deletion.CASCADE,
1216
+ to="manager.payment",
1217
+ ),
1218
+ ),
1219
+ (
1220
+ "recipient",
1221
+ models.ForeignKey(
1222
+ on_delete=django.db.models.deletion.CASCADE,
1223
+ related_name="recipient",
1224
+ to="manager.address",
1225
+ ),
1226
+ ),
1227
+ (
1228
+ "selected_rate_carrier",
1229
+ models.ForeignKey(
1230
+ blank=True,
1231
+ null=True,
1232
+ on_delete=django.db.models.deletion.CASCADE,
1233
+ related_name="selected_rate_carrier",
1234
+ to="providers.carrier",
1235
+ ),
1236
+ ),
1237
+ (
1238
+ "shipment_parcels",
1239
+ models.ManyToManyField(
1240
+ related_name="shipment_parcels", to="manager.Parcel"
1241
+ ),
1242
+ ),
1243
+ (
1244
+ "shipper",
1245
+ models.ForeignKey(
1246
+ on_delete=django.db.models.deletion.CASCADE,
1247
+ related_name="shipper",
1248
+ to="manager.address",
1249
+ ),
1250
+ ),
1251
+ (
1252
+ "user",
1253
+ models.ForeignKey(
1254
+ on_delete=django.db.models.deletion.CASCADE,
1255
+ to=settings.AUTH_USER_MODEL,
1256
+ ),
1257
+ ),
1258
+ ],
1259
+ options={
1260
+ "verbose_name": "Shipment",
1261
+ "verbose_name_plural": "Shipments",
1262
+ "db_table": "shipment",
1263
+ },
1264
+ ),
1265
+ migrations.CreateModel(
1266
+ name="Pickup",
1267
+ fields=[
1268
+ ("created_at", models.DateTimeField(auto_now_add=True)),
1269
+ ("updated_at", models.DateTimeField(auto_now=True)),
1270
+ (
1271
+ "id",
1272
+ models.CharField(
1273
+ default=functools.partial(
1274
+ karrio.server.core.models.uuid, *(), **{"prefix": "pck_"}
1275
+ ),
1276
+ editable=False,
1277
+ max_length=50,
1278
+ primary_key=True,
1279
+ serialize=False,
1280
+ ),
1281
+ ),
1282
+ ("confirmation_number", models.CharField(max_length=50, unique=True)),
1283
+ ("test_mode", models.BooleanField()),
1284
+ ("pickup_date", models.DateField()),
1285
+ ("ready_time", models.CharField(max_length=5)),
1286
+ ("closing_time", models.CharField(max_length=5)),
1287
+ (
1288
+ "instruction",
1289
+ models.CharField(blank=True, max_length=200, null=True),
1290
+ ),
1291
+ (
1292
+ "package_location",
1293
+ models.CharField(blank=True, max_length=200, null=True),
1294
+ ),
1295
+ (
1296
+ "options",
1297
+ jsonfield.fields.JSONField(blank=True, default={}, null=True),
1298
+ ),
1299
+ ("pickup_charge", jsonfield.fields.JSONField(blank=True, null=True)),
1300
+ (
1301
+ "address",
1302
+ models.ForeignKey(
1303
+ blank=True,
1304
+ null=True,
1305
+ on_delete=django.db.models.deletion.CASCADE,
1306
+ to="manager.address",
1307
+ ),
1308
+ ),
1309
+ (
1310
+ "pickup_carrier",
1311
+ models.ForeignKey(
1312
+ on_delete=django.db.models.deletion.CASCADE,
1313
+ to="providers.carrier",
1314
+ ),
1315
+ ),
1316
+ (
1317
+ "shipments",
1318
+ models.ManyToManyField(
1319
+ related_name="pickup_shipments", to="manager.Shipment"
1320
+ ),
1321
+ ),
1322
+ (
1323
+ "user",
1324
+ models.ForeignKey(
1325
+ on_delete=django.db.models.deletion.CASCADE,
1326
+ to=settings.AUTH_USER_MODEL,
1327
+ ),
1328
+ ),
1329
+ ],
1330
+ options={
1331
+ "verbose_name": "Pickup",
1332
+ "verbose_name_plural": "Pickups",
1333
+ "db_table": "pickup",
1334
+ },
1335
+ ),
1336
+ migrations.AddField(
1337
+ model_name="customs",
1338
+ name="duty",
1339
+ field=models.ForeignKey(
1340
+ blank=True,
1341
+ null=True,
1342
+ on_delete=django.db.models.deletion.CASCADE,
1343
+ to="manager.payment",
1344
+ ),
1345
+ ),
1346
+ migrations.AddField(
1347
+ model_name="customs",
1348
+ name="shipment_commodities",
1349
+ field=models.ManyToManyField(blank=True, to="manager.Commodity"),
1350
+ ),
1351
+ migrations.AddField(
1352
+ model_name="customs",
1353
+ name="user",
1354
+ field=models.ForeignKey(
1355
+ on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL
1356
+ ),
1357
+ ),
1358
+ ]