@fleetbase/fleetops-engine 0.4.17 → 0.4.18

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.
@@ -1,65 +1,5 @@
1
1
  <?php
2
2
 
3
- $defaultFlow = [
4
- 'created' => [
5
- 'sequence' => 0,
6
- 'color' => 'green',
7
- 'events' => [
8
- [
9
- 'status' => 'Order dispatched',
10
- 'details' => 'Order has been dispatched to driver',
11
- 'code' => 'dispatched',
12
- ],
13
- ]
14
- ],
15
- 'dispatched' => [
16
- 'sequence' => 0,
17
- 'color' => 'green',
18
- 'events' => [
19
- [
20
- 'status' => 'Driver en-route',
21
- 'details' => 'Driver en-route to location',
22
- 'code' => 'driver_enroute',
23
- ],
24
- ]
25
- ],
26
- 'driver_enroute' => [
27
- 'sequence' => 0,
28
- 'color' => 'green',
29
- 'events' => [
30
- [
31
- 'status' => 'Order completed',
32
- 'details' => 'Driver has completed order',
33
- 'code' => 'completed',
34
- ],
35
- ]
36
- ],
37
- // waypoint drop order statuses
38
- 'waypoint|dispatched' => [
39
-
40
- 'sequence' => 0,
41
- 'color' => 'green',
42
- 'events' => [
43
- [
44
- 'status' => 'Driver en-route to {waypoint.ordinalIndex} waypoint',
45
- 'details' => 'Driver en-route to {waypoint.address}',
46
- 'code' => 'driver_enroute',
47
- ],
48
- ]
49
- ],
50
- 'waypoint|driver_enroute' => [
51
- 'sequence' => 0,
52
- 'color' => 'green',
53
- 'events' => [
54
- [
55
- 'status' => 'Order delivered for {waypoint.ordinalIndex} waypoint',
56
- 'details' => 'Driver has completed delivery to {waypoint.address}',
57
- 'code' => 'completed',
58
- ],
59
- ]
60
- ]
61
- ];
62
-
63
3
  return [
64
4
  /*
65
5
  |--------------------------------------------------------------------------
@@ -159,600 +99,13 @@ return [
159
99
  'zone.deleted',
160
100
  ],
161
101
 
162
- /*
163
- |--------------------------------------------------------------------------
164
- | API Resource Types
165
- |--------------------------------------------------------------------------
166
- */
167
-
168
- 'types' => [
169
- 'contact' => [
170
- [
171
- 'name' => 'Customer',
172
- 'key' => 'customer',
173
- ],
174
- [
175
- 'name' => 'Contractor',
176
- 'key' => 'contractor',
177
- ],
178
- ],
179
-
180
- 'order' => [
181
- [
182
- 'name' => 'Transport',
183
- 'description' => 'Operational flow for standard A to B transport.',
184
- 'key' => 'default',
185
- 'meta_type' => 'order_config',
186
- 'meta' => [
187
- 'flow' => $defaultFlow,
188
- ],
189
- ],
190
- [
191
- 'name' => 'Parcel Delivery',
192
- 'description' => 'Operational flow for standard A to B parcel delivery, with proof of delivery options.',
193
- 'key' => 'parcel',
194
- 'meta_type' => 'order_config',
195
- 'meta' => [
196
- 'flow' => $defaultFlow,
197
- 'require_pod' => true,
198
- 'pod_method' => 'signature', // scan / signature
199
- ],
200
- ],
201
- [
202
- 'name' => 'Passenger Transport',
203
- 'description' => 'Operational flow for standard A to B passenger transport.',
204
- 'key' => 'passenger',
205
- 'meta_type' => 'order_config',
206
- 'meta' => [
207
- 'flow' => $defaultFlow,
208
- ],
209
- ],
210
- [
211
- 'name' => 'Task',
212
- 'description' => 'Operational flow for custom task or service tasks.',
213
- 'key' => 'task',
214
- 'meta_type' => 'order_config',
215
- 'meta' => [
216
- 'flow' => $defaultFlow,
217
- ],
218
- ],
219
- [
220
- 'name' => 'Food Delivery',
221
- 'description' => 'Operational flow for food delivery.',
222
- 'key' => 'food',
223
- 'meta_type' => 'order_config',
224
- 'meta' => [
225
- 'flow' => $defaultFlow,
226
- ],
227
- ],
228
- [
229
- 'name' => 'Ecommerce',
230
- 'description' => 'Operational flow for ondemand ecommerce.',
231
- 'key' => 'ecommerce',
232
- 'meta_type' => 'order_config',
233
- 'meta' => [
234
- 'flow' => $defaultFlow,
235
- ],
236
- ],
237
- [
238
- 'name' => 'Haulage',
239
- 'description' => 'Operational flow for freight container transport.',
240
- 'key' => 'haul',
241
- 'meta_type' => 'order_config',
242
- 'meta' => [
243
- 'fields' => [
244
- [
245
- 'label' => 'BL Number',
246
- 'key' => 'bl_number',
247
- 'type' => 'text',
248
- 'removable' => false,
249
- 'required' => true,
250
- 'group' => 'info',
251
- ],
252
- [
253
- 'label' => 'Job Type',
254
- 'key' => 'job_type',
255
- 'type' => 'select',
256
- 'options' => [
257
- [
258
- 'value' => 'import'
259
- ],
260
- [
261
- 'value' => 'export'
262
- ],
263
- [
264
- 'value' => 'one_way'
265
- ]
266
- ],
267
- 'removable' => false,
268
- 'required' => true,
269
- 'group' => 'info',
270
- ],
271
- [
272
- 'label' => 'DSTN Port',
273
- 'key' => 'dstn_port',
274
- 'type' => 'port',
275
- 'serialize' => 'model:port',
276
- 'removable' => false,
277
- 'required' => true,
278
- 'group' => 'info',
279
- ],
280
- [
281
- 'label' => 'Vessel',
282
- 'key' => 'vessel',
283
- 'type' => 'vessel',
284
- 'serialize' => 'model:vessel',
285
- 'removable' => false,
286
- 'required' => true,
287
- 'group' => 'vessel',
288
- ],
289
- [
290
- 'label' => 'Vessel ETA',
291
- 'key' => 'vessel_eta',
292
- 'type' => 'datetime',
293
- 'removable' => false,
294
- 'required' => true,
295
- 'group' => 'vessel',
296
- ],
297
- [
298
- 'label' => 'Vessel ETD',
299
- 'key' => 'vessel_etd',
300
- 'type' => 'datetime',
301
- 'removable' => false,
302
- 'required' => true,
303
- 'group' => 'vessel',
304
- ],
305
- [
306
- 'label' => 'Voyage Number',
307
- 'key' => 'voyage_number',
308
- 'type' => 'text',
309
- 'removable' => false,
310
- 'required' => true,
311
- 'group' => 'vessel',
312
- ],
313
- ],
314
- 'flow' => [
315
- 'created' => [
316
- 'sequence' => 0,
317
- 'color' => 'green',
318
- 'events' => [
319
- [
320
- 'if' => [['meta.job_type', '=', 'import']],
321
- 'status' => 'In port',
322
- 'details' => 'Driver has entered the port',
323
- 'code' => 'driver_started',
324
- ],
325
- [
326
- 'if' => [['meta.job_type', '=', 'export']],
327
- 'status' => 'In depot',
328
- 'details' => 'Driver has entered the depot',
329
- 'code' => 'driver_started',
330
- ],
331
- [
332
- 'if' => [['meta.job_type', '=', 'one_way']],
333
- 'status' => 'Container picked up',
334
- 'details' => 'Driver has picked up the container',
335
- 'code' => 'driver_started',
336
- ],
337
- ],
338
- ],
339
- 'driver_started' => [
340
- 'sequence' => 0,
341
- 'color' => 'green',
342
- 'events' => [
343
- [
344
- 'if' => [['meta.job_type', '=', 'import']],
345
- 'status' => 'Out port',
346
- 'details' => 'Laden container collected from the port',
347
- 'code' => 'container_collected',
348
- ],
349
- [
350
- 'if' => [['meta.job_type', '=', 'export']],
351
- 'status' => 'Out depot',
352
- 'details' => 'Driver has entered the depot',
353
- 'code' => 'container_collected',
354
- ],
355
- [
356
- 'if' => [['meta.job_type', '=', 'one_way']],
357
- 'status' => 'Container dropped off',
358
- 'details' => 'Driver has delivered the container',
359
- 'code' => 'container_sent',
360
- 'completed' => 1,
361
- ],
362
- ]
363
- ],
364
- 'container_collected' => [
365
- 'sequence' => 0,
366
- 'color' => 'green',
367
- 'events' => [
368
- [
369
- 'if' => [['meta.job_type', '=', 'import']],
370
- 'status' => 'With consignee',
371
- 'details' => 'Container with consignee',
372
- 'code' => 'container_unloading',
373
- ],
374
- [
375
- 'if' => [['meta.job_type', '=', 'export']],
376
- 'status' => 'With shipper',
377
- 'details' => 'Container with shipper',
378
- 'code' => 'container_loading',
379
- ],
380
- ]
381
- ],
382
- 'container_unloading' => [
383
- 'sequence' => 0,
384
- 'color' => 'green',
385
- 'events' => [
386
- [
387
- 'status' => 'Out consignee',
388
- 'details' => 'Container out of consignee',
389
- 'code' => 'container_returning',
390
- ],
391
- ]
392
- ],
393
- 'container_loading' => [
394
- 'sequence' => 0,
395
- 'color' => 'green',
396
- 'events' => [
397
- [
398
- 'status' => 'Out shipper',
399
- 'details' => 'Container out of shipper',
400
- 'code' => 'container_exporting',
401
- ],
402
- ]
403
- ],
404
- 'container_returning' => [
405
- 'sequence' => 0,
406
- 'color' => 'green',
407
- 'events' => [
408
- [
409
- 'status' => 'Returned to depot',
410
- 'details' => 'MT container returned to depot',
411
- 'code' => 'container_returned',
412
- 'completed' => 1,
413
- ],
414
- ]
415
- ],
416
- 'container_exporting' => [
417
- 'sequence' => 0,
418
- 'color' => 'green',
419
- 'events' => [
420
- [
421
- 'status' => 'In port',
422
- 'details' => 'Laden container sent for export',
423
- 'code' => 'container_sent',
424
- 'completed' => 1,
425
- ],
426
- ]
427
- ],
428
- ],
429
- 'entities' => [
430
- [
431
- 'name' => '20 FT FLAT RACK',
432
- 'type' => 'container',
433
- 'description' => '20FR',
434
- 'weight' => '16800',
435
- 'weight_unit' => 'kg',
436
- 'length' => '20',
437
- 'width' => '8.6',
438
- 'height' => '8.6',
439
- 'dimentions_unit' => 'ft',
440
- 'meta' => [
441
- 'type' => 'FR',
442
- ],
443
- ],
444
- [
445
- 'name' => '20 FT X 8\'6',
446
- 'type' => 'container',
447
- 'description' => '20GP',
448
- 'weight' => '16800',
449
- 'weight_unit' => 'kg',
450
- 'length' => '20',
451
- 'width' => '8.6',
452
- 'height' => '8.6',
453
- 'dimentions_unit' => 'ft',
454
- 'meta' => [
455
- 'type' => 'GP',
456
- ],
457
- ],
458
- [
459
- 'name' => '20 FT X 9\'6',
460
- 'type' => 'container',
461
- 'description' => '20HC',
462
- 'weight' => '16800',
463
- 'weight_unit' => 'kg',
464
- 'length' => '20',
465
- 'width' => '8.6',
466
- 'height' => '8.6',
467
- 'dimentions_unit' => 'ft',
468
- 'meta' => [
469
- 'type' => 'HC',
470
- ],
471
- ],
472
- [
473
- 'name' => '20 FT X 9\'6',
474
- 'type' => 'container',
475
- 'description' => '20HR',
476
- 'weight' => '16800',
477
- 'weight_unit' => 'kg',
478
- 'length' => '20',
479
- 'width' => '8.6',
480
- 'height' => '8.6',
481
- 'dimentions_unit' => 'ft',
482
- 'meta' => [
483
- 'type' => 'HR',
484
- ],
485
- ],
486
- [
487
- 'name' => '20 FT X 9\'6',
488
- 'type' => 'container',
489
- 'description' => '20OH',
490
- 'weight' => '16800',
491
- 'weight_unit' => 'kg',
492
- 'length' => '20',
493
- 'width' => '8.6',
494
- 'height' => '8.6',
495
- 'dimentions_unit' => 'ft',
496
- 'meta' => [
497
- 'type' => 'OH',
498
- ],
499
- ],
500
- [
501
- 'name' => '20 FT X 8\'6',
502
- 'type' => 'container',
503
- 'description' => '20OT',
504
- 'weight' => '16800',
505
- 'weight_unit' => 'kg',
506
- 'length' => '20',
507
- 'width' => '8.6',
508
- 'height' => '8.6',
509
- 'dimentions_unit' => 'ft',
510
- 'meta' => [
511
- 'type' => 'OT',
512
- ],
513
- ],
514
- [
515
- 'name' => '20 FT X 8\'6',
516
- 'type' => 'container',
517
- 'description' => '20RF',
518
- 'weight' => '16800',
519
- 'weight_unit' => 'kg',
520
- 'length' => '20',
521
- 'width' => '8.6',
522
- 'height' => '8.6',
523
- 'dimentions_unit' => 'ft',
524
- 'meta' => [
525
- 'type' => 'RF',
526
- ],
527
- ],
528
- [
529
- 'name' => '20 FT X 8\'6',
530
- 'type' => 'container',
531
- 'description' => '20TK',
532
- 'weight' => '16800',
533
- 'weight_unit' => 'kg',
534
- 'length' => '20',
535
- 'width' => '8.6',
536
- 'height' => '8.6',
537
- 'dimentions_unit' => 'ft',
538
- 'meta' => [
539
- 'type' => 'TK',
540
- ],
541
- ],
542
- [
543
- 'name' => '40 FT X 8\'6',
544
- 'type' => 'container',
545
- 'description' => '40FR',
546
- 'weight' => '16800',
547
- 'weight_unit' => 'kg',
548
- 'length' => '20',
549
- 'width' => '8.6',
550
- 'height' => '8.6',
551
- 'dimentions_unit' => 'ft',
552
- 'meta' => [
553
- 'type' => 'FR',
554
- ],
555
- ],
556
- [
557
- 'name' => '40 FT X 8\'6',
558
- 'type' => 'container',
559
- 'description' => '40GP',
560
- 'weight' => '16800',
561
- 'weight_unit' => 'kg',
562
- 'length' => '20',
563
- 'width' => '8.6',
564
- 'height' => '8.6',
565
- 'dimentions_unit' => 'ft',
566
- 'meta' => [
567
- 'type' => 'GP',
568
- ],
569
- ],
570
- [
571
- 'name' => '40 FT X 9\'6',
572
- 'type' => 'container',
573
- 'description' => '40HC',
574
- 'weight' => '16800',
575
- 'weight_unit' => 'kg',
576
- 'length' => '20',
577
- 'width' => '8.6',
578
- 'height' => '8.6',
579
- 'dimentions_unit' => 'ft',
580
- 'meta' => [
581
- 'type' => 'HC',
582
- ],
583
- ],
584
- [
585
- 'name' => '40 FT X 9\'6',
586
- 'type' => 'container',
587
- 'description' => '40HF',
588
- 'weight' => '16800',
589
- 'weight_unit' => 'kg',
590
- 'length' => '20',
591
- 'width' => '8.6',
592
- 'height' => '8.6',
593
- 'dimentions_unit' => 'ft',
594
- 'meta' => [
595
- 'type' => 'FR',
596
- ],
597
- ],
598
- [
599
- 'name' => '40 FT X 9\'6',
600
- 'type' => 'container',
601
- 'description' => '40HR',
602
- 'weight' => '16800',
603
- 'weight_unit' => 'kg',
604
- 'length' => '20',
605
- 'width' => '8.6',
606
- 'height' => '8.6',
607
- 'dimentions_unit' => 'ft',
608
- 'meta' => [
609
- 'type' => 'RF',
610
- ],
611
- ],
612
- [
613
- 'name' => '40 FT X 9\'6',
614
- 'type' => 'container',
615
- 'description' => '40HT',
616
- 'weight' => '16800',
617
- 'weight_unit' => 'kg',
618
- 'length' => '20',
619
- 'width' => '8.6',
620
- 'height' => '8.6',
621
- 'dimentions_unit' => 'ft',
622
- 'meta' => [
623
- 'type' => 'HT',
624
- ],
625
- ],
626
- [
627
- 'name' => '40 FT X 8\'6',
628
- 'type' => 'container',
629
- 'description' => '40OT',
630
- 'weight' => '16800',
631
- 'weight_unit' => 'kg',
632
- 'length' => '20',
633
- 'width' => '8.6',
634
- 'height' => '8.6',
635
- 'dimentions_unit' => 'ft',
636
- 'meta' => [
637
- 'type' => 'OT',
638
- ],
639
- ],
640
- [
641
- 'name' => 'PLAT FORM',
642
- 'type' => 'container',
643
- 'description' => '40PL',
644
- 'weight' => '16800',
645
- 'weight_unit' => 'kg',
646
- 'length' => '20',
647
- 'width' => '8.6',
648
- 'height' => '8.6',
649
- 'dimentions_unit' => 'ft',
650
- 'meta' => [
651
- 'type' => 'PL',
652
- ],
653
- ],
654
- [
655
- 'name' => '40 FT X 8\'6',
656
- 'type' => 'container',
657
- 'description' => '40RF',
658
- 'weight' => '16800',
659
- 'weight_unit' => 'kg',
660
- 'length' => '20',
661
- 'width' => '8.6',
662
- 'height' => '8.6',
663
- 'dimentions_unit' => 'ft',
664
- 'meta' => [
665
- 'type' => 'RF',
666
- ],
667
- ],
668
- [
669
- 'name' => '45 FT X 9\'611 GENERAL PURPOSE',
670
- 'type' => 'container',
671
- 'description' => '45GP',
672
- 'weight' => '16800',
673
- 'weight_unit' => 'kg',
674
- 'length' => '20',
675
- 'width' => '8.6',
676
- 'height' => '8.6',
677
- 'dimentions_unit' => 'ft',
678
- 'meta' => [
679
- 'type' => 'GP',
680
- ],
681
- ],
682
- [
683
- 'name' => '45 FT X 9\'611 HIGH CUBE',
684
- 'type' => 'container',
685
- 'description' => '45HC',
686
- 'weight' => '16800',
687
- 'weight_unit' => 'kg',
688
- 'length' => '20',
689
- 'width' => '8.6',
690
- 'height' => '8.6',
691
- 'dimentions_unit' => 'ft',
692
- 'meta' => [
693
- 'type' => 'HC',
694
- ],
695
- ],
696
- [
697
- 'name' => 'CHASSIS',
698
- 'type' => 'container',
699
- 'description' => 'CHASSIS',
700
- 'weight' => '16800',
701
- 'weight_unit' => 'kg',
702
- 'length' => '20',
703
- 'width' => '8.6',
704
- 'height' => '8.6',
705
- 'dimentions_unit' => 'ft',
706
- 'meta' => [
707
- 'type' => 'CHASSIS',
708
- ],
709
- ],
710
- ],
711
- ],
712
- ],
713
- ],
714
-
715
- 'entity' => [
716
- [
717
- 'name' => 'Parcel',
718
- 'key' => 'parcel',
719
- 'fields' => [''],
720
- ],
721
- [
722
- 'name' => 'Passenger',
723
- 'key' => 'passenger',
724
- 'fields' => [],
725
- ],
726
- [
727
- 'name' => 'Task',
728
- 'key' => 'task',
729
- 'fields' => [],
730
- ],
731
- [
732
- 'name' => 'Food',
733
- 'key' => 'food',
734
- 'fields' => [],
735
- ],
736
- [
737
- 'name' => 'Product',
738
- 'key' => 'product',
739
- 'fields' => [],
740
- ],
741
- [
742
- 'name' => 'Haulage',
743
- 'key' => 'haul',
744
- 'fields' => [],
745
- ],
746
- ],
747
- ],
748
-
749
102
  /*
750
103
  |--------------------------------------------------------------------------
751
104
  | Proof of Delivery Methods
752
105
  |--------------------------------------------------------------------------
753
106
  */
754
107
 
755
- 'pod_methods' => 'scan,signature',
108
+ 'pod_methods' => 'scan,signature,photo',
756
109
 
757
110
  /*
758
111
  |--------------------------------------------------------------------------
@@ -760,6 +113,6 @@ return [
760
113
  |--------------------------------------------------------------------------
761
114
  */
762
115
 
763
- 'versions' => ['2020-09-30'],
764
- 'version' => '2020-09-30', // current version
116
+ 'versions' => ['2020-09-30', '2024-03-12'],
117
+ 'version' => '2024-03-12',
765
118
  ];