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

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 (2) hide show
  1. package/common.d.ts +447 -267
  2. package/package.json +1 -1
package/common.d.ts CHANGED
@@ -1,10 +1,44 @@
1
1
 
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
+ /**
30
+ * @deprecated
31
+ */
32
+ maxSize?: number;
33
+ term?: string;
34
+ }
35
+
2
36
  export interface AcceptRide extends RideDriverCommand {
3
37
  driver?: AccountOrTeamRef;
4
38
  }
5
39
 
6
- export interface AcceptRideSeries extends RideDriverSeriesCommand {
7
- dispatcher?: AccountOrTeamRef;
40
+ export interface AcceptRideSeries extends SeriesDriverCommand {
41
+ driver?: AccountOrTeamRef;
8
42
  }
9
43
 
10
44
  export interface AcceptUserAgreement extends UserEdit {
@@ -26,6 +60,12 @@ export interface Account {
26
60
  drivePermissions?: DrivePermission[];
27
61
  info?: AccountInfo;
28
62
  integrationSettings?: any[];
63
+ operateAccounts?: string[];
64
+ operators?: string[];
65
+ /**
66
+ * Derived from subscriptions. Includes organisation types that have not been confirmed yet by a superadmin or are active in past or future.
67
+ */
68
+ organisationTypes?: OrganisationType[];
29
69
  subscriptions?: Subscription[];
30
70
  teams?: Team[];
31
71
  unconfirmedCriticalInfo?: CriticalAccountInfo;
@@ -67,6 +107,10 @@ export interface AccountPermissionCommand extends UserUpdate {
67
107
  accountId?: string;
68
108
  }
69
109
 
110
+ export interface AccountPermissionFilter {
111
+ roles?: AccountRole[];
112
+ }
113
+
70
114
  export interface AccountRef {
71
115
  accountId?: string;
72
116
  name?: string;
@@ -78,14 +122,15 @@ export interface AccountUpcaster {
78
122
  export interface AccountUpdate extends AccountCommand {
79
123
  }
80
124
 
81
- /**
82
- * Address info of a google-validated address, including geolocation and district code
83
- */
125
+ export interface AddOperations extends AccountUpdate {
126
+ operateAccount?: string;
127
+ }
128
+
84
129
  export interface AddressInfo {
85
130
  addition?: string;
86
131
  city?: string;
87
132
  /**
88
- * Derived from districtNutsCode
133
+ * The NUTS country code, derived from districtNutsCode
89
134
  */
90
135
  country?: string;
91
136
  districtNutsCode?: string;
@@ -94,12 +139,12 @@ export interface AddressInfo {
94
139
  number?: string;
95
140
  placeName?: string;
96
141
  /**
97
- * Derived from districtNutsCode
142
+ * The NUTS level 1 code, derived from districtNutsCode
98
143
  */
99
144
  state?: string;
100
145
  street?: string;
101
146
  /**
102
- * Derived from districtNutsCode
147
+ * The NUTS level 2 code, derived from districtNutsCode
103
148
  */
104
149
  subState?: string;
105
150
  zipCode?: string;
@@ -119,38 +164,31 @@ export interface AmbulanceFilter extends DrivePermissionFilter {
119
164
  }
120
165
 
121
166
  /**
122
- * Filled if (and only if) vehicleType == ambulance
167
+ * Mandatory if the vehicleType is ambulance, forbidden if taxi
123
168
  */
124
169
  export interface AmbulanceInfo {
125
170
  /**
126
- * Derived from infectionDescription != blank
171
+ * True if infectionDescription is given
127
172
  */
128
173
  hasInfection?: boolean;
129
174
  infectionDescription?: string;
130
175
  monitoringDescription?: string;
131
176
  oxygenLiterPerHour?: number;
132
177
  /**
133
- * Derived from monitoringDescription != blank
178
+ * True if monitoringDescription is given
134
179
  */
135
180
  requiresMonitoring?: boolean;
136
181
  /**
137
- * Derived from oxygenLiterPerHour != null
182
+ * True if oxygenLiterPerHour is given
138
183
  */
139
184
  requiresOxygen?: boolean;
140
185
  requiresSuctionAspirator?: boolean;
141
186
  }
142
187
 
143
- /**
144
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
145
-
146
- */
147
- export interface AnonymizedGenericRideInfo extends GenericRideInfo {
188
+ export interface AnonymizedRideInfo extends RideInfo {
148
189
  }
149
190
 
150
- /**
151
- * Information about the ride, from the creator of the ride
152
- */
153
- export interface AnonymizedRideInfo extends RideInfo {
191
+ export interface AnonymizedSeriesRideInfo extends SeriesRideInfo {
154
192
  }
155
193
 
156
194
  export interface Appointment {
@@ -158,7 +196,11 @@ export interface Appointment {
158
196
  time?: string;
159
197
  }
160
198
 
161
- export interface AssignDriver extends RideCommand {
199
+ export interface AssignDriver extends RideOperatorCommand {
200
+ driver?: AccountOrTeamRef;
201
+ }
202
+
203
+ export interface AssignRideSeriesDriver extends SeriesOperatorCommand {
162
204
  driver?: AccountOrTeamRef;
163
205
  }
164
206
 
@@ -180,39 +222,31 @@ export interface AuthenticationResponse {
180
222
  userProfile?: UserProfile;
181
223
  }
182
224
 
183
- export interface AuthenticationService {
225
+ export interface AuthenticationResponseFactory {
184
226
  }
185
227
 
186
- export interface BatchUpdateRideSeriesInfo extends RideSeriesPostConfirmCommand {
187
- info?: GenericRideInfo;
188
- updater?: AccountOrTeamRef;
189
- }
190
-
191
- export interface BatchUpdateRideSeriesTimes extends RideSeriesPostConfirmCommand {
192
- rides?: SingleRideUpdate[];
193
- updater?: AccountOrTeamRef;
228
+ export interface AuthenticationService {
194
229
  }
195
230
 
196
231
  export interface BookRide extends CreateRideCommand {
197
- booker?: AccountOrTeamRef;
198
232
  info?: RideInfo;
199
233
  }
200
234
 
201
- export interface BookRideSeries extends RideBookerSeriesCommand {
202
- booker?: AccountOrTeamRef;
203
- info?: GenericRideInfo;
204
- rides?: SingleRide[];
235
+ export interface BookRideSeries extends CreateSeriesCommand {
236
+ rideSummaries?: RideSummary[];
205
237
  }
206
238
 
207
239
  export interface CancelRide extends RideBookerCommand {
208
240
  reason?: string;
209
241
  }
210
242
 
211
- export interface CancelRideSeries extends RideBookerSeriesCommand {
243
+ export interface CancelRideSeries extends SeriesCommandWithSeparateEvent {
244
+ reason?: string;
212
245
  }
213
246
 
214
- export interface CancelRidesInSeries extends RideSeriesPostConfirmCommand {
215
- updater?: AccountOrTeamRef;
247
+ export interface CancelRideSeriesEvent extends SeriesBookerCommand {
248
+ cancelRides?: string[];
249
+ reason?: string;
216
250
  }
217
251
 
218
252
  export interface CeliosSettings {
@@ -234,6 +268,20 @@ export interface CheckIfUserSignedUp {
234
268
  userId?: string;
235
269
  }
236
270
 
271
+ export interface CheckSession {
272
+ userId?: string;
273
+ }
274
+
275
+ /**
276
+ * You can send in custom values. For every value you don't send in, we lookup the default setting you set up in your account.
277
+ */
278
+ export interface CleaningAndSlack {
279
+ cleaningAtGarage?: boolean;
280
+ cleaningDuration?: number;
281
+ dropoffDuration?: number;
282
+ pickupDuration?: number;
283
+ }
284
+
237
285
  export interface ConfirmAccount extends AccountCommand {
238
286
  }
239
287
 
@@ -272,17 +320,12 @@ export interface CreateOptimizationPlan extends OptimizerMessage {
272
320
  }
273
321
 
274
322
  export interface CreateRideCommand extends RideBookerCommand {
275
- booker?: AccountOrTeamId;
276
- }
277
-
278
- export interface CreateRideFromSeries extends RideDriverCommand {
279
323
  booker?: AccountOrTeamRef;
280
- driver?: AccountOrTeamRef;
281
- info?: RideInfo;
282
- seriesInfo?: SeriesInfo;
283
324
  }
284
325
 
285
- export interface CreateRidesFromSeries extends RideDriverSeriesCommand {
326
+ export interface CreateSeriesCommand extends SeriesBookerCommand {
327
+ booker?: AccountOrTeamRef;
328
+ info?: SeriesRideInfo;
286
329
  }
287
330
 
288
331
  export interface CreateSqueezeInPlan extends OptimizerMessage {
@@ -318,6 +361,11 @@ export interface DateRange {
318
361
  export interface DeleteUser extends UserEdit {
319
362
  }
320
363
 
364
+ export interface DetailsFilter extends WebsocketFilter {
365
+ id?: string;
366
+ screen: "ride_details";
367
+ }
368
+
321
369
  export interface DisconnectClient {
322
370
  clientId?: string;
323
371
  tokenId?: string;
@@ -428,47 +476,25 @@ export interface FindAccounts {
428
476
  term?: string;
429
477
  }
430
478
 
431
- /**
432
- * @deprecated
433
- */
434
- export interface FindMyAcceptedRides {
479
+ export interface FindDuplicateRides {
435
480
  accountId?: string;
436
- descending?: boolean;
437
- filter?: RideFilter;
438
- maxSize?: number;
439
- term?: string;
481
+ appointmentTime?: string;
482
+ patientBirthDay?: string;
483
+ patientFirstName?: string;
484
+ patientLastName?: string;
440
485
  }
441
486
 
442
- /**
443
- * @deprecated
444
- */
445
- export interface FindMyRideOffers {
446
- accountId?: string;
447
- descending?: boolean;
448
- filter?: RideFilter;
449
- maxSize?: number;
450
- term?: string;
487
+ export interface FindMyRides extends AbstractFindMyRides {
451
488
  }
452
489
 
453
- export interface FindMyRideSeries {
454
- accountId?: string;
455
- descending?: boolean;
456
- maxSize?: number;
457
- term?: string;
458
- timeRange?: InstantRange;
490
+ export interface FindMyRidesAndSeries extends AbstractFindMyRides {
459
491
  }
460
492
 
461
- export interface FindMyRides {
462
- accountId?: string;
463
- descending?: boolean;
464
- filter?: RideFilter;
465
- maxSize?: number;
466
- term?: string;
493
+ export interface FindMySeries extends AbstractFindMyRides {
467
494
  }
468
495
 
469
496
  export interface FindMyTokens {
470
497
  accountId?: string;
471
- teamId?: string;
472
498
  term?: string;
473
499
  }
474
500
 
@@ -478,34 +504,27 @@ export interface FindMyUsers {
478
504
  term?: string;
479
505
  }
480
506
 
481
- export interface FindPotentialRideSeries {
482
- accountId?: string;
483
- descending?: boolean;
484
- filter?: RideInfoFilter;
485
- maxSize?: number;
507
+ export interface FindRides extends AbstractFindRides {
486
508
  }
487
509
 
488
- export interface FindPotentialRides {
489
- accountId?: string;
490
- descending?: boolean;
491
- filter?: RideFilter;
492
- maxSize?: number;
493
- term?: string;
510
+ export interface FindRidesAndSeries extends AbstractFindRides {
494
511
  }
495
512
 
496
- export interface FindRides {
497
- descending?: boolean;
498
- filter?: RideFilter;
499
- maxSize?: number;
500
- term?: string;
513
+ export interface FindRidesAndSeriesForDriver extends AbstractFindRidesForDriver {
501
514
  }
502
515
 
503
- export interface FindRidesForDriver {
504
- accountId?: string;
505
- descending?: boolean;
506
- filter?: RideFilter;
507
- maxSize?: number;
508
- term?: string;
516
+ export interface FindRidesAndSeriesInMarketplace extends AbstractFindRidesInMarketplace {
517
+ }
518
+
519
+ export interface FindRidesAndSeriesResult {
520
+ ridesAndSeries?: RideOrMinimizedSeries[];
521
+ ridesCount?: RideFilterCount;
522
+ }
523
+
524
+ export interface FindRidesForDriver extends AbstractFindRidesForDriver {
525
+ }
526
+
527
+ export interface FindRidesInMarketplace extends AbstractFindRidesInMarketplace {
509
528
  }
510
529
 
511
530
  export interface FindRidesResult {
@@ -513,24 +532,47 @@ export interface FindRidesResult {
513
532
  rides?: Ride[];
514
533
  }
515
534
 
535
+ export interface FindSeries extends AbstractFindRides {
536
+ }
537
+
538
+ export interface FindSeriesForDriver extends AbstractFindRidesForDriver {
539
+ }
540
+
541
+ export interface FindSeriesInMarketplace extends AbstractFindRidesInMarketplace {
542
+ }
543
+
516
544
  export interface FindTokens {
517
545
  term?: string;
518
546
  }
519
547
 
520
548
  export interface FindUsers {
549
+ accountFilter?: AccountFilter;
550
+ accountPermissionFilter?: AccountPermissionFilter;
521
551
  term?: string;
522
552
  }
523
553
 
554
+ export interface FirebaseMessage {
555
+ data?: { [index: string]: string };
556
+ notification?: Notification;
557
+ topic?: string;
558
+ }
559
+
560
+ export interface FleetOverviewFilter extends WebsocketFilter {
561
+ queryFilter?: FindRidesAndSeriesForDriver;
562
+ screen: "fleet_overview";
563
+ }
564
+
524
565
  export interface GenerateToken {
525
566
  accountPermission?: AccountPermission;
526
567
  info?: TokenInfo;
527
568
  tokenId?: string;
528
569
  }
529
570
 
530
- /**
531
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
571
+ export interface GenerateTokenResult {
572
+ entity?: Token;
573
+ jwt?: string;
574
+ }
532
575
 
533
- */
534
576
  export interface GenericRideInfo {
535
577
  ambulanceInfo?: AmbulanceInfo;
536
578
  attendantsPresent?: number;
@@ -546,7 +588,6 @@ export interface GenericRideInfo {
546
588
  patient?: Person;
547
589
  plannedDuration?: RideDuration;
548
590
  preferredDriver?: string;
549
- purpose?: RidePurpose;
550
591
  to?: AddressInfo;
551
592
  vehicleType?: VehicleType;
552
593
  weightInKg?: number;
@@ -582,22 +623,16 @@ export interface GetAccount {
582
623
  accountId?: string;
583
624
  }
584
625
 
585
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
586
- }
587
-
588
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
589
- }
590
-
591
- export interface GetAllRideSeriesForDriver {
592
- accountId?: string;
593
- descending?: boolean;
594
- maxSize?: number;
595
- timeRange?: InstantRange;
626
+ /**
627
+ * @deprecated
628
+ */
629
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
596
630
  }
597
631
 
598
- export interface GetAllRideSeriesInMarketplace {
599
- accountId?: string;
600
- maxSize?: number;
632
+ /**
633
+ * @deprecated
634
+ */
635
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
601
636
  }
602
637
 
603
638
  export interface GetDistrict {
@@ -620,29 +655,17 @@ export interface GetIsoStates {
620
655
  export interface GetMonopolyAccounts {
621
656
  }
622
657
 
623
- /**
624
- * @deprecated
625
- */
626
- export interface GetMyAcceptedRides {
627
- accountId?: string;
628
- maxSize?: number;
629
- timeRange?: InstantRange;
630
- }
631
-
632
658
  export interface GetMyAccounts {
633
659
  filter?: AccountFilter;
634
660
  }
635
661
 
636
- /**
637
- * @deprecated
638
- */
639
- export interface GetMyRideOffers {
662
+ export interface GetMyRides {
640
663
  accountId?: string;
641
664
  maxSize?: number;
642
665
  timeRange?: InstantRange;
643
666
  }
644
667
 
645
- export interface GetMyRides {
668
+ export interface GetMySeries {
646
669
  accountId?: string;
647
670
  maxSize?: number;
648
671
  timeRange?: InstantRange;
@@ -657,21 +680,25 @@ export interface GetMyUserProfile {
657
680
  export interface GetNutsStates {
658
681
  }
659
682
 
660
- export interface GetPotentialDrivers {
661
- fromDistrict?: string;
662
- mobility?: Mobility;
663
- toDistrict?: string;
664
- vehicleType?: VehicleType;
665
- weightInKg?: number;
683
+ export interface GetOneSeries {
684
+ rideSeriesId?: string;
685
+ }
686
+
687
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
666
688
  }
667
689
 
668
690
  /**
669
- * @deprecated
691
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
692
+
670
693
  */
671
- export interface GetPotentialRides {
672
- accountId?: string;
673
- maxSize?: number;
674
- timeRange?: InstantRange;
694
+ export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
695
+ }
696
+
697
+ export interface GetPotentialDriversAbstract {
698
+ fromDistrict?: string;
699
+ mobility?: Mobility;
700
+ vehicleType?: VehicleType;
701
+ weightInKg?: number;
675
702
  }
676
703
 
677
704
  export interface GetRide {
@@ -693,30 +720,38 @@ export interface GetRideLog {
693
720
  rideId?: string;
694
721
  }
695
722
 
696
- export interface GetRideSeries {
697
- rideSeriesId?: string;
723
+ export interface GetRideOrSeries {
724
+ id?: string;
698
725
  }
699
726
 
700
- export interface GetRideSeriesForDriver {
727
+ export interface GetRidesForDriver {
701
728
  accountId?: string;
702
729
  maxSize?: number;
703
730
  timeRange?: InstantRange;
704
731
  }
705
732
 
706
- export interface GetRidesForDriver {
733
+ export interface GetRidesInMarketplace {
707
734
  accountId?: string;
708
735
  maxSize?: number;
709
736
  timeRange?: InstantRange;
710
737
  }
711
738
 
712
- export interface GetRidesInMarketplace {
739
+ export interface GetRidesInSeries {
740
+ rideSeriesId?: string;
741
+ }
742
+
743
+ export interface GetSeriesForDriver {
713
744
  accountId?: string;
714
745
  maxSize?: number;
715
746
  timeRange?: InstantRange;
716
747
  }
717
748
 
718
- export interface GetRidesInSeries {
719
- filter?: RideFilter;
749
+ export interface GetSeriesInMarketplace {
750
+ accountId?: string;
751
+ maxSize?: number;
752
+ }
753
+
754
+ export interface GetSeriesLog {
720
755
  rideSeriesId?: string;
721
756
  }
722
757
 
@@ -746,6 +781,23 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
746
781
  teamPermission?: TeamPermission;
747
782
  }
748
783
 
784
+ export interface HalfHourBeforeStart {
785
+ rideId?: string;
786
+ }
787
+
788
+ export interface HospitalOverviewFilter extends WebsocketFilter {
789
+ queryFilter?: FindMyRidesAndSeries;
790
+ screen: "hospital_overview";
791
+ }
792
+
793
+ export interface IGetPotentialDrivers {
794
+ fromDistrict?: string;
795
+ mobility?: Mobility;
796
+ toDistrict?: string;
797
+ vehicleType?: VehicleType;
798
+ weightInKg?: number;
799
+ }
800
+
749
801
  export interface ImpersonateUser {
750
802
  userId?: string;
751
803
  }
@@ -786,6 +838,11 @@ export interface IsoState {
786
838
  nutsCode?: string;
787
839
  }
788
840
 
841
+ export interface MarketplaceOverviewFilter extends WebsocketFilter {
842
+ queryFilter?: FindRidesAndSeriesInMarketplace;
843
+ screen: "marketplace";
844
+ }
845
+
789
846
  export interface Metric {
790
847
  clientId?: string;
791
848
  clientSegment?: number[];
@@ -796,6 +853,18 @@ export interface Metric {
796
853
  updates?: string[];
797
854
  }
798
855
 
856
+ /**
857
+ * A series of rides.
858
+ */
859
+ export interface MinimizedRideSeries extends RideSeries, RideOrMinimizedSeries {
860
+ info?: SeriesRideInfo;
861
+ }
862
+
863
+ export interface Notification {
864
+ body?: string;
865
+ title?: string;
866
+ }
867
+
799
868
  export interface NutsDistrict {
800
869
  code?: string;
801
870
  name?: string;
@@ -818,6 +887,15 @@ export interface OffsetTimeRange {
818
887
  start?: Date;
819
888
  }
820
889
 
890
+ export interface OneHourAfterEnd {
891
+ rideId?: string;
892
+ }
893
+
894
+ export interface OperationsOverviewFilter extends WebsocketFilter {
895
+ queryFilter?: FindRidesAndSeries;
896
+ screen: "operations_overview";
897
+ }
898
+
821
899
  export interface OptimizerMessage {
822
900
  }
823
901
 
@@ -834,7 +912,7 @@ export interface Person {
834
912
  }
835
913
 
836
914
  /**
837
- * Filled if (and only if) patient exceeds 130 kg
915
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
838
916
  */
839
917
  export interface PersonDimensions {
840
918
  heightInCm?: number;
@@ -854,7 +932,7 @@ export interface ReadUpdates {
854
932
  maxSize?: number;
855
933
  maxTimeout?: number;
856
934
  tokenId?: string;
857
- updateTypes?: TrackingUpdateType[];
935
+ updateTypes?: EntityType[];
858
936
  }
859
937
 
860
938
  export interface ReadUpdatesResult {
@@ -863,6 +941,24 @@ export interface ReadUpdatesResult {
863
941
  updates?: any[];
864
942
  }
865
943
 
944
+ export interface RefreshTokenData {
945
+ expiresAt?: string;
946
+ hashedToken?: string;
947
+ userId?: string;
948
+ }
949
+
950
+ export interface RefreshTokenService {
951
+ }
952
+
953
+ export interface RefreshUserToken {
954
+ refreshToken?: string;
955
+ }
956
+
957
+ export interface RefreshableAuthenticationResponse extends AuthenticationResponse {
958
+ refreshToken?: string;
959
+ refreshTokenDeadline?: string;
960
+ }
961
+
866
962
  export interface Region {
867
963
  nutsCode?: string;
868
964
  }
@@ -886,6 +982,14 @@ export interface RegisterEinsatz {
886
982
  export interface RemoveAccount extends AccountUpdate {
887
983
  }
888
984
 
985
+ export interface RemoveOperations extends AccountUpdate {
986
+ operateAccount?: string;
987
+ }
988
+
989
+ export interface RemoveOperator extends AccountUpdate {
990
+ operator?: string;
991
+ }
992
+
889
993
  export interface RemoveSettings extends AccountUpdate {
890
994
  type?: IntegrationType;
891
995
  }
@@ -935,7 +1039,7 @@ export interface ResetPosition {
935
1039
  export interface ReturnRide extends RideDriverModifyCommand {
936
1040
  }
937
1041
 
938
- export interface ReturnRideSeries extends RideDriverSeriesCommand {
1042
+ export interface ReturnRideSeries extends SeriesDriverCommand {
939
1043
  }
940
1044
 
941
1045
  export interface Review {
@@ -958,6 +1062,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
958
1062
  drivePermissionId?: string;
959
1063
  }
960
1064
 
1065
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1066
+ }
1067
+
961
1068
  export interface RevokeSubscription extends AccountUpdate {
962
1069
  subscriptionId?: string;
963
1070
  }
@@ -965,75 +1072,70 @@ export interface RevokeSubscription extends AccountUpdate {
965
1072
  export interface RevokeToken extends TokenUpdate {
966
1073
  }
967
1074
 
968
- export interface Ride {
1075
+ export interface RevokeUserRefreshTokens {
1076
+ userId?: string;
1077
+ }
1078
+
1079
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
969
1080
  /**
970
- * Derived from driver != null
1081
+ * 'accepted' is true if a driver has accepted the ride.
971
1082
  */
972
1083
  accepted?: boolean;
1084
+ acceptedTime?: string;
973
1085
  actualEndTime?: string;
974
1086
  actualStartTime?: string;
975
1087
  /**
976
- * Derived from driveStatus != null
1088
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
977
1089
  */
978
1090
  arrived?: boolean;
979
1091
  /**
980
- * Derived from bookedTime != null
1092
+ * 'booked' is false if the ride has only been saved.
981
1093
  */
982
1094
  booked?: boolean;
983
- bookedTime?: string;
984
1095
  booker?: AccountOrTeamRef;
985
1096
  bookerReview?: Review;
986
- bookingStatus?: BookingStatus;
987
1097
  cancelReason?: string;
988
1098
  cancelled?: boolean;
989
1099
  /**
990
- * Derived from driveStatus == completed
1100
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
991
1101
  */
992
1102
  completed?: boolean;
993
1103
  /**
994
- * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1104
+ * The booker determines the desiredEndTime via 'info.appointment' and 'info.plannedDuration'. It means the desired time of arrival at the 'to' or 'drop-off' location.
995
1105
  */
996
1106
  desiredEndTime?: string;
997
1107
  /**
998
- * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1108
+ * The booker determines the desiredStartTime via 'info.appointment' and 'info.plannedDuration'. It means the desired time of arrival at the 'from' or 'pick-up' location.
999
1109
  */
1000
1110
  desiredStartTime?: string;
1001
1111
  driveStatus?: DriveStatus;
1002
- driver?: AccountOrTeamRef;
1003
1112
  driverReview?: Review;
1004
1113
  driverSyncStatus?: SyncStatus;
1005
1114
  endTimeDelay?: number;
1006
1115
  /**
1007
- * Expected Time of Arrival at the Destination/Drop-off location.
1116
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'to' or 'drop-off' location.
1008
1117
  */
1009
1118
  expectedEndTime?: string;
1010
1119
  /**
1011
- * Expected Time of Arrival at the Origin/Pick-up location.
1120
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1012
1121
  */
1013
1122
  expectedStartTime?: string;
1014
1123
  info?: RideInfo;
1124
+ marketplaceTime?: string;
1015
1125
  /**
1016
- * Derived from plannedStartTime != null
1126
+ * 'planned' is true if the driver has reported a planned time for the ride.
1017
1127
  */
1018
1128
  planned?: boolean;
1019
1129
  /**
1020
- * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
1130
+ * The driver determines the plannedEndTime. It means the planned time of arrival at the 'to' or 'drop-off' location.
1021
1131
  */
1022
1132
  plannedEndTime?: string;
1023
1133
  plannedStartTime?: string;
1024
1134
  rideId?: string;
1025
- /**
1026
- * The time until which rides can be found. It's the planned time or else the desired time.
1027
- */
1028
- searchEndTime?: string;
1029
- /**
1030
- * The time from which rides can be found. It's the planned time or else the desired time.
1031
- */
1032
- searchStartTime?: string;
1033
1135
  seriesInfo?: SeriesInfo;
1034
1136
  startTimeDelay?: number;
1035
1137
  /**
1036
- * Derived from driveStatus != null
1138
+ * 'started' is true if the driver has reported a driveStatus.
1037
1139
  */
1038
1140
  started?: boolean;
1039
1141
  }
@@ -1041,9 +1143,6 @@ export interface Ride {
1041
1143
  export interface RideBookerCommand extends RideCommand {
1042
1144
  }
1043
1145
 
1044
- export interface RideBookerSeriesCommand extends RideSeriesCommand {
1045
- }
1046
-
1047
1146
  export interface RideCommand {
1048
1147
  rideId?: string;
1049
1148
  }
@@ -1054,16 +1153,19 @@ export interface RideDriverCommand extends RideCommand {
1054
1153
  export interface RideDriverModifyCommand extends RideDriverCommand {
1055
1154
  }
1056
1155
 
1057
- export interface RideDriverSeriesCommand extends RideSeriesPreConfirmCommand {
1058
- }
1059
-
1060
- /**
1061
- * All durations in seconds
1062
- */
1063
1156
  export interface RideDuration {
1064
1157
  driving?: number;
1158
+ /**
1159
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1160
+ */
1065
1161
  droppingOff?: number;
1162
+ /**
1163
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1164
+ */
1066
1165
  pickingUp?: number;
1166
+ /**
1167
+ * Seconds of driving time plus the pick-up and drop-off slack times
1168
+ */
1067
1169
  total?: number;
1068
1170
  }
1069
1171
 
@@ -1072,6 +1174,7 @@ export interface RideFilter {
1072
1174
  driveStatuses?: DriveStatus[];
1073
1175
  driverAccountNames?: string[];
1074
1176
  driverTeamNames?: string[];
1177
+ entityType?: EntityType;
1075
1178
  hasInfection?: boolean;
1076
1179
  heavyWeight?: boolean;
1077
1180
  mobilities?: Mobility[];
@@ -1083,6 +1186,7 @@ export interface RideFilter {
1083
1186
  riderAccountNames?: string[];
1084
1187
  riderTeamNames?: string[];
1085
1188
  timeRange?: InstantRange;
1189
+ unfoldRideSeries?: boolean;
1086
1190
  vehicleType?: VehicleType;
1087
1191
  }
1088
1192
 
@@ -1108,41 +1212,9 @@ export interface RideIdResult {
1108
1212
  rideId?: string;
1109
1213
  }
1110
1214
 
1111
- /**
1112
- * Information about the ride, from the creator of the ride
1113
- */
1114
- export interface RideInfo {
1115
- ambulanceInfo?: AmbulanceInfo;
1215
+ export interface RideInfo extends GenericRideInfo {
1116
1216
  appointment?: Appointment;
1117
- attendantsPresent?: number;
1118
- comment?: string;
1119
- dimensions?: PersonDimensions;
1120
- distanceInMeters?: number;
1121
- from?: AddressInfo;
1122
- /**
1123
- * Derived from weightInKg != null
1124
- */
1125
- heavyWeight?: boolean;
1126
- mobility?: Mobility;
1127
- patient?: Person;
1128
- plannedDuration?: RideDuration;
1129
- preferredDriver?: string;
1130
1217
  purpose?: RidePurpose;
1131
- to?: AddressInfo;
1132
- vehicleType?: VehicleType;
1133
- weightInKg?: number;
1134
- }
1135
-
1136
- export interface RideInfoFilter {
1137
- hasInfection?: boolean;
1138
- heavyWeight?: boolean;
1139
- mobilities?: Mobility[];
1140
- purposes?: RidePurpose[];
1141
- region?: Region;
1142
- requiresMonitoring?: boolean;
1143
- requiresOxygen?: boolean;
1144
- requiresSuctionAspirator?: boolean;
1145
- vehicleType?: VehicleType;
1146
1218
  }
1147
1219
 
1148
1220
  export interface RideLog {
@@ -1161,39 +1233,62 @@ export interface RideLog {
1161
1233
  token?: boolean;
1162
1234
  }
1163
1235
 
1164
- export interface RideOfferInfo {
1165
- appointment?: Appointment;
1236
+ export interface RideOperatorCommand extends RideCommand {
1166
1237
  }
1167
1238
 
1168
- export interface RideSeries {
1169
- accepted?: boolean;
1170
- booked?: boolean;
1171
- booker?: AccountOrTeamRef;
1172
- cancelled?: boolean;
1173
- confirmed?: boolean;
1174
- driver?: AccountOrTeamRef;
1175
- endTime?: string;
1239
+ export interface RideOrMinimizedSeries {
1240
+ bookingStatus?: BookingStatus;
1241
+ entityType?: EntityType;
1176
1242
  info?: GenericRideInfo;
1177
- rideSeriesId?: string;
1178
- rides?: SingleRide[];
1179
- startTime?: string;
1180
- status?: RideSeriesStatus;
1243
+ searchEndTime?: string;
1244
+ searchStartTime?: string;
1181
1245
  }
1182
1246
 
1183
- export interface RideSeriesCommand {
1184
- rideSeriesId?: string;
1247
+ export interface RideOrSeries {
1248
+ bookedTime?: string;
1249
+ bookingStatus?: BookingStatus;
1250
+ cleaningAndSlack?: CleaningAndSlack;
1251
+ driver?: AccountOrTeamRef;
1252
+ entityType?: EntityType;
1253
+ info?: GenericRideInfo;
1254
+ totalDuration?: number;
1185
1255
  }
1186
1256
 
1187
- export interface RideSeriesIdResult {
1257
+ /**
1258
+ * A series of rides.
1259
+ */
1260
+ export interface RideSeries extends RideOrSeries {
1261
+ /**
1262
+ * 'accepted' is true if a driver has accepted the series.
1263
+ */
1264
+ accepted?: boolean;
1265
+ /**
1266
+ * The number of rides in the series that are not cancelled.
1267
+ */
1268
+ activeRideCount?: number;
1269
+ /**
1270
+ * 'booked' is false if the series has only been saved.
1271
+ */
1272
+ booked?: boolean;
1273
+ booker?: AccountOrTeamRef;
1274
+ cancelReason?: string;
1275
+ cancelled?: boolean;
1276
+ info?: SeriesRideInfo;
1188
1277
  rideSeriesId?: string;
1278
+ rides?: Ride[];
1279
+ ridesSummaries?: RideSummary[];
1280
+ /**
1281
+ * searchEndTime is the time from which series can be found in our system. It's the searchEndTime of the last ride in the series.
1282
+ */
1283
+ searchEndTime?: string;
1284
+ /**
1285
+ * searchStartTime is the time from which series can be found in our system. It's the searchStartTime of the first ride in the series.
1286
+ */
1287
+ searchStartTime?: string;
1189
1288
  }
1190
1289
 
1191
- export interface RideSeriesPostConfirmCommand {
1290
+ export interface RideSeriesIdResult {
1192
1291
  rideSeriesId?: string;
1193
- ridesToModify?: Ride[];
1194
- }
1195
-
1196
- export interface RideSeriesPreConfirmCommand extends RideSeriesCommand {
1197
1292
  }
1198
1293
 
1199
1294
  export interface RideSeriesUpdate {
@@ -1206,12 +1301,23 @@ export interface RideSeriesUpdate {
1206
1301
  type: "rideseries";
1207
1302
  }
1208
1303
 
1304
+ export interface RideSeriesUtils {
1305
+ }
1306
+
1209
1307
  export interface RideStatisticsQuery {
1210
1308
  dateRange?: DateRange;
1211
- timezoneOrDefault?: string;
1212
1309
  zoneId?: string;
1213
1310
  }
1214
1311
 
1312
+ /**
1313
+ * Individual ride timing within a series. Once a ride series is accepted, you cannot add rides, only remove
1314
+ */
1315
+ export interface RideSummary {
1316
+ appointmentTime?: string;
1317
+ returnTrip?: boolean;
1318
+ rideId?: string;
1319
+ }
1320
+
1215
1321
  export interface RideSystemCommand extends RideCommand {
1216
1322
  }
1217
1323
 
@@ -1228,17 +1334,24 @@ export interface RideUpdate {
1228
1334
  type: "ride";
1229
1335
  }
1230
1336
 
1231
- export interface Role<T> {
1337
+ export interface Role {
1232
1338
  }
1233
1339
 
1234
1340
  /**
1235
1341
  * Save a new ride or update a previously saved ride. Not allowed to saveRide after the ride has been booked.
1236
1342
  */
1237
1343
  export interface SaveRide extends CreateRideCommand {
1238
- booker?: AccountOrTeamRef;
1239
1344
  info?: RideInfo;
1240
1345
  }
1241
1346
 
1347
+ export interface SaveRideSeries extends CreateSeriesCommand {
1348
+ rideSummaries?: RideSummary[];
1349
+ }
1350
+
1351
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1352
+ accountId?: string;
1353
+ }
1354
+
1242
1355
  export interface SendConfirmationEmail {
1243
1356
  userId?: string;
1244
1357
  }
@@ -1250,6 +1363,7 @@ export interface SendEmail {
1250
1363
  export interface SendFreshdeskNewTicket {
1251
1364
  email?: string;
1252
1365
  message?: string;
1366
+ subject?: string;
1253
1367
  }
1254
1368
 
1255
1369
  export interface SendInvitationEmail {
@@ -1262,12 +1376,52 @@ export interface SendSlack {
1262
1376
  message?: string;
1263
1377
  }
1264
1378
 
1379
+ export interface SendToFirebase {
1380
+ message?: FirebaseMessage;
1381
+ }
1382
+
1383
+ export interface SeriesBookerCommand extends SeriesCommand {
1384
+ }
1385
+
1386
+ export interface SeriesCommand {
1387
+ rideSeriesId?: string;
1388
+ }
1389
+
1390
+ export interface SeriesCommandWithSeparateEvent {
1391
+ rideSeriesId?: string;
1392
+ }
1393
+
1394
+ export interface SeriesDriverCommand extends SeriesCommand {
1395
+ }
1396
+
1265
1397
  /**
1266
- * Information about a ride that is part of series.
1398
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
1267
1399
  */
1268
1400
  export interface SeriesInfo {
1401
+ desyncedFromSeries?: boolean;
1402
+ positionInSeries?: number;
1269
1403
  returnTrip?: boolean;
1270
1404
  rideSeriesId?: string;
1405
+ totalRidesInSeries?: number;
1406
+ }
1407
+
1408
+ export interface SeriesOperatorCommand extends SeriesCommand {
1409
+ }
1410
+
1411
+ export interface SeriesRideInfo extends GenericRideInfo {
1412
+ purpose?: SeriesPurpose;
1413
+ }
1414
+
1415
+ export interface SetOperations extends AccountUpdate {
1416
+ operateAccounts?: string[];
1417
+ }
1418
+
1419
+ export interface SetOperator extends AccountUpdate {
1420
+ operator?: string;
1421
+ }
1422
+
1423
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1424
+ accountPermission?: AccountPermission;
1271
1425
  }
1272
1426
 
1273
1427
  export interface SetSettings extends AccountUpdate {
@@ -1297,19 +1451,6 @@ export interface SignUpUser {
1297
1451
  userId?: string;
1298
1452
  }
1299
1453
 
1300
- /**
1301
- * Individual ride timing within a series
1302
- */
1303
- export interface SingleRide {
1304
- desiredStartTime?: string;
1305
- returnTrip?: boolean;
1306
- }
1307
-
1308
- export interface SingleRideUpdate {
1309
- desiredStartTime?: string;
1310
- rideId?: string;
1311
- }
1312
-
1313
1454
  export interface StopImpersonatingUser {
1314
1455
  }
1315
1456
 
@@ -1359,10 +1500,11 @@ export interface TimedPermission {
1359
1500
  }
1360
1501
 
1361
1502
  export interface Token {
1362
- accountPermission?: AccountPermission;
1503
+ accountPermissions?: AccountPermission[];
1363
1504
  createdBy?: string;
1364
1505
  info?: TokenInfo;
1365
1506
  lastUpdatedBy?: string;
1507
+ owner?: string;
1366
1508
  revoked?: boolean;
1367
1509
  tokenId?: string;
1368
1510
  }
@@ -1405,9 +1547,19 @@ export interface UpdateRidePlan extends RideDriverModifyCommand {
1405
1547
  plannedStartTime?: string;
1406
1548
  }
1407
1549
 
1408
- export interface UpdateRideSeries extends RideBookerSeriesCommand {
1409
- info?: GenericRideInfo;
1410
- rides?: SingleRide[];
1550
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1551
+ booker?: AccountOrTeamRef;
1552
+ info?: SeriesRideInfo;
1553
+ rideSummaries?: RideSummary[];
1554
+ }
1555
+
1556
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1557
+ addRides?: string[];
1558
+ booker?: AccountOrTeamRef;
1559
+ cancelRides?: string[];
1560
+ info?: SeriesRideInfo;
1561
+ rideSummaries?: RideSummary[];
1562
+ updateRides?: string[];
1411
1563
  }
1412
1564
 
1413
1565
  export interface UpdateTeam extends TeamUpdate {
@@ -1461,12 +1613,32 @@ export interface UserUpdate extends UserCommand {
1461
1613
  export interface UserUpdateAfterSignup extends UserUpdate {
1462
1614
  }
1463
1615
 
1616
+ export interface WebsocketFilter {
1617
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
1618
+ }
1619
+
1620
+ export interface WebsocketMultipleUpdates extends WebsocketUpdate {
1621
+ ridesAndSeries?: RideOrMinimizedSeries[];
1622
+ ridesCount?: RideFilterCount;
1623
+ type: "multiple_updates";
1624
+ }
1625
+
1626
+ export interface WebsocketSingleUpdate extends WebsocketUpdate {
1627
+ id?: string;
1628
+ rideOrSeries?: RideOrMinimizedSeries;
1629
+ type: "single_update";
1630
+ }
1631
+
1632
+ export interface WebsocketUpdate {
1633
+ type: "multiple_updates" | "single_update";
1634
+ }
1635
+
1464
1636
  export interface ZonedTimeRange {
1465
1637
  end?: Date;
1466
1638
  start?: Date;
1467
1639
  }
1468
1640
 
1469
- export type AccountRole = "ridebooker" | "dispatcher" | "admin" | "owner";
1641
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1470
1642
 
1471
1643
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1472
1644
 
@@ -1476,6 +1648,8 @@ export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1476
1648
 
1477
1649
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1478
1650
 
1651
+ export type EntityType = "ride" | "rideseries";
1652
+
1479
1653
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1480
1654
 
1481
1655
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
@@ -1484,24 +1658,30 @@ export type IntegrationType = "dispolive" | "celios";
1484
1658
 
1485
1659
  export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1486
1660
 
1487
- export type OrganisationType = "medical" | "fleet";
1661
+ export type OrganisationType = "medical" | "fleet" | "operator";
1488
1662
 
1489
1663
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1490
1664
 
1491
- export type RideSeriesStatus = "booked" | "accepted" | "confirmed" | "cancelled";
1665
+ export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
1666
+
1667
+ export type SeriesPurpose = "consultation";
1492
1668
 
1493
- export type Service = "pro_medical" | "pro_fleet" | "celios_integration" | "dispolive_integration";
1669
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1494
1670
 
1495
1671
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1496
1672
 
1497
- export type StandaloneService = "pro_medical" | "pro_fleet";
1673
+ export type StandaloneService = "pro_medical" | "pro_fleet" | "pro_operator";
1498
1674
 
1499
1675
  export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1500
1676
 
1501
1677
  export type TeamRole = "dispatcher" | "ridebooker";
1502
1678
 
1503
- export type TrackingUpdateType = "ride" | "rideseries";
1504
-
1505
1679
  export type UserRole = "superadmin";
1506
1680
 
1507
1681
  export type VehicleType = "taxi" | "ambulance";
1682
+
1683
+ export type WebsocketFilterUnion = MarketplaceOverviewFilter | HospitalOverviewFilter | FleetOverviewFilter | OperationsOverviewFilter | DetailsFilter;
1684
+
1685
+ export type WebsocketUpdateType = "single_update" | "multiple_updates";
1686
+
1687
+ export type WebsocketUpdateUnion = WebsocketSingleUpdate | WebsocketMultipleUpdates;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@moxi.gmbh/moxi-typescriptmodels",
3
- "version": "0.1.1141-test-server",
3
+ "version": "0.1.1141",
4
4
  "types": "common.d.ts"
5
5
  }