@moxi.gmbh/moxi-typescriptmodels 0.1.1091-test-server → 0.1.1101

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 +485 -237
  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 {
@@ -13,6 +47,10 @@ export interface AcceptUserAgreement extends UserEdit {
13
47
 
14
48
  export interface Account {
15
49
  accountId?: string;
50
+ /**
51
+ * Derived from subscriptions
52
+ */
53
+ activeOrganisationTypes?: OrganisationType[];
16
54
  /**
17
55
  * Derived from subscriptions
18
56
  */
@@ -22,6 +60,12 @@ export interface Account {
22
60
  drivePermissions?: DrivePermission[];
23
61
  info?: AccountInfo;
24
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[];
25
69
  subscriptions?: Subscription[];
26
70
  teams?: Team[];
27
71
  unconfirmedCriticalInfo?: CriticalAccountInfo;
@@ -63,6 +107,10 @@ export interface AccountPermissionCommand extends UserUpdate {
63
107
  accountId?: string;
64
108
  }
65
109
 
110
+ export interface AccountPermissionFilter {
111
+ roles?: AccountRole[];
112
+ }
113
+
66
114
  export interface AccountRef {
67
115
  accountId?: string;
68
116
  name?: string;
@@ -74,14 +122,15 @@ export interface AccountUpcaster {
74
122
  export interface AccountUpdate extends AccountCommand {
75
123
  }
76
124
 
77
- /**
78
- * Address info of a google-validated address, including geolocation and district code
79
- */
125
+ export interface AddOperations extends AccountUpdate {
126
+ operateAccount?: string;
127
+ }
128
+
80
129
  export interface AddressInfo {
81
130
  addition?: string;
82
131
  city?: string;
83
132
  /**
84
- * Derived from districtNutsCode
133
+ * The NUTS country code, derived from districtNutsCode
85
134
  */
86
135
  country?: string;
87
136
  districtNutsCode?: string;
@@ -90,12 +139,12 @@ export interface AddressInfo {
90
139
  number?: string;
91
140
  placeName?: string;
92
141
  /**
93
- * Derived from districtNutsCode
142
+ * The NUTS level 1 code, derived from districtNutsCode
94
143
  */
95
144
  state?: string;
96
145
  street?: string;
97
146
  /**
98
- * Derived from districtNutsCode
147
+ * The NUTS level 2 code, derived from districtNutsCode
99
148
  */
100
149
  subState?: string;
101
150
  zipCode?: string;
@@ -115,31 +164,31 @@ export interface AmbulanceFilter extends DrivePermissionFilter {
115
164
  }
116
165
 
117
166
  /**
118
- * Filled if (and only if) vehicleType == ambulance
167
+ * Mandatory if the vehicleType is ambulance, forbidden if taxi
119
168
  */
120
169
  export interface AmbulanceInfo {
121
170
  /**
122
- * Derived from infectionDescription != blank
171
+ * True if infectionDescription is given
123
172
  */
124
173
  hasInfection?: boolean;
125
174
  infectionDescription?: string;
126
175
  monitoringDescription?: string;
127
176
  oxygenLiterPerHour?: number;
128
177
  /**
129
- * Derived from monitoringDescription != blank
178
+ * True if monitoringDescription is given
130
179
  */
131
180
  requiresMonitoring?: boolean;
132
181
  /**
133
- * Derived from oxygenLiterPerHour != null
182
+ * True if oxygenLiterPerHour is given
134
183
  */
135
184
  requiresOxygen?: boolean;
136
185
  requiresSuctionAspirator?: boolean;
137
186
  }
138
187
 
139
- /**
140
- * Same as RideInfo, except it does not contain an appointment
141
- */
142
- export interface AnonymizedRideInfo extends GenericRideInfo {
188
+ export interface AnonymizedRideInfo extends RideInfo {
189
+ }
190
+
191
+ export interface AnonymizedSeriesRideInfo extends SeriesRideInfo {
143
192
  }
144
193
 
145
194
  export interface Appointment {
@@ -147,7 +196,11 @@ export interface Appointment {
147
196
  time?: string;
148
197
  }
149
198
 
150
- export interface AssignDriver extends RideCommand {
199
+ export interface AssignDriver extends RideOperatorCommand {
200
+ driver?: AccountOrTeamRef;
201
+ }
202
+
203
+ export interface AssignRideSeriesDriver extends SeriesOperatorCommand {
151
204
  driver?: AccountOrTeamRef;
152
205
  }
153
206
 
@@ -169,39 +222,31 @@ export interface AuthenticationResponse {
169
222
  userProfile?: UserProfile;
170
223
  }
171
224
 
172
- export interface AuthenticationService {
173
- }
174
-
175
- export interface BatchUpdateRideSeriesInfo extends RideSeriesPostConfirmCommand {
176
- info?: GenericRideInfo;
177
- updater?: AccountOrTeamRef;
225
+ export interface AuthenticationResponseFactory {
178
226
  }
179
227
 
180
- export interface BatchUpdateRideSeriesTimes extends RideSeriesPostConfirmCommand {
181
- rides?: SingleRideUpdate[];
182
- updater?: AccountOrTeamRef;
228
+ export interface AuthenticationService {
183
229
  }
184
230
 
185
231
  export interface BookRide extends CreateRideCommand {
186
- booker?: AccountOrTeamRef;
187
232
  info?: RideInfo;
188
233
  }
189
234
 
190
- export interface BookRideSeries extends RideBookerSeriesCommand {
191
- booker?: AccountOrTeamRef;
192
- info?: GenericRideInfo;
193
- rides?: SingleRide[];
235
+ export interface BookRideSeries extends CreateSeriesCommand {
236
+ rideSummaries?: RideSummary[];
194
237
  }
195
238
 
196
239
  export interface CancelRide extends RideBookerCommand {
197
240
  reason?: string;
198
241
  }
199
242
 
200
- export interface CancelRideSeries extends RideBookerSeriesCommand {
243
+ export interface CancelRideSeries extends SeriesCommandWithSeparateEvent {
244
+ reason?: string;
201
245
  }
202
246
 
203
- export interface CancelRidesInSeries extends RideSeriesPostConfirmCommand {
204
- updater?: AccountOrTeamRef;
247
+ export interface CancelRideSeriesEvent extends SeriesBookerCommand {
248
+ cancelRides?: string[];
249
+ reason?: string;
205
250
  }
206
251
 
207
252
  export interface CeliosSettings {
@@ -223,6 +268,20 @@ export interface CheckIfUserSignedUp {
223
268
  userId?: string;
224
269
  }
225
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
+
226
285
  export interface ConfirmAccount extends AccountCommand {
227
286
  }
228
287
 
@@ -233,9 +292,6 @@ export interface ConfirmDrivePermission extends AccountUpdate {
233
292
  export interface ConfirmEverythingInAccount extends AccountCommand {
234
293
  }
235
294
 
236
- export interface ConfirmRideSeries extends RideDriverSeriesCommand {
237
- }
238
-
239
295
  export interface ConfirmSubscription extends AccountUpdate {
240
296
  subscriptionId?: string;
241
297
  }
@@ -264,15 +320,12 @@ export interface CreateOptimizationPlan extends OptimizerMessage {
264
320
  }
265
321
 
266
322
  export interface CreateRideCommand extends RideBookerCommand {
267
- booker?: AccountOrTeamId;
323
+ booker?: AccountOrTeamRef;
268
324
  }
269
325
 
270
- export interface CreateRideFromSeries extends RideDriverCommand {
326
+ export interface CreateSeriesCommand extends SeriesBookerCommand {
271
327
  booker?: AccountOrTeamRef;
272
- driver?: AccountOrTeamRef;
273
- info?: RideInfo;
274
- returnTrip?: boolean;
275
- rideSeriesId?: string;
328
+ info?: SeriesRideInfo;
276
329
  }
277
330
 
278
331
  export interface CreateSqueezeInPlan extends OptimizerMessage {
@@ -308,6 +361,11 @@ export interface DateRange {
308
361
  export interface DeleteUser extends UserEdit {
309
362
  }
310
363
 
364
+ export interface DetailsFilter extends WebsocketFilter {
365
+ id?: string;
366
+ screen: "ride_details";
367
+ }
368
+
311
369
  export interface DisconnectClient {
312
370
  clientId?: string;
313
371
  tokenId?: string;
@@ -418,44 +476,25 @@ export interface FindAccounts {
418
476
  term?: string;
419
477
  }
420
478
 
421
- export interface FindMyAcceptedRides {
479
+ export interface FindDuplicateRides {
422
480
  accountId?: string;
423
- descending?: boolean;
424
- filter?: RideFilter;
425
- maxSize?: number;
426
- term?: string;
481
+ appointmentTime?: string;
482
+ patientBirthDay?: string;
483
+ patientFirstName?: string;
484
+ patientLastName?: string;
427
485
  }
428
486
 
429
- /**
430
- * @deprecated
431
- */
432
- export interface FindMyRideOffers {
433
- accountId?: string;
434
- descending?: boolean;
435
- filter?: RideFilter;
436
- maxSize?: number;
437
- term?: string;
487
+ export interface FindMyRides extends AbstractFindMyRides {
438
488
  }
439
489
 
440
- export interface FindMyRideSeries {
441
- accountId?: string;
442
- descending?: boolean;
443
- filter?: RideFilter;
444
- maxSize?: number;
445
- term?: string;
490
+ export interface FindMyRidesAndSeries extends AbstractFindMyRides {
446
491
  }
447
492
 
448
- export interface FindMyRides {
449
- accountId?: string;
450
- descending?: boolean;
451
- filter?: RideFilter;
452
- maxSize?: number;
453
- term?: string;
493
+ export interface FindMySeries extends AbstractFindMyRides {
454
494
  }
455
495
 
456
496
  export interface FindMyTokens {
457
497
  accountId?: string;
458
- teamId?: string;
459
498
  term?: string;
460
499
  }
461
500
 
@@ -465,27 +504,27 @@ export interface FindMyUsers {
465
504
  term?: string;
466
505
  }
467
506
 
468
- export interface FindPotentialRideSeries {
469
- accountId?: string;
470
- descending?: boolean;
471
- filter?: RideInfoFilter;
472
- maxSize?: number;
473
- timeRange?: InstantRange;
507
+ export interface FindRides extends AbstractFindRides {
474
508
  }
475
509
 
476
- export interface FindPotentialRides {
477
- accountId?: string;
478
- descending?: boolean;
479
- filter?: RideFilter;
480
- maxSize?: number;
481
- term?: string;
510
+ export interface FindRidesAndSeries extends AbstractFindRides {
482
511
  }
483
512
 
484
- export interface FindRides {
485
- descending?: boolean;
486
- filter?: RideFilter;
487
- maxSize?: number;
488
- term?: string;
513
+ export interface FindRidesAndSeriesForDriver extends AbstractFindRidesForDriver {
514
+ }
515
+
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 {
489
528
  }
490
529
 
491
530
  export interface FindRidesResult {
@@ -493,23 +532,47 @@ export interface FindRidesResult {
493
532
  rides?: Ride[];
494
533
  }
495
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
+
496
544
  export interface FindTokens {
497
545
  term?: string;
498
546
  }
499
547
 
500
548
  export interface FindUsers {
549
+ accountFilter?: AccountFilter;
550
+ accountPermissionFilter?: AccountPermissionFilter;
501
551
  term?: string;
502
552
  }
503
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
+
504
565
  export interface GenerateToken {
505
566
  accountPermission?: AccountPermission;
506
567
  info?: TokenInfo;
507
568
  tokenId?: string;
508
569
  }
509
570
 
510
- /**
511
- * Same as RideInfo, except it does not contain an appointment
512
- */
571
+ export interface GenerateTokenResult {
572
+ entity?: Token;
573
+ jwt?: string;
574
+ }
575
+
513
576
  export interface GenericRideInfo {
514
577
  ambulanceInfo?: AmbulanceInfo;
515
578
  attendantsPresent?: number;
@@ -525,7 +588,6 @@ export interface GenericRideInfo {
525
588
  patient?: Person;
526
589
  plannedDuration?: RideDuration;
527
590
  preferredDriver?: string;
528
- purpose?: RidePurpose;
529
591
  to?: AddressInfo;
530
592
  vehicleType?: VehicleType;
531
593
  weightInKg?: number;
@@ -561,10 +623,16 @@ export interface GetAccount {
561
623
  accountId?: string;
562
624
  }
563
625
 
564
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
626
+ /**
627
+ * @deprecated
628
+ */
629
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
565
630
  }
566
631
 
567
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
632
+ /**
633
+ * @deprecated
634
+ */
635
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
568
636
  }
569
637
 
570
638
  export interface GetDistrict {
@@ -587,32 +655,17 @@ export interface GetIsoStates {
587
655
  export interface GetMonopolyAccounts {
588
656
  }
589
657
 
590
- export interface GetMyAcceptedRides {
591
- accountId?: string;
592
- maxSize?: number;
593
- timeRange?: InstantRange;
594
- }
595
-
596
658
  export interface GetMyAccounts {
597
659
  filter?: AccountFilter;
598
660
  }
599
661
 
600
- /**
601
- * @deprecated
602
- */
603
- export interface GetMyRideOffers {
604
- accountId?: string;
605
- maxSize?: number;
606
- timeRange?: InstantRange;
607
- }
608
-
609
- export interface GetMyRideSeries {
662
+ export interface GetMyRides {
610
663
  accountId?: string;
611
664
  maxSize?: number;
612
665
  timeRange?: InstantRange;
613
666
  }
614
667
 
615
- export interface GetMyRides {
668
+ export interface GetMySeries {
616
669
  accountId?: string;
617
670
  maxSize?: number;
618
671
  timeRange?: InstantRange;
@@ -627,20 +680,27 @@ export interface GetMyUserProfile {
627
680
  export interface GetNutsStates {
628
681
  }
629
682
 
630
- export interface GetPotentialDrivers {
683
+ export interface GetOneSeries {
684
+ rideSeriesId?: string;
685
+ }
686
+
687
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
688
+ }
689
+
690
+ /**
691
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
692
+
693
+ */
694
+ export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
695
+ }
696
+
697
+ export interface GetPotentialDriversAbstract {
631
698
  fromDistrict?: string;
632
699
  mobility?: Mobility;
633
- toDistrict?: string;
634
700
  vehicleType?: VehicleType;
635
701
  weightInKg?: number;
636
702
  }
637
703
 
638
- export interface GetPotentialRides {
639
- accountId?: string;
640
- maxSize?: number;
641
- timeRange?: InstantRange;
642
- }
643
-
644
704
  export interface GetRide {
645
705
  rideId?: string;
646
706
  }
@@ -660,12 +720,38 @@ export interface GetRideLog {
660
720
  rideId?: string;
661
721
  }
662
722
 
663
- export interface GetRideSeries {
664
- rideSeriesId?: string;
723
+ export interface GetRideOrSeries {
724
+ id?: string;
725
+ }
726
+
727
+ export interface GetRidesForDriver {
728
+ accountId?: string;
729
+ maxSize?: number;
730
+ timeRange?: InstantRange;
731
+ }
732
+
733
+ export interface GetRidesInMarketplace {
734
+ accountId?: string;
735
+ maxSize?: number;
736
+ timeRange?: InstantRange;
665
737
  }
666
738
 
667
739
  export interface GetRidesInSeries {
668
- filter?: RideFilter;
740
+ rideSeriesId?: string;
741
+ }
742
+
743
+ export interface GetSeriesForDriver {
744
+ accountId?: string;
745
+ maxSize?: number;
746
+ timeRange?: InstantRange;
747
+ }
748
+
749
+ export interface GetSeriesInMarketplace {
750
+ accountId?: string;
751
+ maxSize?: number;
752
+ }
753
+
754
+ export interface GetSeriesLog {
669
755
  rideSeriesId?: string;
670
756
  }
671
757
 
@@ -695,6 +781,23 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
695
781
  teamPermission?: TeamPermission;
696
782
  }
697
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
+
698
801
  export interface ImpersonateUser {
699
802
  userId?: string;
700
803
  }
@@ -735,6 +838,11 @@ export interface IsoState {
735
838
  nutsCode?: string;
736
839
  }
737
840
 
841
+ export interface MarketplaceOverviewFilter extends WebsocketFilter {
842
+ queryFilter?: FindRidesAndSeriesInMarketplace;
843
+ screen: "marketplace";
844
+ }
845
+
738
846
  export interface Metric {
739
847
  clientId?: string;
740
848
  clientSegment?: number[];
@@ -745,6 +853,18 @@ export interface Metric {
745
853
  updates?: string[];
746
854
  }
747
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
+
748
868
  export interface NutsDistrict {
749
869
  code?: string;
750
870
  name?: string;
@@ -767,6 +887,15 @@ export interface OffsetTimeRange {
767
887
  start?: Date;
768
888
  }
769
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
+
770
899
  export interface OptimizerMessage {
771
900
  }
772
901
 
@@ -783,7 +912,7 @@ export interface Person {
783
912
  }
784
913
 
785
914
  /**
786
- * Filled if (and only if) patient exceeds 130 kg
915
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
787
916
  */
788
917
  export interface PersonDimensions {
789
918
  heightInCm?: number;
@@ -803,7 +932,7 @@ export interface ReadUpdates {
803
932
  maxSize?: number;
804
933
  maxTimeout?: number;
805
934
  tokenId?: string;
806
- updateTypes?: TrackingUpdateType[];
935
+ updateTypes?: EntityType[];
807
936
  }
808
937
 
809
938
  export interface ReadUpdatesResult {
@@ -812,6 +941,24 @@ export interface ReadUpdatesResult {
812
941
  updates?: any[];
813
942
  }
814
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
+
815
962
  export interface Region {
816
963
  nutsCode?: string;
817
964
  }
@@ -835,6 +982,14 @@ export interface RegisterEinsatz {
835
982
  export interface RemoveAccount extends AccountUpdate {
836
983
  }
837
984
 
985
+ export interface RemoveOperations extends AccountUpdate {
986
+ operateAccount?: string;
987
+ }
988
+
989
+ export interface RemoveOperator extends AccountUpdate {
990
+ operator?: string;
991
+ }
992
+
838
993
  export interface RemoveSettings extends AccountUpdate {
839
994
  type?: IntegrationType;
840
995
  }
@@ -884,7 +1039,7 @@ export interface ResetPosition {
884
1039
  export interface ReturnRide extends RideDriverModifyCommand {
885
1040
  }
886
1041
 
887
- export interface ReturnRideSeries extends RideDriverSeriesCommand {
1042
+ export interface ReturnRideSeries extends SeriesDriverCommand {
888
1043
  }
889
1044
 
890
1045
  export interface Review {
@@ -907,6 +1062,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
907
1062
  drivePermissionId?: string;
908
1063
  }
909
1064
 
1065
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1066
+ }
1067
+
910
1068
  export interface RevokeSubscription extends AccountUpdate {
911
1069
  subscriptionId?: string;
912
1070
  }
@@ -914,76 +1072,70 @@ export interface RevokeSubscription extends AccountUpdate {
914
1072
  export interface RevokeToken extends TokenUpdate {
915
1073
  }
916
1074
 
917
- export interface Ride {
1075
+ export interface RevokeUserRefreshTokens {
1076
+ userId?: string;
1077
+ }
1078
+
1079
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
918
1080
  /**
919
- * Derived from driver != null
1081
+ * 'accepted' is true if a driver has accepted the ride.
920
1082
  */
921
1083
  accepted?: boolean;
1084
+ acceptedTime?: string;
922
1085
  actualEndTime?: string;
923
1086
  actualStartTime?: string;
924
1087
  /**
925
- * Derived from driveStatus != null
1088
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
926
1089
  */
927
1090
  arrived?: boolean;
928
1091
  /**
929
- * Derived from bookedTime != null
1092
+ * 'booked' is false if the ride has only been saved.
930
1093
  */
931
1094
  booked?: boolean;
932
- bookedTime?: string;
933
1095
  booker?: AccountOrTeamRef;
934
1096
  bookerReview?: Review;
935
- bookingStatus?: BookingStatus;
936
1097
  cancelReason?: string;
937
1098
  cancelled?: boolean;
938
1099
  /**
939
- * Derived from driveStatus == completed
1100
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
940
1101
  */
941
1102
  completed?: boolean;
942
1103
  /**
943
- * 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.
944
1105
  */
945
1106
  desiredEndTime?: string;
946
1107
  /**
947
- * 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.
948
1109
  */
949
1110
  desiredStartTime?: string;
950
- /**
951
- * Display time is the planned time, or else the desired time
952
- */
953
- displayEndTime?: string;
954
- /**
955
- * Display time is the planned time, or else the desired time
956
- */
957
- displayStartTime?: string;
958
1111
  driveStatus?: DriveStatus;
959
- driver?: AccountOrTeamRef;
960
1112
  driverReview?: Review;
961
1113
  driverSyncStatus?: SyncStatus;
962
1114
  endTimeDelay?: number;
963
1115
  /**
964
- * 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.
965
1117
  */
966
1118
  expectedEndTime?: string;
967
1119
  /**
968
- * 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.
969
1121
  */
970
1122
  expectedStartTime?: string;
971
1123
  info?: RideInfo;
1124
+ marketplaceTime?: string;
972
1125
  /**
973
- * Derived from plannedStartTime != null
1126
+ * 'planned' is true if the driver has reported a planned time for the ride.
974
1127
  */
975
1128
  planned?: boolean;
976
1129
  /**
977
- * 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.
978
1131
  */
979
1132
  plannedEndTime?: string;
980
1133
  plannedStartTime?: string;
981
- returnTrip?: boolean;
982
1134
  rideId?: string;
983
- rideSeriesId?: string;
1135
+ seriesInfo?: SeriesInfo;
984
1136
  startTimeDelay?: number;
985
1137
  /**
986
- * Derived from driveStatus != null
1138
+ * 'started' is true if the driver has reported a driveStatus.
987
1139
  */
988
1140
  started?: boolean;
989
1141
  }
@@ -991,9 +1143,6 @@ export interface Ride {
991
1143
  export interface RideBookerCommand extends RideCommand {
992
1144
  }
993
1145
 
994
- export interface RideBookerSeriesCommand extends RideSeriesCommand {
995
- }
996
-
997
1146
  export interface RideCommand {
998
1147
  rideId?: string;
999
1148
  }
@@ -1004,16 +1153,19 @@ export interface RideDriverCommand extends RideCommand {
1004
1153
  export interface RideDriverModifyCommand extends RideDriverCommand {
1005
1154
  }
1006
1155
 
1007
- export interface RideDriverSeriesCommand extends RideSeriesPreConfirmCommand {
1008
- }
1009
-
1010
- /**
1011
- * All durations in seconds
1012
- */
1013
1156
  export interface RideDuration {
1014
1157
  driving?: number;
1158
+ /**
1159
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1160
+ */
1015
1161
  droppingOff?: number;
1162
+ /**
1163
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1164
+ */
1016
1165
  pickingUp?: number;
1166
+ /**
1167
+ * Seconds of driving time plus the pick-up and drop-off slack times
1168
+ */
1017
1169
  total?: number;
1018
1170
  }
1019
1171
 
@@ -1022,6 +1174,7 @@ export interface RideFilter {
1022
1174
  driveStatuses?: DriveStatus[];
1023
1175
  driverAccountNames?: string[];
1024
1176
  driverTeamNames?: string[];
1177
+ entityType?: EntityType;
1025
1178
  hasInfection?: boolean;
1026
1179
  heavyWeight?: boolean;
1027
1180
  mobilities?: Mobility[];
@@ -1033,6 +1186,7 @@ export interface RideFilter {
1033
1186
  riderAccountNames?: string[];
1034
1187
  riderTeamNames?: string[];
1035
1188
  timeRange?: InstantRange;
1189
+ unfoldRideSeries?: boolean;
1036
1190
  vehicleType?: VehicleType;
1037
1191
  }
1038
1192
 
@@ -1058,41 +1212,9 @@ export interface RideIdResult {
1058
1212
  rideId?: string;
1059
1213
  }
1060
1214
 
1061
- /**
1062
- * Information about the ride, from the creator of the ride
1063
- */
1064
- export interface RideInfo {
1065
- ambulanceInfo?: AmbulanceInfo;
1215
+ export interface RideInfo extends GenericRideInfo {
1066
1216
  appointment?: Appointment;
1067
- attendantsPresent?: number;
1068
- comment?: string;
1069
- dimensions?: PersonDimensions;
1070
- distanceInMeters?: number;
1071
- from?: AddressInfo;
1072
- /**
1073
- * Derived from weightInKg != null
1074
- */
1075
- heavyWeight?: boolean;
1076
- mobility?: Mobility;
1077
- patient?: Person;
1078
- plannedDuration?: RideDuration;
1079
- preferredDriver?: string;
1080
1217
  purpose?: RidePurpose;
1081
- to?: AddressInfo;
1082
- vehicleType?: VehicleType;
1083
- weightInKg?: number;
1084
- }
1085
-
1086
- export interface RideInfoFilter {
1087
- hasInfection?: boolean;
1088
- heavyWeight?: boolean;
1089
- mobilities?: Mobility[];
1090
- purposes?: RidePurpose[];
1091
- region?: Region;
1092
- requiresMonitoring?: boolean;
1093
- requiresOxygen?: boolean;
1094
- requiresSuctionAspirator?: boolean;
1095
- vehicleType?: VehicleType;
1096
1218
  }
1097
1219
 
1098
1220
  export interface RideLog {
@@ -1111,39 +1233,62 @@ export interface RideLog {
1111
1233
  token?: boolean;
1112
1234
  }
1113
1235
 
1114
- export interface RideOfferInfo {
1115
- appointment?: Appointment;
1236
+ export interface RideOperatorCommand extends RideCommand {
1116
1237
  }
1117
1238
 
1118
- export interface RideSeries {
1119
- accepted?: boolean;
1120
- booked?: boolean;
1121
- booker?: AccountOrTeamRef;
1122
- cancelled?: boolean;
1123
- confirmed?: boolean;
1124
- driver?: AccountOrTeamRef;
1125
- endTime?: string;
1239
+ export interface RideOrMinimizedSeries {
1240
+ bookingStatus?: BookingStatus;
1241
+ entityType?: EntityType;
1126
1242
  info?: GenericRideInfo;
1127
- rideSeriesId?: string;
1128
- rides?: SingleRide[];
1129
- startTime?: string;
1130
- status?: RideSeriesStatus;
1243
+ searchEndTime?: string;
1244
+ searchStartTime?: string;
1131
1245
  }
1132
1246
 
1133
- export interface RideSeriesCommand {
1134
- 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;
1135
1255
  }
1136
1256
 
1137
- 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;
1138
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;
1139
1288
  }
1140
1289
 
1141
- export interface RideSeriesPostConfirmCommand {
1290
+ export interface RideSeriesIdResult {
1142
1291
  rideSeriesId?: string;
1143
- ridesToModify?: Ride[];
1144
- }
1145
-
1146
- export interface RideSeriesPreConfirmCommand extends RideSeriesCommand {
1147
1292
  }
1148
1293
 
1149
1294
  export interface RideSeriesUpdate {
@@ -1156,12 +1301,23 @@ export interface RideSeriesUpdate {
1156
1301
  type: "rideseries";
1157
1302
  }
1158
1303
 
1304
+ export interface RideSeriesUtils {
1305
+ }
1306
+
1159
1307
  export interface RideStatisticsQuery {
1160
1308
  dateRange?: DateRange;
1161
- timezoneOrDefault?: string;
1162
1309
  zoneId?: string;
1163
1310
  }
1164
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
+
1165
1321
  export interface RideSystemCommand extends RideCommand {
1166
1322
  }
1167
1323
 
@@ -1178,17 +1334,24 @@ export interface RideUpdate {
1178
1334
  type: "ride";
1179
1335
  }
1180
1336
 
1181
- export interface Role<T> {
1337
+ export interface Role {
1182
1338
  }
1183
1339
 
1184
1340
  /**
1185
1341
  * Save a new ride or update a previously saved ride. Not allowed to saveRide after the ride has been booked.
1186
1342
  */
1187
1343
  export interface SaveRide extends CreateRideCommand {
1188
- booker?: AccountOrTeamRef;
1189
1344
  info?: RideInfo;
1190
1345
  }
1191
1346
 
1347
+ export interface SaveRideSeries extends CreateSeriesCommand {
1348
+ rideSummaries?: RideSummary[];
1349
+ }
1350
+
1351
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1352
+ accountId?: string;
1353
+ }
1354
+
1192
1355
  export interface SendConfirmationEmail {
1193
1356
  userId?: string;
1194
1357
  }
@@ -1200,6 +1363,7 @@ export interface SendEmail {
1200
1363
  export interface SendFreshdeskNewTicket {
1201
1364
  email?: string;
1202
1365
  message?: string;
1366
+ subject?: string;
1203
1367
  }
1204
1368
 
1205
1369
  export interface SendInvitationEmail {
@@ -1207,11 +1371,64 @@ export interface SendInvitationEmail {
1207
1371
  userId?: string;
1208
1372
  }
1209
1373
 
1374
+ export interface SendKChat {
1375
+ channel?: KChatChannel;
1376
+ message?: string;
1377
+ }
1378
+
1210
1379
  export interface SendSlack {
1211
1380
  channel?: SlackChannel;
1212
1381
  message?: string;
1213
1382
  }
1214
1383
 
1384
+ export interface SendToFirebase {
1385
+ message?: FirebaseMessage;
1386
+ }
1387
+
1388
+ export interface SeriesBookerCommand extends SeriesCommand {
1389
+ }
1390
+
1391
+ export interface SeriesCommand {
1392
+ rideSeriesId?: string;
1393
+ }
1394
+
1395
+ export interface SeriesCommandWithSeparateEvent {
1396
+ rideSeriesId?: string;
1397
+ }
1398
+
1399
+ export interface SeriesDriverCommand extends SeriesCommand {
1400
+ }
1401
+
1402
+ /**
1403
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
1404
+ */
1405
+ export interface SeriesInfo {
1406
+ desyncedFromSeries?: boolean;
1407
+ positionInSeries?: number;
1408
+ returnTrip?: boolean;
1409
+ rideSeriesId?: string;
1410
+ totalRidesInSeries?: number;
1411
+ }
1412
+
1413
+ export interface SeriesOperatorCommand extends SeriesCommand {
1414
+ }
1415
+
1416
+ export interface SeriesRideInfo extends GenericRideInfo {
1417
+ purpose?: SeriesPurpose;
1418
+ }
1419
+
1420
+ export interface SetOperations extends AccountUpdate {
1421
+ operateAccounts?: string[];
1422
+ }
1423
+
1424
+ export interface SetOperator extends AccountUpdate {
1425
+ operator?: string;
1426
+ }
1427
+
1428
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1429
+ accountPermission?: AccountPermission;
1430
+ }
1431
+
1215
1432
  export interface SetSettings extends AccountUpdate {
1216
1433
  settings?: any;
1217
1434
  }
@@ -1239,16 +1456,6 @@ export interface SignUpUser {
1239
1456
  userId?: string;
1240
1457
  }
1241
1458
 
1242
- export interface SingleRide {
1243
- desiredStartTime?: string;
1244
- returnTrip?: boolean;
1245
- }
1246
-
1247
- export interface SingleRideUpdate {
1248
- desiredStartTime?: string;
1249
- rideId?: string;
1250
- }
1251
-
1252
1459
  export interface StopImpersonatingUser {
1253
1460
  }
1254
1461
 
@@ -1298,10 +1505,11 @@ export interface TimedPermission {
1298
1505
  }
1299
1506
 
1300
1507
  export interface Token {
1301
- accountPermission?: AccountPermission;
1508
+ accountPermissions?: AccountPermission[];
1302
1509
  createdBy?: string;
1303
1510
  info?: TokenInfo;
1304
1511
  lastUpdatedBy?: string;
1512
+ owner?: string;
1305
1513
  revoked?: boolean;
1306
1514
  tokenId?: string;
1307
1515
  }
@@ -1344,9 +1552,19 @@ export interface UpdateRidePlan extends RideDriverModifyCommand {
1344
1552
  plannedStartTime?: string;
1345
1553
  }
1346
1554
 
1347
- export interface UpdateRideSeries extends RideBookerSeriesCommand {
1348
- info?: GenericRideInfo;
1349
- rides?: SingleRide[];
1555
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1556
+ booker?: AccountOrTeamRef;
1557
+ info?: SeriesRideInfo;
1558
+ rideSummaries?: RideSummary[];
1559
+ }
1560
+
1561
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1562
+ addRides?: string[];
1563
+ booker?: AccountOrTeamRef;
1564
+ cancelRides?: string[];
1565
+ info?: SeriesRideInfo;
1566
+ rideSummaries?: RideSummary[];
1567
+ updateRides?: string[];
1350
1568
  }
1351
1569
 
1352
1570
  export interface UpdateTeam extends TeamUpdate {
@@ -1400,12 +1618,32 @@ export interface UserUpdate extends UserCommand {
1400
1618
  export interface UserUpdateAfterSignup extends UserUpdate {
1401
1619
  }
1402
1620
 
1621
+ export interface WebsocketFilter {
1622
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
1623
+ }
1624
+
1625
+ export interface WebsocketMultipleUpdates extends WebsocketUpdate {
1626
+ ridesAndSeries?: RideOrMinimizedSeries[];
1627
+ ridesCount?: RideFilterCount;
1628
+ type: "multiple_updates";
1629
+ }
1630
+
1631
+ export interface WebsocketSingleUpdate extends WebsocketUpdate {
1632
+ id?: string;
1633
+ rideOrSeries?: RideOrMinimizedSeries;
1634
+ type: "single_update";
1635
+ }
1636
+
1637
+ export interface WebsocketUpdate {
1638
+ type: "multiple_updates" | "single_update";
1639
+ }
1640
+
1403
1641
  export interface ZonedTimeRange {
1404
1642
  end?: Date;
1405
1643
  start?: Date;
1406
1644
  }
1407
1645
 
1408
- export type AccountRole = "ridebooker" | "dispatcher" | "admin" | "owner";
1646
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1409
1647
 
1410
1648
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1411
1649
 
@@ -1415,32 +1653,42 @@ export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1415
1653
 
1416
1654
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1417
1655
 
1656
+ export type EntityType = "ride" | "rideseries";
1657
+
1418
1658
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1419
1659
 
1420
1660
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
1421
1661
 
1422
1662
  export type IntegrationType = "dispolive" | "celios";
1423
1663
 
1664
+ export type KChatChannel = "ride_notifications" | "urgent_issues" | "account_tasks" | "customer_issues";
1665
+
1424
1666
  export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1425
1667
 
1426
- export type OrganisationType = "medical" | "fleet";
1668
+ export type OrganisationType = "medical" | "fleet" | "operator";
1427
1669
 
1428
1670
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1429
1671
 
1430
- export type RideSeriesStatus = "booked" | "accepted" | "confirmed" | "cancelled";
1672
+ export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
1673
+
1674
+ export type SeriesPurpose = "consultation";
1431
1675
 
1432
- export type Service = "pro_medical" | "pro_fleet" | "celios_integration" | "dispolive_integration";
1676
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1433
1677
 
1434
1678
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1435
1679
 
1436
- export type StandaloneService = "pro_medical" | "pro_fleet";
1680
+ export type StandaloneService = "pro_medical" | "pro_fleet" | "pro_operator";
1437
1681
 
1438
1682
  export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1439
1683
 
1440
1684
  export type TeamRole = "dispatcher" | "ridebooker";
1441
1685
 
1442
- export type TrackingUpdateType = "ride" | "rideseries";
1443
-
1444
1686
  export type UserRole = "superadmin";
1445
1687
 
1446
1688
  export type VehicleType = "taxi" | "ambulance";
1689
+
1690
+ export type WebsocketFilterUnion = MarketplaceOverviewFilter | HospitalOverviewFilter | FleetOverviewFilter | OperationsOverviewFilter | DetailsFilter;
1691
+
1692
+ export type WebsocketUpdateType = "single_update" | "multiple_updates";
1693
+
1694
+ 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.1091-test-server",
3
+ "version": "0.1.1101",
4
4
  "types": "common.d.ts"
5
5
  }