@moxi.gmbh/moxi-typescriptmodels 0.1.871-test-server → 0.1.871

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.
package/common.d.ts CHANGED
@@ -1,6 +1,41 @@
1
1
 
2
- export interface AcceptDrive extends FleetCommand {
3
- driveOwner?: AccountOrTeamRef;
2
+ export interface AbstractFindMyRides {
3
+ accountId?: string;
4
+ descending?: boolean;
5
+ filter?: RideFilter;
6
+ maxSize?: number;
7
+ term?: string;
8
+ }
9
+
10
+ export interface AbstractFindRides {
11
+ descending?: boolean;
12
+ filter?: RideFilter;
13
+ maxSize?: number;
14
+ term?: string;
15
+ }
16
+
17
+ export interface AbstractFindRidesForDriver {
18
+ accountId?: string;
19
+ descending?: boolean;
20
+ filter?: RideFilter;
21
+ maxSize?: number;
22
+ term?: string;
23
+ }
24
+
25
+ export interface AbstractFindRidesInMarketplace {
26
+ accountId?: string;
27
+ descending?: boolean;
28
+ filter?: RideFilter;
29
+ maxSize?: number;
30
+ term?: string;
31
+ }
32
+
33
+ export interface AcceptRide extends RideDriverCommand {
34
+ driver?: AccountOrTeamRef;
35
+ }
36
+
37
+ export interface AcceptRideSeries extends SeriesDriverCommand {
38
+ driver?: AccountOrTeamRef;
4
39
  }
5
40
 
6
41
  export interface AcceptUserAgreement extends UserEdit {
@@ -9,6 +44,10 @@ export interface AcceptUserAgreement extends UserEdit {
9
44
 
10
45
  export interface Account {
11
46
  accountId?: string;
47
+ /**
48
+ * Derived from subscriptions
49
+ */
50
+ activeOrganisationTypes?: OrganisationType[];
12
51
  /**
13
52
  * Derived from subscriptions
14
53
  */
@@ -18,6 +57,12 @@ export interface Account {
18
57
  drivePermissions?: DrivePermission[];
19
58
  info?: AccountInfo;
20
59
  integrationSettings?: any[];
60
+ operateAccounts?: string[];
61
+ operators?: string[];
62
+ /**
63
+ * Derived from subscriptions. Includes organisation types that have not been confirmed yet by a superadmin or are active in past or future.
64
+ */
65
+ organisationTypes?: OrganisationType[];
21
66
  subscriptions?: Subscription[];
22
67
  teams?: Team[];
23
68
  unconfirmedCriticalInfo?: CriticalAccountInfo;
@@ -36,6 +81,7 @@ export interface AccountInfo {
36
81
  defaultLanguage?: string;
37
82
  notificationEmails?: string[];
38
83
  phoneNumber?: PhoneNumber;
84
+ zoneId?: string;
39
85
  }
40
86
 
41
87
  export interface AccountOrTeamId {
@@ -63,9 +109,16 @@ export interface AccountRef {
63
109
  name?: string;
64
110
  }
65
111
 
112
+ export interface AccountUpcaster {
113
+ }
114
+
66
115
  export interface AccountUpdate extends AccountCommand {
67
116
  }
68
117
 
118
+ export interface AddOperations extends AccountUpdate {
119
+ operateAccount?: string;
120
+ }
121
+
69
122
  /**
70
123
  * Address info of a google-validated address, including geolocation and district code
71
124
  */
@@ -101,13 +154,13 @@ export interface AdminSetUserPassword {
101
154
  userId?: string;
102
155
  }
103
156
 
104
- export interface AmbulanceFilter extends RideTypeSpecificFilter {
157
+ export interface AmbulanceFilter extends DrivePermissionFilter {
105
158
  heavyWeightAllowed?: boolean;
106
159
  type: "ambulance";
107
160
  }
108
161
 
109
162
  /**
110
- * Filled if (and only if) rideType == ambulance
163
+ * Filled if (and only if) vehicleType == ambulance
111
164
  */
112
165
  export interface AmbulanceInfo {
113
166
  /**
@@ -128,13 +181,29 @@ export interface AmbulanceInfo {
128
181
  requiresSuctionAspirator?: boolean;
129
182
  }
130
183
 
184
+ /**
185
+ * Information about the ride, from the creator of the ride
186
+ */
187
+ export interface AnonymizedRideInfo extends RideInfo {
188
+ }
189
+
190
+ /**
191
+ * Information about the ride, from the creator of the ride
192
+ */
193
+ export interface AnonymizedSeriesRideInfo extends SeriesRideInfo {
194
+ }
195
+
131
196
  export interface Appointment {
132
197
  pickup?: boolean;
133
198
  time?: string;
134
199
  }
135
200
 
136
- export interface AssignDriver extends RideCommand {
137
- driveOwner?: AccountOrTeamRef;
201
+ export interface AssignDriver extends RideOperatorCommand {
202
+ driver?: AccountOrTeamRef;
203
+ }
204
+
205
+ export interface AssignRideSeriesDriver extends SeriesOperatorCommand {
206
+ driver?: AccountOrTeamRef;
138
207
  }
139
208
 
140
209
  export interface Attachment {
@@ -160,13 +229,22 @@ export interface AuthenticationService {
160
229
 
161
230
  export interface BookRide extends CreateRideCommand {
162
231
  info?: RideInfo;
163
- owner?: AccountOrTeamRef;
164
232
  }
165
233
 
166
- export interface CancelDrive extends FleetModifyCommand {
234
+ export interface BookRideSeries extends CreateSeriesCommand {
235
+ rideSummaries?: RideSummary[];
236
+ }
237
+
238
+ export interface CancelRide extends RideBookerCommand {
239
+ reason?: string;
240
+ }
241
+
242
+ export interface CancelRideSeries extends SeriesCommandWithSeparateEvent {
243
+ reason?: string;
167
244
  }
168
245
 
169
- export interface CancelRide extends RidePlannerCommand {
246
+ export interface CancelRideSeriesEvent extends SeriesBookerCommand {
247
+ cancelRides?: string[];
170
248
  reason?: string;
171
249
  }
172
250
 
@@ -226,8 +304,13 @@ export interface CreateOptimizationPlan extends OptimizerMessage {
226
304
  timeRange?: InstantRange;
227
305
  }
228
306
 
229
- export interface CreateRideCommand extends RidePlannerCommand {
230
- owner?: AccountOrTeamId;
307
+ export interface CreateRideCommand extends RideBookerCommand {
308
+ booker?: AccountOrTeamRef;
309
+ }
310
+
311
+ export interface CreateSeriesCommand extends SeriesBookerCommand {
312
+ booker?: AccountOrTeamRef;
313
+ info?: SeriesRideInfo;
231
314
  }
232
315
 
233
316
  export interface CreateSqueezeInPlan extends OptimizerMessage {
@@ -263,6 +346,11 @@ export interface DateRange {
263
346
  export interface DeleteUser extends UserEdit {
264
347
  }
265
348
 
349
+ export interface DisconnectClient {
350
+ clientId?: string;
351
+ tokenId?: string;
352
+ }
353
+
266
354
  export interface DispoliveSettings {
267
355
  key?: string;
268
356
  type: "dispolive";
@@ -295,14 +383,18 @@ export interface DrivePermission {
295
383
  revoked?: boolean;
296
384
  }
297
385
 
386
+ export interface DrivePermissionFilter {
387
+ type: "ambulance" | "taxi";
388
+ }
389
+
298
390
  export interface DrivePermissionInfo {
299
- filter?: RideTypeSpecificFilterUnion;
391
+ filter?: DrivePermissionFilterUnion;
300
392
  monopoly?: boolean;
301
393
  regions?: Region[];
302
394
  }
303
395
 
304
396
  export interface DrivePermissionInfoRequest {
305
- filter?: RideTypeSpecificFilterUnion;
397
+ filter?: DrivePermissionFilterUnion;
306
398
  regions?: Region[];
307
399
  }
308
400
 
@@ -364,36 +456,17 @@ export interface FindAccounts {
364
456
  term?: string;
365
457
  }
366
458
 
367
- export interface FindMyAcceptedRides {
368
- accountId?: string;
369
- descending?: boolean;
370
- filter?: RideFilter;
371
- maxSize?: number;
372
- term?: string;
459
+ export interface FindMyRides extends AbstractFindMyRides {
373
460
  }
374
461
 
375
- /**
376
- * @deprecated
377
- */
378
- export interface FindMyRideOffers {
379
- accountId?: string;
380
- descending?: boolean;
381
- filter?: RideFilter;
382
- maxSize?: number;
383
- term?: string;
462
+ export interface FindMyRidesAndSeries extends AbstractFindMyRides {
384
463
  }
385
464
 
386
- export interface FindMyRides {
387
- accountId?: string;
388
- descending?: boolean;
389
- filter?: RideFilter;
390
- maxSize?: number;
391
- term?: string;
465
+ export interface FindMySeries extends AbstractFindMyRides {
392
466
  }
393
467
 
394
468
  export interface FindMyTokens {
395
469
  accountId?: string;
396
- teamId?: string;
397
470
  term?: string;
398
471
  }
399
472
 
@@ -403,19 +476,27 @@ export interface FindMyUsers {
403
476
  term?: string;
404
477
  }
405
478
 
406
- export interface FindPotentialRides {
407
- accountId?: string;
408
- descending?: boolean;
409
- filter?: RideFilter;
410
- maxSize?: number;
411
- term?: string;
479
+ export interface FindRides extends AbstractFindRides {
412
480
  }
413
481
 
414
- export interface FindRides {
415
- descending?: boolean;
416
- filter?: RideFilter;
417
- maxSize?: number;
418
- term?: string;
482
+ export interface FindRidesAndSeries extends AbstractFindRides {
483
+ }
484
+
485
+ export interface FindRidesAndSeriesForDriver extends AbstractFindRidesForDriver {
486
+ }
487
+
488
+ export interface FindRidesAndSeriesInMarketplace extends AbstractFindRidesInMarketplace {
489
+ }
490
+
491
+ export interface FindRidesAndSeriesResult {
492
+ ridesAndSeries?: RideOrMinimizedSeries[];
493
+ ridesCount?: RideFilterCount;
494
+ }
495
+
496
+ export interface FindRidesForDriver extends AbstractFindRidesForDriver {
497
+ }
498
+
499
+ export interface FindRidesInMarketplace extends AbstractFindRidesInMarketplace {
419
500
  }
420
501
 
421
502
  export interface FindRidesResult {
@@ -423,18 +504,21 @@ export interface FindRidesResult {
423
504
  rides?: Ride[];
424
505
  }
425
506
 
426
- export interface FindTokens {
427
- term?: string;
507
+ export interface FindSeries extends AbstractFindRides {
428
508
  }
429
509
 
430
- export interface FindUsers {
431
- term?: string;
510
+ export interface FindSeriesForDriver extends AbstractFindRidesForDriver {
432
511
  }
433
512
 
434
- export interface FleetCommand extends RideCommand {
513
+ export interface FindSeriesInMarketplace extends AbstractFindRidesInMarketplace {
435
514
  }
436
515
 
437
- export interface FleetModifyCommand extends FleetCommand {
516
+ export interface FindTokens {
517
+ term?: string;
518
+ }
519
+
520
+ export interface FindUsers {
521
+ term?: string;
438
522
  }
439
523
 
440
524
  export interface GenerateToken {
@@ -443,6 +527,35 @@ export interface GenerateToken {
443
527
  tokenId?: string;
444
528
  }
445
529
 
530
+ export interface GenerateTokenResult {
531
+ entity?: Token;
532
+ jwt?: string;
533
+ }
534
+
535
+ /**
536
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
537
+
538
+ */
539
+ export interface GenericRideInfo {
540
+ ambulanceInfo?: AmbulanceInfo;
541
+ attendantsPresent?: number;
542
+ comment?: string;
543
+ dimensions?: PersonDimensions;
544
+ distanceInMeters?: number;
545
+ from?: AddressInfo;
546
+ /**
547
+ * Derived from weightInKg != null
548
+ */
549
+ heavyWeight?: boolean;
550
+ mobility?: Mobility;
551
+ patient?: Person;
552
+ plannedDuration?: RideDuration;
553
+ preferredDriver?: string;
554
+ to?: AddressInfo;
555
+ vehicleType?: VehicleType;
556
+ weightInKg?: number;
557
+ }
558
+
446
559
  export interface GeoJson {
447
560
  features?: Feature[];
448
561
  }
@@ -473,10 +586,16 @@ export interface GetAccount {
473
586
  accountId?: string;
474
587
  }
475
588
 
476
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
589
+ /**
590
+ * @deprecated
591
+ */
592
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
477
593
  }
478
594
 
479
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
595
+ /**
596
+ * @deprecated
597
+ */
598
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
480
599
  }
481
600
 
482
601
  export interface GetDistrict {
@@ -499,26 +618,17 @@ export interface GetIsoStates {
499
618
  export interface GetMonopolyAccounts {
500
619
  }
501
620
 
502
- export interface GetMyAcceptedRides {
503
- accountId?: string;
504
- maxSize?: number;
505
- timeRange?: InstantRange;
506
- }
507
-
508
621
  export interface GetMyAccounts {
509
622
  filter?: AccountFilter;
510
623
  }
511
624
 
512
- /**
513
- * @deprecated
514
- */
515
- export interface GetMyRideOffers {
625
+ export interface GetMyRides {
516
626
  accountId?: string;
517
627
  maxSize?: number;
518
628
  timeRange?: InstantRange;
519
629
  }
520
630
 
521
- export interface GetMyRides {
631
+ export interface GetMySeries {
522
632
  accountId?: string;
523
633
  maxSize?: number;
524
634
  timeRange?: InstantRange;
@@ -533,20 +643,36 @@ export interface GetMyUserProfile {
533
643
  export interface GetNutsStates {
534
644
  }
535
645
 
536
- export interface GetPotentialDrivers {
646
+ export interface GetOneSeries {
647
+ rideSeriesId?: string;
648
+ }
649
+
650
+ /**
651
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
652
+
653
+ */
654
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
655
+ }
656
+
657
+ /**
658
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
659
+
660
+ */
661
+ export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
662
+ }
663
+
664
+ /**
665
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
666
+
667
+ */
668
+ export interface GetPotentialDriversAbstract {
537
669
  fromDistrict?: string;
538
670
  mobility?: Mobility;
539
- rideType?: RideType;
540
671
  toDistrict?: string;
672
+ vehicleType?: VehicleType;
541
673
  weightInKg?: number;
542
674
  }
543
675
 
544
- export interface GetPotentialRides {
545
- accountId?: string;
546
- maxSize?: number;
547
- timeRange?: InstantRange;
548
- }
549
-
550
676
  export interface GetRide {
551
677
  rideId?: string;
552
678
  }
@@ -554,14 +680,53 @@ export interface GetRide {
554
680
  export interface GetRideCsv extends RideStatisticsQuery {
555
681
  }
556
682
 
557
- export interface GetRideData extends RideStatisticsQuery {
558
- rideOwner?: string;
683
+ export interface GetRideDataForBooker extends RideStatisticsQuery {
684
+ accountId?: string;
685
+ }
686
+
687
+ export interface GetRideDataForDriver extends RideStatisticsQuery {
688
+ accountId?: string;
559
689
  }
560
690
 
561
691
  export interface GetRideLog {
562
692
  rideId?: string;
563
693
  }
564
694
 
695
+ export interface GetRideOrSeries {
696
+ id?: string;
697
+ }
698
+
699
+ export interface GetRidesForDriver {
700
+ accountId?: string;
701
+ maxSize?: number;
702
+ timeRange?: InstantRange;
703
+ }
704
+
705
+ export interface GetRidesInMarketplace {
706
+ accountId?: string;
707
+ maxSize?: number;
708
+ timeRange?: InstantRange;
709
+ }
710
+
711
+ export interface GetRidesInSeries {
712
+ rideSeriesId?: string;
713
+ }
714
+
715
+ export interface GetSeriesForDriver {
716
+ accountId?: string;
717
+ maxSize?: number;
718
+ timeRange?: InstantRange;
719
+ }
720
+
721
+ export interface GetSeriesInMarketplace {
722
+ accountId?: string;
723
+ maxSize?: number;
724
+ }
725
+
726
+ export interface GetSeriesLog {
727
+ rideSeriesId?: string;
728
+ }
729
+
565
730
  export interface GetTeam {
566
731
  teamId?: string;
567
732
  }
@@ -588,6 +753,14 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
588
753
  teamPermission?: TeamPermission;
589
754
  }
590
755
 
756
+ export interface IGetPotentialDrivers {
757
+ fromDistrict?: string;
758
+ mobility?: Mobility;
759
+ toDistrict?: string;
760
+ vehicleType?: VehicleType;
761
+ weightInKg?: number;
762
+ }
763
+
591
764
  export interface ImpersonateUser {
592
765
  userId?: string;
593
766
  }
@@ -628,6 +801,23 @@ export interface IsoState {
628
801
  nutsCode?: string;
629
802
  }
630
803
 
804
+ export interface Metric {
805
+ clientId?: string;
806
+ clientSegment?: number[];
807
+ maxSize?: number;
808
+ maxTimeout?: string;
809
+ tokenId?: string;
810
+ type?: string;
811
+ updates?: string[];
812
+ }
813
+
814
+ /**
815
+ * RideSeries is a grouped ride series. A singular object, that is later split into individual rides, once a driver has accepted the series as a group.
816
+ */
817
+ export interface MinimizedRideSeries extends RideSeries, RideOrMinimizedSeries {
818
+ info?: SeriesRideInfo;
819
+ }
820
+
631
821
  export interface NutsDistrict {
632
822
  code?: string;
633
823
  name?: string;
@@ -677,6 +867,24 @@ export interface PersonDimensions {
677
867
  export interface PhoneNumber {
678
868
  }
679
869
 
870
+ export interface PlanRide extends RideDriverModifyCommand {
871
+ plannedStartTime?: string;
872
+ }
873
+
874
+ export interface ReadUpdates {
875
+ clientId?: string;
876
+ maxSize?: number;
877
+ maxTimeout?: number;
878
+ tokenId?: string;
879
+ updateTypes?: EntityType[];
880
+ }
881
+
882
+ export interface ReadUpdatesResult {
883
+ clientSegment?: number[];
884
+ lastIndex?: number;
885
+ updates?: any[];
886
+ }
887
+
680
888
  export interface Region {
681
889
  nutsCode?: string;
682
890
  }
@@ -685,16 +893,11 @@ export interface RegisterAuthenticationToken extends UserUpdate {
685
893
  hashedToken?: string;
686
894
  }
687
895
 
688
- export interface RegisterDifferentEta extends FleetModifyCommand {
689
- destinationEta?: string;
690
- originEta?: string;
691
- }
692
-
693
- export interface RegisterDriveStatus extends FleetModifyCommand {
896
+ export interface RegisterDriveStatus extends RideDriverModifyCommand {
694
897
  driveStatus?: DriveStatus;
695
898
  }
696
899
 
697
- export interface RegisterDriverSynced extends FleetModifyCommand {
900
+ export interface RegisterDriverSynced extends RideDriverModifyCommand {
698
901
  }
699
902
 
700
903
  export interface RegisterEinsatz {
@@ -705,6 +908,14 @@ export interface RegisterEinsatz {
705
908
  export interface RemoveAccount extends AccountUpdate {
706
909
  }
707
910
 
911
+ export interface RemoveOperations extends AccountUpdate {
912
+ operateAccount?: string;
913
+ }
914
+
915
+ export interface RemoveOperator extends AccountUpdate {
916
+ operator?: string;
917
+ }
918
+
708
919
  export interface RemoveSettings extends AccountUpdate {
709
920
  type?: IntegrationType;
710
921
  }
@@ -721,6 +932,13 @@ export interface ReportIssue {
721
932
  issue?: string;
722
933
  }
723
934
 
935
+ /**
936
+ * Can only report delays when ride has started and has not arrived at destination.
937
+ */
938
+ export interface ReportRideDelay extends RideDriverModifyCommand {
939
+ minutes?: number;
940
+ }
941
+
724
942
  export interface RequestDrivePermission extends AccountUpdate {
725
943
  drivePermissionId?: string;
726
944
  info?: DrivePermissionInfoRequest;
@@ -735,16 +953,31 @@ export interface RequestUserReset {
735
953
  email?: string;
736
954
  }
737
955
 
956
+ /**
957
+ * Resets the lastIndex position of your token.
958
+ */
959
+ export interface ResetPosition {
960
+ index?: number;
961
+ timestamp?: string;
962
+ tokenId?: string;
963
+ }
964
+
965
+ export interface ReturnRide extends RideDriverModifyCommand {
966
+ }
967
+
968
+ export interface ReturnRideSeries extends SeriesDriverCommand {
969
+ }
970
+
738
971
  export interface Review {
739
972
  comment?: string;
740
973
  stars?: number;
741
974
  }
742
975
 
743
- export interface ReviewRideAsDriver extends FleetModifyCommand {
976
+ export interface ReviewRideAsBooker extends RideBookerCommand {
744
977
  review?: Review;
745
978
  }
746
979
 
747
- export interface ReviewRideAsRider extends RidePlannerCommand {
980
+ export interface ReviewRideAsDriver extends RideDriverModifyCommand {
748
981
  review?: Review;
749
982
  }
750
983
 
@@ -755,6 +988,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
755
988
  drivePermissionId?: string;
756
989
  }
757
990
 
991
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
992
+ }
993
+
758
994
  export interface RevokeSubscription extends AccountUpdate {
759
995
  subscriptionId?: string;
760
996
  }
@@ -762,17 +998,24 @@ export interface RevokeSubscription extends AccountUpdate {
762
998
  export interface RevokeToken extends TokenUpdate {
763
999
  }
764
1000
 
765
- export interface Ride {
1001
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
766
1002
  /**
767
- * Derived from driveOwner != null
1003
+ * Derived from driver != null
768
1004
  */
769
1005
  accepted?: boolean;
1006
+ actualEndTime?: string;
1007
+ actualStartTime?: string;
1008
+ /**
1009
+ * Derived from driveStatus != null
1010
+ */
1011
+ arrived?: boolean;
770
1012
  /**
771
1013
  * Derived from bookedTime != null
772
1014
  */
773
1015
  booked?: boolean;
774
1016
  bookedTime?: string;
775
- bookingStatus?: BookingStatus;
1017
+ booker?: AccountOrTeamRef;
1018
+ bookerReview?: Review;
776
1019
  cancelReason?: string;
777
1020
  cancelled?: boolean;
778
1021
  /**
@@ -780,39 +1023,66 @@ export interface Ride {
780
1023
  */
781
1024
  completed?: boolean;
782
1025
  /**
783
- * Estimated Time of Arrival at the Destination/Drop-off location. Will differ from destinationPta if the driver reported a delay
1026
+ * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
784
1027
  */
785
- destinationEta?: string;
1028
+ desiredEndTime?: string;
786
1029
  /**
787
- * Planned Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1030
+ * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
788
1031
  */
789
- destinationPta?: string;
790
- driveOwner?: AccountOrTeamRef;
1032
+ desiredStartTime?: string;
791
1033
  driveStatus?: DriveStatus;
1034
+ driver?: AccountOrTeamRef;
792
1035
  driverReview?: Review;
793
1036
  driverSyncStatus?: SyncStatus;
1037
+ endTimeDelay?: number;
1038
+ /**
1039
+ * Expected Time of Arrival at the Destination/Drop-off location.
1040
+ */
1041
+ expectedEndTime?: string;
1042
+ /**
1043
+ * Expected Time of Arrival at the Origin/Pick-up location.
1044
+ */
1045
+ expectedStartTime?: string;
794
1046
  info?: RideInfo;
795
1047
  /**
796
- * Estimated Time of Arrival at the Origin/Pick-up location. Will differ from originPta if the driver reported a delay
1048
+ * Derived from plannedStartTime != null
797
1049
  */
798
- originEta?: string;
1050
+ planned?: boolean;
799
1051
  /**
800
- * Planned Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1052
+ * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
801
1053
  */
802
- originPta?: string;
1054
+ plannedEndTime?: string;
1055
+ plannedStartTime?: string;
803
1056
  rideId?: string;
804
- rideOwner?: AccountOrTeamRef;
805
- riderReview?: Review;
1057
+ /**
1058
+ * The time until which rides can be found. It's the planned time or else the desired time.
1059
+ */
1060
+ searchEndTime?: string;
1061
+ /**
1062
+ * The time from which rides can be found. It's the planned time or else the desired time.
1063
+ */
1064
+ searchStartTime?: string;
1065
+ seriesInfo?: SeriesInfo;
1066
+ startTimeDelay?: number;
806
1067
  /**
807
1068
  * Derived from driveStatus != null
808
1069
  */
809
1070
  started?: boolean;
810
1071
  }
811
1072
 
1073
+ export interface RideBookerCommand extends RideCommand {
1074
+ }
1075
+
812
1076
  export interface RideCommand {
813
1077
  rideId?: string;
814
1078
  }
815
1079
 
1080
+ export interface RideDriverCommand extends RideCommand {
1081
+ }
1082
+
1083
+ export interface RideDriverModifyCommand extends RideDriverCommand {
1084
+ }
1085
+
816
1086
  /**
817
1087
  * All durations in seconds
818
1088
  */
@@ -825,39 +1095,41 @@ export interface RideDuration {
825
1095
 
826
1096
  export interface RideFilter {
827
1097
  bookingStatuses?: BookingStatus[];
828
- directions?: Direction[];
829
1098
  driveStatuses?: DriveStatus[];
830
1099
  driverAccountNames?: string[];
831
1100
  driverTeamNames?: string[];
1101
+ entityType?: EntityType;
832
1102
  hasInfection?: boolean;
833
1103
  heavyWeight?: boolean;
834
1104
  mobilities?: Mobility[];
1105
+ purposes?: RidePurpose[];
835
1106
  region?: Region;
836
1107
  requiresMonitoring?: boolean;
837
1108
  requiresOxygen?: boolean;
838
1109
  requiresSuctionAspirator?: boolean;
839
- rideType?: RideType;
840
1110
  riderAccountNames?: string[];
841
1111
  riderTeamNames?: string[];
842
1112
  timeRange?: InstantRange;
1113
+ unfoldRideSeries?: boolean;
1114
+ vehicleType?: VehicleType;
843
1115
  }
844
1116
 
845
1117
  export interface RideFilterCount {
846
1118
  bookingStatuses?: { [P in BookingStatus]?: number };
847
- directions?: { [P in Direction]?: number };
848
1119
  driveStatuses?: { [P in DriveStatus]?: number };
849
1120
  driverAccountNames?: { [index: string]: number };
850
1121
  driverTeamNames?: { [index: string]: number };
851
1122
  hasInfection?: number;
852
1123
  heavyWeight?: number;
853
1124
  mobilities?: { [P in Mobility]?: number };
1125
+ purposes?: { [P in RidePurpose]?: number };
854
1126
  requiresMonitoring?: number;
855
1127
  requiresOxygen?: number;
856
1128
  requiresSuctionAspirator?: number;
857
- rideTypes?: { [P in RideType]?: number };
858
1129
  riderAccountNames?: { [index: string]: number };
859
1130
  riderTeamNames?: { [index: string]: number };
860
1131
  total?: number;
1132
+ vehicleTypes?: { [P in VehicleType]?: number };
861
1133
  }
862
1134
 
863
1135
  export interface RideIdResult {
@@ -867,26 +1139,9 @@ export interface RideIdResult {
867
1139
  /**
868
1140
  * Information about the ride, from the creator of the ride
869
1141
  */
870
- export interface RideInfo {
871
- ambulanceInfo?: AmbulanceInfo;
1142
+ export interface RideInfo extends GenericRideInfo {
872
1143
  appointment?: Appointment;
873
- attendantsPresent?: number;
874
- comment?: string;
875
- dimensions?: PersonDimensions;
876
- direction?: Direction;
877
- distanceInMeters?: number;
878
- from?: AddressInfo;
879
- /**
880
- * Derived from weightInKg != null
881
- */
882
- heavyWeight?: boolean;
883
- mobility?: Mobility;
884
- patient?: Person;
885
- plannedDuration?: RideDuration;
886
- preferredDriver?: string;
887
- rideType?: RideType;
888
- to?: AddressInfo;
889
- weightInKg?: number;
1144
+ purpose?: RidePurpose;
890
1145
  }
891
1146
 
892
1147
  export interface RideLog {
@@ -905,22 +1160,95 @@ export interface RideLog {
905
1160
  token?: boolean;
906
1161
  }
907
1162
 
908
- export interface RideOfferInfo {
909
- appointment?: Appointment;
1163
+ export interface RideOperatorCommand extends RideCommand {
1164
+ }
1165
+
1166
+ export interface RideOrMinimizedSeries {
1167
+ bookingStatus?: BookingStatus;
1168
+ entityType?: EntityType;
1169
+ info?: GenericRideInfo;
1170
+ }
1171
+
1172
+ export interface RideOrSeries {
1173
+ bookingStatus?: BookingStatus;
1174
+ entityType?: EntityType;
1175
+ info?: GenericRideInfo;
1176
+ }
1177
+
1178
+ /**
1179
+ * RideSeries is a grouped ride series. A singular object, that is later split into individual rides, once a driver has accepted the series as a group.
1180
+ */
1181
+ export interface RideSeries extends RideOrSeries {
1182
+ /**
1183
+ * Derived from driver != null
1184
+ */
1185
+ accepted?: boolean;
1186
+ activeRideCount?: number;
1187
+ /**
1188
+ * Derived from bookedTime != null
1189
+ */
1190
+ booked?: boolean;
1191
+ bookedTime?: string;
1192
+ booker?: AccountOrTeamRef;
1193
+ cancelReason?: string;
1194
+ cancelled?: boolean;
1195
+ driver?: AccountOrTeamRef;
1196
+ info?: SeriesRideInfo;
1197
+ rideSeriesId?: string;
1198
+ rides?: Ride[];
1199
+ ridesSummaries?: RideSummary[];
1200
+ searchEndTime?: string;
1201
+ searchStartTime?: string;
1202
+ }
1203
+
1204
+ export interface RideSeriesIdResult {
1205
+ rideSeriesId?: string;
1206
+ }
1207
+
1208
+ export interface RideSeriesUpdate {
1209
+ after?: RideSeries;
1210
+ before?: RideSeries;
1211
+ entityId?: string;
1212
+ eventType?: string;
1213
+ index?: number;
1214
+ timestamp?: string;
1215
+ type: "rideseries";
910
1216
  }
911
1217
 
912
- export interface RidePlannerCommand extends RideCommand {
1218
+ export interface RideSeriesUtils {
913
1219
  }
914
1220
 
915
1221
  export interface RideStatisticsQuery {
916
1222
  dateRange?: DateRange;
1223
+ zoneId?: string;
917
1224
  }
918
1225
 
919
- export interface RideTypeSpecificFilter {
920
- type: "ambulance" | "taxi";
1226
+ /**
1227
+ * Individual ride timing within a series. Once a ride series is split, you cannot add rides, only remove
1228
+ */
1229
+ export interface RideSummary {
1230
+ appointmentTime?: string;
1231
+ returnTrip?: boolean;
1232
+ rideId?: string;
921
1233
  }
922
1234
 
923
- export interface Role<T> {
1235
+ export interface RideSystemCommand extends RideCommand {
1236
+ }
1237
+
1238
+ export interface RideUpcaster {
1239
+ }
1240
+
1241
+ export interface RideUpdate {
1242
+ after?: Ride;
1243
+ before?: Ride;
1244
+ entityId?: string;
1245
+ eventType?: string;
1246
+ index?: number;
1247
+ timestamp?: string;
1248
+ type: "ride";
1249
+ }
1250
+
1251
+ export interface Role {
924
1252
  }
925
1253
 
926
1254
  /**
@@ -928,7 +1256,14 @@ export interface Role<T> {
928
1256
  */
929
1257
  export interface SaveRide extends CreateRideCommand {
930
1258
  info?: RideInfo;
931
- owner?: AccountOrTeamRef;
1259
+ }
1260
+
1261
+ export interface SaveRideSeries extends CreateSeriesCommand {
1262
+ rideSummaries?: RideSummary[];
1263
+ }
1264
+
1265
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1266
+ accountId?: string;
932
1267
  }
933
1268
 
934
1269
  export interface SendConfirmationEmail {
@@ -942,6 +1277,7 @@ export interface SendEmail {
942
1277
  export interface SendFreshdeskNewTicket {
943
1278
  email?: string;
944
1279
  message?: string;
1280
+ subject?: string;
945
1281
  }
946
1282
 
947
1283
  export interface SendInvitationEmail {
@@ -954,6 +1290,53 @@ export interface SendSlack {
954
1290
  message?: string;
955
1291
  }
956
1292
 
1293
+ export interface SeriesBookerCommand extends SeriesCommand {
1294
+ }
1295
+
1296
+ export interface SeriesCommand {
1297
+ rideSeriesId?: string;
1298
+ }
1299
+
1300
+ export interface SeriesCommandWithSeparateEvent {
1301
+ rideSeriesId?: string;
1302
+ }
1303
+
1304
+ export interface SeriesDriverCommand extends SeriesCommand {
1305
+ }
1306
+
1307
+ /**
1308
+ * Information about a ride that is part of series.
1309
+ */
1310
+ export interface SeriesInfo {
1311
+ desyncedFromSeries?: boolean;
1312
+ positionInSeries?: number;
1313
+ returnTrip?: boolean;
1314
+ rideSeriesId?: string;
1315
+ totalRidesInSeries?: number;
1316
+ }
1317
+
1318
+ export interface SeriesOperatorCommand extends SeriesCommand {
1319
+ }
1320
+
1321
+ /**
1322
+ * Information about the ride, from the creator of the ride
1323
+ */
1324
+ export interface SeriesRideInfo extends GenericRideInfo {
1325
+ purpose?: SeriesPurpose;
1326
+ }
1327
+
1328
+ export interface SetOperations extends AccountUpdate {
1329
+ operateAccounts?: string[];
1330
+ }
1331
+
1332
+ export interface SetOperator extends AccountUpdate {
1333
+ operator?: string;
1334
+ }
1335
+
1336
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1337
+ accountPermission?: AccountPermission;
1338
+ }
1339
+
957
1340
  export interface SetSettings extends AccountUpdate {
958
1341
  settings?: any;
959
1342
  }
@@ -994,7 +1377,7 @@ export interface SubscriptionInfo extends TimedPermission {
994
1377
  service?: Service;
995
1378
  }
996
1379
 
997
- export interface TaxiFilter extends RideTypeSpecificFilter {
1380
+ export interface TaxiFilter extends DrivePermissionFilter {
998
1381
  allowedMobilities?: Mobility[];
999
1382
  type: "taxi";
1000
1383
  }
@@ -1030,10 +1413,11 @@ export interface TimedPermission {
1030
1413
  }
1031
1414
 
1032
1415
  export interface Token {
1033
- accountPermission?: AccountPermission;
1416
+ accountPermissions?: AccountPermission[];
1034
1417
  createdBy?: string;
1035
1418
  info?: TokenInfo;
1036
1419
  lastUpdatedBy?: string;
1420
+ owner?: string;
1037
1421
  revoked?: boolean;
1038
1422
  tokenId?: string;
1039
1423
  }
@@ -1061,9 +1445,34 @@ export interface UpdateAccountPermission extends AccountPermissionCommand {
1061
1445
  accountPermission?: AccountPermission;
1062
1446
  }
1063
1447
 
1064
- export interface UpdateRideBooking extends RidePlannerCommand {
1448
+ export interface UpdatePosition {
1449
+ clientSegment?: number[];
1450
+ lastIndex?: number;
1451
+ tokenId?: string;
1452
+ }
1453
+
1454
+ export interface UpdateRide extends RideBookerCommand {
1455
+ booker?: AccountOrTeamRef;
1065
1456
  info?: RideInfo;
1066
- owner?: AccountOrTeamRef;
1457
+ }
1458
+
1459
+ export interface UpdateRidePlan extends RideDriverModifyCommand {
1460
+ plannedStartTime?: string;
1461
+ }
1462
+
1463
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1464
+ booker?: AccountOrTeamRef;
1465
+ info?: SeriesRideInfo;
1466
+ rideSummaries?: RideSummary[];
1467
+ }
1468
+
1469
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1470
+ addRides?: string[];
1471
+ booker?: AccountOrTeamRef;
1472
+ cancelRides?: string[];
1473
+ info?: SeriesRideInfo;
1474
+ rideSummaries?: RideSummary[];
1475
+ updateRides?: string[];
1067
1476
  }
1068
1477
 
1069
1478
  export interface UpdateTeam extends TeamUpdate {
@@ -1079,6 +1488,9 @@ export interface UpdateUserInfo extends UserEdit {
1079
1488
  info?: UserInfo;
1080
1489
  }
1081
1490
 
1491
+ export interface UserAndTokenUpcaster {
1492
+ }
1493
+
1082
1494
  export interface UserCommand {
1083
1495
  userId?: string;
1084
1496
  }
@@ -1119,36 +1531,42 @@ export interface ZonedTimeRange {
1119
1531
  start?: Date;
1120
1532
  }
1121
1533
 
1122
- export type AccountRole = "rideplanner" | "driveplanner" | "admin" | "owner";
1534
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1123
1535
 
1124
1536
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1125
1537
 
1126
- export type BookingStatus = "saved" | "booked" | "accepted" | "started" | "completed" | "cancelled";
1538
+ export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
1127
1539
 
1128
- export type Direction = "admission" | "relocation" | "discharge" | "consultation";
1540
+ export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1129
1541
 
1130
1542
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1131
1543
 
1544
+ export type EntityType = "ride" | "rideseries";
1545
+
1132
1546
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1133
1547
 
1134
1548
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
1135
1549
 
1136
1550
  export type IntegrationType = "dispolive" | "celios";
1137
1551
 
1138
- export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "lying_down";
1552
+ export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1139
1553
 
1140
- export type RideType = "taxi" | "ambulance";
1554
+ export type OrganisationType = "medical" | "fleet" | "operator";
1141
1555
 
1142
- export type RideTypeSpecificFilterUnion = AmbulanceFilter | TaxiFilter;
1556
+ export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1143
1557
 
1144
- export type Service = "rideplanning" | "driveplanning" | "celios_integration" | "dispolive_integration";
1558
+ export type SeriesPurpose = "consultation";
1559
+
1560
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1145
1561
 
1146
1562
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1147
1563
 
1148
- export type StandaloneService = "rideplanning" | "driveplanning";
1564
+ export type StandaloneService = "pro_medical" | "pro_fleet" | "pro_operator";
1149
1565
 
1150
1566
  export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1151
1567
 
1152
- export type TeamRole = "driveplanner" | "rideplanner";
1568
+ export type TeamRole = "dispatcher" | "ridebooker";
1153
1569
 
1154
1570
  export type UserRole = "superadmin";
1571
+
1572
+ export type VehicleType = "taxi" | "ambulance";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@moxi.gmbh/moxi-typescriptmodels",
3
- "version": "0.1.871-test-server",
3
+ "version": "0.1.871",
4
4
  "types": "common.d.ts"
5
5
  }
File without changes