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

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,6 +504,15 @@ export interface FindRidesResult {
423
504
  rides?: Ride[];
424
505
  }
425
506
 
507
+ export interface FindSeries extends AbstractFindRides {
508
+ }
509
+
510
+ export interface FindSeriesForDriver extends AbstractFindRidesForDriver {
511
+ }
512
+
513
+ export interface FindSeriesInMarketplace extends AbstractFindRidesInMarketplace {
514
+ }
515
+
426
516
  export interface FindTokens {
427
517
  term?: string;
428
518
  }
@@ -431,10 +521,10 @@ export interface FindUsers {
431
521
  term?: string;
432
522
  }
433
523
 
434
- export interface FleetCommand extends RideCommand {
435
- }
436
-
437
- export interface FleetModifyCommand extends FleetCommand {
524
+ export interface FirebaseMessage {
525
+ data?: { [index: string]: string };
526
+ notification?: Notification;
527
+ topic?: string;
438
528
  }
439
529
 
440
530
  export interface GenerateToken {
@@ -443,6 +533,35 @@ export interface GenerateToken {
443
533
  tokenId?: string;
444
534
  }
445
535
 
536
+ export interface GenerateTokenResult {
537
+ entity?: Token;
538
+ jwt?: string;
539
+ }
540
+
541
+ /**
542
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
543
+
544
+ */
545
+ export interface GenericRideInfo {
546
+ ambulanceInfo?: AmbulanceInfo;
547
+ attendantsPresent?: number;
548
+ comment?: string;
549
+ dimensions?: PersonDimensions;
550
+ distanceInMeters?: number;
551
+ from?: AddressInfo;
552
+ /**
553
+ * Derived from weightInKg != null
554
+ */
555
+ heavyWeight?: boolean;
556
+ mobility?: Mobility;
557
+ patient?: Person;
558
+ plannedDuration?: RideDuration;
559
+ preferredDriver?: string;
560
+ to?: AddressInfo;
561
+ vehicleType?: VehicleType;
562
+ weightInKg?: number;
563
+ }
564
+
446
565
  export interface GeoJson {
447
566
  features?: Feature[];
448
567
  }
@@ -473,10 +592,16 @@ export interface GetAccount {
473
592
  accountId?: string;
474
593
  }
475
594
 
476
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
595
+ /**
596
+ * @deprecated
597
+ */
598
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
477
599
  }
478
600
 
479
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
601
+ /**
602
+ * @deprecated
603
+ */
604
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
480
605
  }
481
606
 
482
607
  export interface GetDistrict {
@@ -499,26 +624,17 @@ export interface GetIsoStates {
499
624
  export interface GetMonopolyAccounts {
500
625
  }
501
626
 
502
- export interface GetMyAcceptedRides {
503
- accountId?: string;
504
- maxSize?: number;
505
- timeRange?: InstantRange;
506
- }
507
-
508
627
  export interface GetMyAccounts {
509
628
  filter?: AccountFilter;
510
629
  }
511
630
 
512
- /**
513
- * @deprecated
514
- */
515
- export interface GetMyRideOffers {
631
+ export interface GetMyRides {
516
632
  accountId?: string;
517
633
  maxSize?: number;
518
634
  timeRange?: InstantRange;
519
635
  }
520
636
 
521
- export interface GetMyRides {
637
+ export interface GetMySeries {
522
638
  accountId?: string;
523
639
  maxSize?: number;
524
640
  timeRange?: InstantRange;
@@ -533,20 +649,36 @@ export interface GetMyUserProfile {
533
649
  export interface GetNutsStates {
534
650
  }
535
651
 
536
- export interface GetPotentialDrivers {
652
+ export interface GetOneSeries {
653
+ rideSeriesId?: string;
654
+ }
655
+
656
+ /**
657
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
658
+
659
+ */
660
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
661
+ }
662
+
663
+ /**
664
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
665
+
666
+ */
667
+ export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
668
+ }
669
+
670
+ /**
671
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
672
+
673
+ */
674
+ export interface GetPotentialDriversAbstract {
537
675
  fromDistrict?: string;
538
676
  mobility?: Mobility;
539
- rideType?: RideType;
540
677
  toDistrict?: string;
678
+ vehicleType?: VehicleType;
541
679
  weightInKg?: number;
542
680
  }
543
681
 
544
- export interface GetPotentialRides {
545
- accountId?: string;
546
- maxSize?: number;
547
- timeRange?: InstantRange;
548
- }
549
-
550
682
  export interface GetRide {
551
683
  rideId?: string;
552
684
  }
@@ -554,14 +686,53 @@ export interface GetRide {
554
686
  export interface GetRideCsv extends RideStatisticsQuery {
555
687
  }
556
688
 
557
- export interface GetRideData extends RideStatisticsQuery {
558
- rideOwner?: string;
689
+ export interface GetRideDataForBooker extends RideStatisticsQuery {
690
+ accountId?: string;
691
+ }
692
+
693
+ export interface GetRideDataForDriver extends RideStatisticsQuery {
694
+ accountId?: string;
559
695
  }
560
696
 
561
697
  export interface GetRideLog {
562
698
  rideId?: string;
563
699
  }
564
700
 
701
+ export interface GetRideOrSeries {
702
+ id?: string;
703
+ }
704
+
705
+ export interface GetRidesForDriver {
706
+ accountId?: string;
707
+ maxSize?: number;
708
+ timeRange?: InstantRange;
709
+ }
710
+
711
+ export interface GetRidesInMarketplace {
712
+ accountId?: string;
713
+ maxSize?: number;
714
+ timeRange?: InstantRange;
715
+ }
716
+
717
+ export interface GetRidesInSeries {
718
+ rideSeriesId?: string;
719
+ }
720
+
721
+ export interface GetSeriesForDriver {
722
+ accountId?: string;
723
+ maxSize?: number;
724
+ timeRange?: InstantRange;
725
+ }
726
+
727
+ export interface GetSeriesInMarketplace {
728
+ accountId?: string;
729
+ maxSize?: number;
730
+ }
731
+
732
+ export interface GetSeriesLog {
733
+ rideSeriesId?: string;
734
+ }
735
+
565
736
  export interface GetTeam {
566
737
  teamId?: string;
567
738
  }
@@ -588,6 +759,18 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
588
759
  teamPermission?: TeamPermission;
589
760
  }
590
761
 
762
+ export interface HalfHourBeforeStart {
763
+ rideId?: string;
764
+ }
765
+
766
+ export interface IGetPotentialDrivers {
767
+ fromDistrict?: string;
768
+ mobility?: Mobility;
769
+ toDistrict?: string;
770
+ vehicleType?: VehicleType;
771
+ weightInKg?: number;
772
+ }
773
+
591
774
  export interface ImpersonateUser {
592
775
  userId?: string;
593
776
  }
@@ -628,6 +811,28 @@ export interface IsoState {
628
811
  nutsCode?: string;
629
812
  }
630
813
 
814
+ export interface Metric {
815
+ clientId?: string;
816
+ clientSegment?: number[];
817
+ maxSize?: number;
818
+ maxTimeout?: string;
819
+ tokenId?: string;
820
+ type?: string;
821
+ updates?: string[];
822
+ }
823
+
824
+ /**
825
+ * 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.
826
+ */
827
+ export interface MinimizedRideSeries extends RideSeries, RideOrMinimizedSeries {
828
+ info?: SeriesRideInfo;
829
+ }
830
+
831
+ export interface Notification {
832
+ body?: string;
833
+ title?: string;
834
+ }
835
+
631
836
  export interface NutsDistrict {
632
837
  code?: string;
633
838
  name?: string;
@@ -650,6 +855,10 @@ export interface OffsetTimeRange {
650
855
  start?: Date;
651
856
  }
652
857
 
858
+ export interface OneHourAfterEnd {
859
+ rideId?: string;
860
+ }
861
+
653
862
  export interface OptimizerMessage {
654
863
  }
655
864
 
@@ -677,6 +886,24 @@ export interface PersonDimensions {
677
886
  export interface PhoneNumber {
678
887
  }
679
888
 
889
+ export interface PlanRide extends RideDriverModifyCommand {
890
+ plannedStartTime?: string;
891
+ }
892
+
893
+ export interface ReadUpdates {
894
+ clientId?: string;
895
+ maxSize?: number;
896
+ maxTimeout?: number;
897
+ tokenId?: string;
898
+ updateTypes?: EntityType[];
899
+ }
900
+
901
+ export interface ReadUpdatesResult {
902
+ clientSegment?: number[];
903
+ lastIndex?: number;
904
+ updates?: any[];
905
+ }
906
+
680
907
  export interface Region {
681
908
  nutsCode?: string;
682
909
  }
@@ -685,16 +912,11 @@ export interface RegisterAuthenticationToken extends UserUpdate {
685
912
  hashedToken?: string;
686
913
  }
687
914
 
688
- export interface RegisterDifferentEta extends FleetModifyCommand {
689
- destinationEta?: string;
690
- originEta?: string;
691
- }
692
-
693
- export interface RegisterDriveStatus extends FleetModifyCommand {
915
+ export interface RegisterDriveStatus extends RideDriverModifyCommand {
694
916
  driveStatus?: DriveStatus;
695
917
  }
696
918
 
697
- export interface RegisterDriverSynced extends FleetModifyCommand {
919
+ export interface RegisterDriverSynced extends RideDriverModifyCommand {
698
920
  }
699
921
 
700
922
  export interface RegisterEinsatz {
@@ -705,6 +927,14 @@ export interface RegisterEinsatz {
705
927
  export interface RemoveAccount extends AccountUpdate {
706
928
  }
707
929
 
930
+ export interface RemoveOperations extends AccountUpdate {
931
+ operateAccount?: string;
932
+ }
933
+
934
+ export interface RemoveOperator extends AccountUpdate {
935
+ operator?: string;
936
+ }
937
+
708
938
  export interface RemoveSettings extends AccountUpdate {
709
939
  type?: IntegrationType;
710
940
  }
@@ -721,6 +951,13 @@ export interface ReportIssue {
721
951
  issue?: string;
722
952
  }
723
953
 
954
+ /**
955
+ * Can only report delays when ride has started and has not arrived at destination.
956
+ */
957
+ export interface ReportRideDelay extends RideDriverModifyCommand {
958
+ minutes?: number;
959
+ }
960
+
724
961
  export interface RequestDrivePermission extends AccountUpdate {
725
962
  drivePermissionId?: string;
726
963
  info?: DrivePermissionInfoRequest;
@@ -735,16 +972,31 @@ export interface RequestUserReset {
735
972
  email?: string;
736
973
  }
737
974
 
975
+ /**
976
+ * Resets the lastIndex position of your token.
977
+ */
978
+ export interface ResetPosition {
979
+ index?: number;
980
+ timestamp?: string;
981
+ tokenId?: string;
982
+ }
983
+
984
+ export interface ReturnRide extends RideDriverModifyCommand {
985
+ }
986
+
987
+ export interface ReturnRideSeries extends SeriesDriverCommand {
988
+ }
989
+
738
990
  export interface Review {
739
991
  comment?: string;
740
992
  stars?: number;
741
993
  }
742
994
 
743
- export interface ReviewRideAsDriver extends FleetModifyCommand {
995
+ export interface ReviewRideAsBooker extends RideBookerCommand {
744
996
  review?: Review;
745
997
  }
746
998
 
747
- export interface ReviewRideAsRider extends RidePlannerCommand {
999
+ export interface ReviewRideAsDriver extends RideDriverModifyCommand {
748
1000
  review?: Review;
749
1001
  }
750
1002
 
@@ -755,6 +1007,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
755
1007
  drivePermissionId?: string;
756
1008
  }
757
1009
 
1010
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1011
+ }
1012
+
758
1013
  export interface RevokeSubscription extends AccountUpdate {
759
1014
  subscriptionId?: string;
760
1015
  }
@@ -762,17 +1017,23 @@ export interface RevokeSubscription extends AccountUpdate {
762
1017
  export interface RevokeToken extends TokenUpdate {
763
1018
  }
764
1019
 
765
- export interface Ride {
1020
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
766
1021
  /**
767
- * Derived from driveOwner != null
1022
+ * Derived from driver != null
768
1023
  */
769
1024
  accepted?: boolean;
1025
+ actualEndTime?: string;
1026
+ actualStartTime?: string;
1027
+ /**
1028
+ * Derived from driveStatus != null
1029
+ */
1030
+ arrived?: boolean;
770
1031
  /**
771
1032
  * Derived from bookedTime != null
772
1033
  */
773
1034
  booked?: boolean;
774
- bookedTime?: string;
775
- bookingStatus?: BookingStatus;
1035
+ booker?: AccountOrTeamRef;
1036
+ bookerReview?: Review;
776
1037
  cancelReason?: string;
777
1038
  cancelled?: boolean;
778
1039
  /**
@@ -780,39 +1041,65 @@ export interface Ride {
780
1041
  */
781
1042
  completed?: boolean;
782
1043
  /**
783
- * Estimated Time of Arrival at the Destination/Drop-off location. Will differ from destinationPta if the driver reported a delay
1044
+ * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
784
1045
  */
785
- destinationEta?: string;
1046
+ desiredEndTime?: string;
786
1047
  /**
787
- * Planned Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1048
+ * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
788
1049
  */
789
- destinationPta?: string;
790
- driveOwner?: AccountOrTeamRef;
1050
+ desiredStartTime?: string;
791
1051
  driveStatus?: DriveStatus;
792
1052
  driverReview?: Review;
793
1053
  driverSyncStatus?: SyncStatus;
1054
+ endTimeDelay?: number;
1055
+ /**
1056
+ * Expected Time of Arrival at the Destination/Drop-off location.
1057
+ */
1058
+ expectedEndTime?: string;
1059
+ /**
1060
+ * Expected Time of Arrival at the Origin/Pick-up location.
1061
+ */
1062
+ expectedStartTime?: string;
794
1063
  info?: RideInfo;
795
1064
  /**
796
- * Estimated Time of Arrival at the Origin/Pick-up location. Will differ from originPta if the driver reported a delay
1065
+ * Derived from plannedStartTime != null
797
1066
  */
798
- originEta?: string;
1067
+ planned?: boolean;
799
1068
  /**
800
- * Planned Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1069
+ * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
801
1070
  */
802
- originPta?: string;
1071
+ plannedEndTime?: string;
1072
+ plannedStartTime?: string;
803
1073
  rideId?: string;
804
- rideOwner?: AccountOrTeamRef;
805
- riderReview?: Review;
1074
+ /**
1075
+ * The time until which rides can be found. It's the planned time or else the desired time.
1076
+ */
1077
+ searchEndTime?: string;
1078
+ /**
1079
+ * The time from which rides can be found. It's the planned time or else the desired time.
1080
+ */
1081
+ searchStartTime?: string;
1082
+ seriesInfo?: SeriesInfo;
1083
+ startTimeDelay?: number;
806
1084
  /**
807
1085
  * Derived from driveStatus != null
808
1086
  */
809
1087
  started?: boolean;
810
1088
  }
811
1089
 
1090
+ export interface RideBookerCommand extends RideCommand {
1091
+ }
1092
+
812
1093
  export interface RideCommand {
813
1094
  rideId?: string;
814
1095
  }
815
1096
 
1097
+ export interface RideDriverCommand extends RideCommand {
1098
+ }
1099
+
1100
+ export interface RideDriverModifyCommand extends RideDriverCommand {
1101
+ }
1102
+
816
1103
  /**
817
1104
  * All durations in seconds
818
1105
  */
@@ -825,39 +1112,41 @@ export interface RideDuration {
825
1112
 
826
1113
  export interface RideFilter {
827
1114
  bookingStatuses?: BookingStatus[];
828
- directions?: Direction[];
829
1115
  driveStatuses?: DriveStatus[];
830
1116
  driverAccountNames?: string[];
831
1117
  driverTeamNames?: string[];
1118
+ entityType?: EntityType;
832
1119
  hasInfection?: boolean;
833
1120
  heavyWeight?: boolean;
834
1121
  mobilities?: Mobility[];
1122
+ purposes?: RidePurpose[];
835
1123
  region?: Region;
836
1124
  requiresMonitoring?: boolean;
837
1125
  requiresOxygen?: boolean;
838
1126
  requiresSuctionAspirator?: boolean;
839
- rideType?: RideType;
840
1127
  riderAccountNames?: string[];
841
1128
  riderTeamNames?: string[];
842
1129
  timeRange?: InstantRange;
1130
+ unfoldRideSeries?: boolean;
1131
+ vehicleType?: VehicleType;
843
1132
  }
844
1133
 
845
1134
  export interface RideFilterCount {
846
1135
  bookingStatuses?: { [P in BookingStatus]?: number };
847
- directions?: { [P in Direction]?: number };
848
1136
  driveStatuses?: { [P in DriveStatus]?: number };
849
1137
  driverAccountNames?: { [index: string]: number };
850
1138
  driverTeamNames?: { [index: string]: number };
851
1139
  hasInfection?: number;
852
1140
  heavyWeight?: number;
853
1141
  mobilities?: { [P in Mobility]?: number };
1142
+ purposes?: { [P in RidePurpose]?: number };
854
1143
  requiresMonitoring?: number;
855
1144
  requiresOxygen?: number;
856
1145
  requiresSuctionAspirator?: number;
857
- rideTypes?: { [P in RideType]?: number };
858
1146
  riderAccountNames?: { [index: string]: number };
859
1147
  riderTeamNames?: { [index: string]: number };
860
1148
  total?: number;
1149
+ vehicleTypes?: { [P in VehicleType]?: number };
861
1150
  }
862
1151
 
863
1152
  export interface RideIdResult {
@@ -867,26 +1156,9 @@ export interface RideIdResult {
867
1156
  /**
868
1157
  * Information about the ride, from the creator of the ride
869
1158
  */
870
- export interface RideInfo {
871
- ambulanceInfo?: AmbulanceInfo;
1159
+ export interface RideInfo extends GenericRideInfo {
872
1160
  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;
1161
+ purpose?: RidePurpose;
890
1162
  }
891
1163
 
892
1164
  export interface RideLog {
@@ -905,22 +1177,95 @@ export interface RideLog {
905
1177
  token?: boolean;
906
1178
  }
907
1179
 
908
- export interface RideOfferInfo {
909
- appointment?: Appointment;
1180
+ export interface RideOperatorCommand extends RideCommand {
910
1181
  }
911
1182
 
912
- export interface RidePlannerCommand extends RideCommand {
1183
+ export interface RideOrMinimizedSeries {
1184
+ bookingStatus?: BookingStatus;
1185
+ entityType?: EntityType;
1186
+ info?: GenericRideInfo;
1187
+ }
1188
+
1189
+ export interface RideOrSeries {
1190
+ bookedTime?: string;
1191
+ bookingStatus?: BookingStatus;
1192
+ driver?: AccountOrTeamRef;
1193
+ entityType?: EntityType;
1194
+ info?: GenericRideInfo;
1195
+ }
1196
+
1197
+ /**
1198
+ * 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.
1199
+ */
1200
+ export interface RideSeries extends RideOrSeries {
1201
+ /**
1202
+ * Derived from driver != null
1203
+ */
1204
+ accepted?: boolean;
1205
+ activeRideCount?: number;
1206
+ /**
1207
+ * Derived from bookedTime != null
1208
+ */
1209
+ booked?: boolean;
1210
+ booker?: AccountOrTeamRef;
1211
+ cancelReason?: string;
1212
+ cancelled?: boolean;
1213
+ info?: SeriesRideInfo;
1214
+ rideSeriesId?: string;
1215
+ rides?: Ride[];
1216
+ ridesSummaries?: RideSummary[];
1217
+ searchEndTime?: string;
1218
+ searchStartTime?: string;
1219
+ }
1220
+
1221
+ export interface RideSeriesIdResult {
1222
+ rideSeriesId?: string;
1223
+ }
1224
+
1225
+ export interface RideSeriesUpdate {
1226
+ after?: RideSeries;
1227
+ before?: RideSeries;
1228
+ entityId?: string;
1229
+ eventType?: string;
1230
+ index?: number;
1231
+ timestamp?: string;
1232
+ type: "rideseries";
1233
+ }
1234
+
1235
+ export interface RideSeriesUtils {
913
1236
  }
914
1237
 
915
1238
  export interface RideStatisticsQuery {
916
1239
  dateRange?: DateRange;
1240
+ zoneId?: string;
917
1241
  }
918
1242
 
919
- export interface RideTypeSpecificFilter {
920
- type: "ambulance" | "taxi";
1243
+ /**
1244
+ * Individual ride timing within a series. Once a ride series is split, you cannot add rides, only remove
1245
+ */
1246
+ export interface RideSummary {
1247
+ appointmentTime?: string;
1248
+ returnTrip?: boolean;
1249
+ rideId?: string;
921
1250
  }
922
1251
 
923
- export interface Role<T> {
1252
+ export interface RideSystemCommand extends RideCommand {
1253
+ }
1254
+
1255
+ export interface RideUpcaster {
1256
+ }
1257
+
1258
+ export interface RideUpdate {
1259
+ after?: Ride;
1260
+ before?: Ride;
1261
+ entityId?: string;
1262
+ eventType?: string;
1263
+ index?: number;
1264
+ timestamp?: string;
1265
+ type: "ride";
1266
+ }
1267
+
1268
+ export interface Role {
924
1269
  }
925
1270
 
926
1271
  /**
@@ -928,7 +1273,14 @@ export interface Role<T> {
928
1273
  */
929
1274
  export interface SaveRide extends CreateRideCommand {
930
1275
  info?: RideInfo;
931
- owner?: AccountOrTeamRef;
1276
+ }
1277
+
1278
+ export interface SaveRideSeries extends CreateSeriesCommand {
1279
+ rideSummaries?: RideSummary[];
1280
+ }
1281
+
1282
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1283
+ accountId?: string;
932
1284
  }
933
1285
 
934
1286
  export interface SendConfirmationEmail {
@@ -942,6 +1294,7 @@ export interface SendEmail {
942
1294
  export interface SendFreshdeskNewTicket {
943
1295
  email?: string;
944
1296
  message?: string;
1297
+ subject?: string;
945
1298
  }
946
1299
 
947
1300
  export interface SendInvitationEmail {
@@ -954,6 +1307,57 @@ export interface SendSlack {
954
1307
  message?: string;
955
1308
  }
956
1309
 
1310
+ export interface SendToFirebase {
1311
+ message?: FirebaseMessage;
1312
+ }
1313
+
1314
+ export interface SeriesBookerCommand extends SeriesCommand {
1315
+ }
1316
+
1317
+ export interface SeriesCommand {
1318
+ rideSeriesId?: string;
1319
+ }
1320
+
1321
+ export interface SeriesCommandWithSeparateEvent {
1322
+ rideSeriesId?: string;
1323
+ }
1324
+
1325
+ export interface SeriesDriverCommand extends SeriesCommand {
1326
+ }
1327
+
1328
+ /**
1329
+ * Information about a ride that is part of series.
1330
+ */
1331
+ export interface SeriesInfo {
1332
+ desyncedFromSeries?: boolean;
1333
+ positionInSeries?: number;
1334
+ returnTrip?: boolean;
1335
+ rideSeriesId?: string;
1336
+ totalRidesInSeries?: number;
1337
+ }
1338
+
1339
+ export interface SeriesOperatorCommand extends SeriesCommand {
1340
+ }
1341
+
1342
+ /**
1343
+ * Information about the ride, from the creator of the ride
1344
+ */
1345
+ export interface SeriesRideInfo extends GenericRideInfo {
1346
+ purpose?: SeriesPurpose;
1347
+ }
1348
+
1349
+ export interface SetOperations extends AccountUpdate {
1350
+ operateAccounts?: string[];
1351
+ }
1352
+
1353
+ export interface SetOperator extends AccountUpdate {
1354
+ operator?: string;
1355
+ }
1356
+
1357
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1358
+ accountPermission?: AccountPermission;
1359
+ }
1360
+
957
1361
  export interface SetSettings extends AccountUpdate {
958
1362
  settings?: any;
959
1363
  }
@@ -994,7 +1398,7 @@ export interface SubscriptionInfo extends TimedPermission {
994
1398
  service?: Service;
995
1399
  }
996
1400
 
997
- export interface TaxiFilter extends RideTypeSpecificFilter {
1401
+ export interface TaxiFilter extends DrivePermissionFilter {
998
1402
  allowedMobilities?: Mobility[];
999
1403
  type: "taxi";
1000
1404
  }
@@ -1030,10 +1434,11 @@ export interface TimedPermission {
1030
1434
  }
1031
1435
 
1032
1436
  export interface Token {
1033
- accountPermission?: AccountPermission;
1437
+ accountPermissions?: AccountPermission[];
1034
1438
  createdBy?: string;
1035
1439
  info?: TokenInfo;
1036
1440
  lastUpdatedBy?: string;
1441
+ owner?: string;
1037
1442
  revoked?: boolean;
1038
1443
  tokenId?: string;
1039
1444
  }
@@ -1061,9 +1466,34 @@ export interface UpdateAccountPermission extends AccountPermissionCommand {
1061
1466
  accountPermission?: AccountPermission;
1062
1467
  }
1063
1468
 
1064
- export interface UpdateRideBooking extends RidePlannerCommand {
1469
+ export interface UpdatePosition {
1470
+ clientSegment?: number[];
1471
+ lastIndex?: number;
1472
+ tokenId?: string;
1473
+ }
1474
+
1475
+ export interface UpdateRide extends RideBookerCommand {
1476
+ booker?: AccountOrTeamRef;
1065
1477
  info?: RideInfo;
1066
- owner?: AccountOrTeamRef;
1478
+ }
1479
+
1480
+ export interface UpdateRidePlan extends RideDriverModifyCommand {
1481
+ plannedStartTime?: string;
1482
+ }
1483
+
1484
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1485
+ booker?: AccountOrTeamRef;
1486
+ info?: SeriesRideInfo;
1487
+ rideSummaries?: RideSummary[];
1488
+ }
1489
+
1490
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1491
+ addRides?: string[];
1492
+ booker?: AccountOrTeamRef;
1493
+ cancelRides?: string[];
1494
+ info?: SeriesRideInfo;
1495
+ rideSummaries?: RideSummary[];
1496
+ updateRides?: string[];
1067
1497
  }
1068
1498
 
1069
1499
  export interface UpdateTeam extends TeamUpdate {
@@ -1079,6 +1509,9 @@ export interface UpdateUserInfo extends UserEdit {
1079
1509
  info?: UserInfo;
1080
1510
  }
1081
1511
 
1512
+ export interface UserAndTokenUpcaster {
1513
+ }
1514
+
1082
1515
  export interface UserCommand {
1083
1516
  userId?: string;
1084
1517
  }
@@ -1119,36 +1552,42 @@ export interface ZonedTimeRange {
1119
1552
  start?: Date;
1120
1553
  }
1121
1554
 
1122
- export type AccountRole = "rideplanner" | "driveplanner" | "admin" | "owner";
1555
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1123
1556
 
1124
1557
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1125
1558
 
1126
- export type BookingStatus = "saved" | "booked" | "accepted" | "started" | "completed" | "cancelled";
1559
+ export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
1127
1560
 
1128
- export type Direction = "admission" | "relocation" | "discharge" | "consultation";
1561
+ export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1129
1562
 
1130
1563
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1131
1564
 
1565
+ export type EntityType = "ride" | "rideseries";
1566
+
1132
1567
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1133
1568
 
1134
1569
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
1135
1570
 
1136
1571
  export type IntegrationType = "dispolive" | "celios";
1137
1572
 
1138
- export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "lying_down";
1573
+ export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1139
1574
 
1140
- export type RideType = "taxi" | "ambulance";
1575
+ export type OrganisationType = "medical" | "fleet" | "operator";
1141
1576
 
1142
- export type RideTypeSpecificFilterUnion = AmbulanceFilter | TaxiFilter;
1577
+ export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1143
1578
 
1144
- export type Service = "rideplanning" | "driveplanning" | "celios_integration" | "dispolive_integration";
1579
+ export type SeriesPurpose = "consultation";
1580
+
1581
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1145
1582
 
1146
1583
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1147
1584
 
1148
- export type StandaloneService = "rideplanning" | "driveplanning";
1585
+ export type StandaloneService = "pro_medical" | "pro_fleet" | "pro_operator";
1149
1586
 
1150
1587
  export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1151
1588
 
1152
- export type TeamRole = "driveplanner" | "rideplanner";
1589
+ export type TeamRole = "dispatcher" | "ridebooker";
1153
1590
 
1154
1591
  export type UserRole = "superadmin";
1592
+
1593
+ 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.861-test-server",
3
+ "version": "0.1.861",
4
4
  "types": "common.d.ts"
5
5
  }
File without changes