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

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 -276
  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 {
184
- }
185
-
186
- export interface BatchUpdateRideSeriesInfo extends RideSeriesPostConfirmCommand {
187
- info?: GenericRideInfo;
188
- updater?: AccountOrTeamRef;
225
+ export interface AuthenticationResponseFactory {
189
226
  }
190
227
 
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,45 +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
- /**
489
- * @deprecated
490
- */
491
- export interface FindPotentialRides {
492
- accountId?: string;
493
- descending?: boolean;
494
- filter?: RideFilter;
495
- maxSize?: number;
496
- term?: string;
510
+ export interface FindRidesAndSeries extends AbstractFindRides {
497
511
  }
498
512
 
499
- export interface FindRides {
500
- descending?: boolean;
501
- filter?: RideFilter;
502
- maxSize?: number;
503
- term?: string;
513
+ export interface FindRidesAndSeriesForDriver extends AbstractFindRidesForDriver {
504
514
  }
505
515
 
506
- export interface FindRidesForDriver {
507
- accountId?: string;
508
- descending?: boolean;
509
- filter?: RideFilter;
510
- maxSize?: number;
511
- term?: string;
516
+ export interface FindRidesAndSeriesInMarketplace extends AbstractFindRidesInMarketplace {
512
517
  }
513
518
 
514
- export interface FindRidesInMarketplace {
515
- accountId?: string;
516
- descending?: boolean;
517
- filter?: RideFilter;
518
- maxSize?: number;
519
- term?: string;
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 {
520
528
  }
521
529
 
522
530
  export interface FindRidesResult {
@@ -524,24 +532,47 @@ export interface FindRidesResult {
524
532
  rides?: Ride[];
525
533
  }
526
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
+
527
544
  export interface FindTokens {
528
545
  term?: string;
529
546
  }
530
547
 
531
548
  export interface FindUsers {
549
+ accountFilter?: AccountFilter;
550
+ accountPermissionFilter?: AccountPermissionFilter;
532
551
  term?: string;
533
552
  }
534
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
+
535
565
  export interface GenerateToken {
536
566
  accountPermission?: AccountPermission;
537
567
  info?: TokenInfo;
538
568
  tokenId?: string;
539
569
  }
540
570
 
541
- /**
542
- * 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
+ }
543
575
 
544
- */
545
576
  export interface GenericRideInfo {
546
577
  ambulanceInfo?: AmbulanceInfo;
547
578
  attendantsPresent?: number;
@@ -557,7 +588,6 @@ export interface GenericRideInfo {
557
588
  patient?: Person;
558
589
  plannedDuration?: RideDuration;
559
590
  preferredDriver?: string;
560
- purpose?: RidePurpose;
561
591
  to?: AddressInfo;
562
592
  vehicleType?: VehicleType;
563
593
  weightInKg?: number;
@@ -593,22 +623,16 @@ export interface GetAccount {
593
623
  accountId?: string;
594
624
  }
595
625
 
596
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
597
- }
598
-
599
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
600
- }
601
-
602
- export interface GetAllRideSeriesForDriver {
603
- accountId?: string;
604
- descending?: boolean;
605
- maxSize?: number;
606
- timeRange?: InstantRange;
626
+ /**
627
+ * @deprecated
628
+ */
629
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
607
630
  }
608
631
 
609
- export interface GetAllRideSeriesInMarketplace {
610
- accountId?: string;
611
- maxSize?: number;
632
+ /**
633
+ * @deprecated
634
+ */
635
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
612
636
  }
613
637
 
614
638
  export interface GetDistrict {
@@ -631,29 +655,17 @@ export interface GetIsoStates {
631
655
  export interface GetMonopolyAccounts {
632
656
  }
633
657
 
634
- /**
635
- * @deprecated
636
- */
637
- export interface GetMyAcceptedRides {
638
- accountId?: string;
639
- maxSize?: number;
640
- timeRange?: InstantRange;
641
- }
642
-
643
658
  export interface GetMyAccounts {
644
659
  filter?: AccountFilter;
645
660
  }
646
661
 
647
- /**
648
- * @deprecated
649
- */
650
- export interface GetMyRideOffers {
662
+ export interface GetMyRides {
651
663
  accountId?: string;
652
664
  maxSize?: number;
653
665
  timeRange?: InstantRange;
654
666
  }
655
667
 
656
- export interface GetMyRides {
668
+ export interface GetMySeries {
657
669
  accountId?: string;
658
670
  maxSize?: number;
659
671
  timeRange?: InstantRange;
@@ -668,21 +680,25 @@ export interface GetMyUserProfile {
668
680
  export interface GetNutsStates {
669
681
  }
670
682
 
671
- export interface GetPotentialDrivers {
672
- fromDistrict?: string;
673
- mobility?: Mobility;
674
- toDistrict?: string;
675
- vehicleType?: VehicleType;
676
- weightInKg?: number;
683
+ export interface GetOneSeries {
684
+ rideSeriesId?: string;
685
+ }
686
+
687
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
677
688
  }
678
689
 
679
690
  /**
680
- * @deprecated
691
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
692
+
681
693
  */
682
- export interface GetPotentialRides {
683
- accountId?: string;
684
- maxSize?: number;
685
- 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;
686
702
  }
687
703
 
688
704
  export interface GetRide {
@@ -704,30 +720,38 @@ export interface GetRideLog {
704
720
  rideId?: string;
705
721
  }
706
722
 
707
- export interface GetRideSeries {
708
- rideSeriesId?: string;
723
+ export interface GetRideOrSeries {
724
+ id?: string;
709
725
  }
710
726
 
711
- export interface GetRideSeriesForDriver {
727
+ export interface GetRidesForDriver {
712
728
  accountId?: string;
713
729
  maxSize?: number;
714
730
  timeRange?: InstantRange;
715
731
  }
716
732
 
717
- export interface GetRidesForDriver {
733
+ export interface GetRidesInMarketplace {
718
734
  accountId?: string;
719
735
  maxSize?: number;
720
736
  timeRange?: InstantRange;
721
737
  }
722
738
 
723
- export interface GetRidesInMarketplace {
739
+ export interface GetRidesInSeries {
740
+ rideSeriesId?: string;
741
+ }
742
+
743
+ export interface GetSeriesForDriver {
724
744
  accountId?: string;
725
745
  maxSize?: number;
726
746
  timeRange?: InstantRange;
727
747
  }
728
748
 
729
- export interface GetRidesInSeries {
730
- filter?: RideFilter;
749
+ export interface GetSeriesInMarketplace {
750
+ accountId?: string;
751
+ maxSize?: number;
752
+ }
753
+
754
+ export interface GetSeriesLog {
731
755
  rideSeriesId?: string;
732
756
  }
733
757
 
@@ -757,6 +781,23 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
757
781
  teamPermission?: TeamPermission;
758
782
  }
759
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
+
760
801
  export interface ImpersonateUser {
761
802
  userId?: string;
762
803
  }
@@ -797,6 +838,11 @@ export interface IsoState {
797
838
  nutsCode?: string;
798
839
  }
799
840
 
841
+ export interface MarketplaceOverviewFilter extends WebsocketFilter {
842
+ queryFilter?: FindRidesAndSeriesInMarketplace;
843
+ screen: "marketplace";
844
+ }
845
+
800
846
  export interface Metric {
801
847
  clientId?: string;
802
848
  clientSegment?: number[];
@@ -807,6 +853,18 @@ export interface Metric {
807
853
  updates?: string[];
808
854
  }
809
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
+
810
868
  export interface NutsDistrict {
811
869
  code?: string;
812
870
  name?: string;
@@ -829,6 +887,15 @@ export interface OffsetTimeRange {
829
887
  start?: Date;
830
888
  }
831
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
+
832
899
  export interface OptimizerMessage {
833
900
  }
834
901
 
@@ -845,7 +912,7 @@ export interface Person {
845
912
  }
846
913
 
847
914
  /**
848
- * Filled if (and only if) patient exceeds 130 kg
915
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
849
916
  */
850
917
  export interface PersonDimensions {
851
918
  heightInCm?: number;
@@ -865,7 +932,7 @@ export interface ReadUpdates {
865
932
  maxSize?: number;
866
933
  maxTimeout?: number;
867
934
  tokenId?: string;
868
- updateTypes?: TrackingUpdateType[];
935
+ updateTypes?: EntityType[];
869
936
  }
870
937
 
871
938
  export interface ReadUpdatesResult {
@@ -874,6 +941,24 @@ export interface ReadUpdatesResult {
874
941
  updates?: any[];
875
942
  }
876
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
+
877
962
  export interface Region {
878
963
  nutsCode?: string;
879
964
  }
@@ -897,6 +982,14 @@ export interface RegisterEinsatz {
897
982
  export interface RemoveAccount extends AccountUpdate {
898
983
  }
899
984
 
985
+ export interface RemoveOperations extends AccountUpdate {
986
+ operateAccount?: string;
987
+ }
988
+
989
+ export interface RemoveOperator extends AccountUpdate {
990
+ operator?: string;
991
+ }
992
+
900
993
  export interface RemoveSettings extends AccountUpdate {
901
994
  type?: IntegrationType;
902
995
  }
@@ -946,7 +1039,7 @@ export interface ResetPosition {
946
1039
  export interface ReturnRide extends RideDriverModifyCommand {
947
1040
  }
948
1041
 
949
- export interface ReturnRideSeries extends RideDriverSeriesCommand {
1042
+ export interface ReturnRideSeries extends SeriesDriverCommand {
950
1043
  }
951
1044
 
952
1045
  export interface Review {
@@ -969,6 +1062,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
969
1062
  drivePermissionId?: string;
970
1063
  }
971
1064
 
1065
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1066
+ }
1067
+
972
1068
  export interface RevokeSubscription extends AccountUpdate {
973
1069
  subscriptionId?: string;
974
1070
  }
@@ -976,75 +1072,70 @@ export interface RevokeSubscription extends AccountUpdate {
976
1072
  export interface RevokeToken extends TokenUpdate {
977
1073
  }
978
1074
 
979
- export interface Ride {
1075
+ export interface RevokeUserRefreshTokens {
1076
+ userId?: string;
1077
+ }
1078
+
1079
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
980
1080
  /**
981
- * Derived from driver != null
1081
+ * 'accepted' is true if a driver has accepted the ride.
982
1082
  */
983
1083
  accepted?: boolean;
1084
+ acceptedTime?: string;
984
1085
  actualEndTime?: string;
985
1086
  actualStartTime?: string;
986
1087
  /**
987
- * Derived from driveStatus != null
1088
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
988
1089
  */
989
1090
  arrived?: boolean;
990
1091
  /**
991
- * Derived from bookedTime != null
1092
+ * 'booked' is false if the ride has only been saved.
992
1093
  */
993
1094
  booked?: boolean;
994
- bookedTime?: string;
995
1095
  booker?: AccountOrTeamRef;
996
1096
  bookerReview?: Review;
997
- bookingStatus?: BookingStatus;
998
1097
  cancelReason?: string;
999
1098
  cancelled?: boolean;
1000
1099
  /**
1001
- * Derived from driveStatus == completed
1100
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
1002
1101
  */
1003
1102
  completed?: boolean;
1004
1103
  /**
1005
- * 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.
1006
1105
  */
1007
1106
  desiredEndTime?: string;
1008
1107
  /**
1009
- * 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.
1010
1109
  */
1011
1110
  desiredStartTime?: string;
1012
1111
  driveStatus?: DriveStatus;
1013
- driver?: AccountOrTeamRef;
1014
1112
  driverReview?: Review;
1015
1113
  driverSyncStatus?: SyncStatus;
1016
1114
  endTimeDelay?: number;
1017
1115
  /**
1018
- * 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.
1019
1117
  */
1020
1118
  expectedEndTime?: string;
1021
1119
  /**
1022
- * 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.
1023
1121
  */
1024
1122
  expectedStartTime?: string;
1025
1123
  info?: RideInfo;
1124
+ marketplaceTime?: string;
1026
1125
  /**
1027
- * Derived from plannedStartTime != null
1126
+ * 'planned' is true if the driver has reported a planned time for the ride.
1028
1127
  */
1029
1128
  planned?: boolean;
1030
1129
  /**
1031
- * 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.
1032
1131
  */
1033
1132
  plannedEndTime?: string;
1034
1133
  plannedStartTime?: string;
1035
1134
  rideId?: string;
1036
- /**
1037
- * The time until which rides can be found. It's the planned time or else the desired time.
1038
- */
1039
- searchEndTime?: string;
1040
- /**
1041
- * The time from which rides can be found. It's the planned time or else the desired time.
1042
- */
1043
- searchStartTime?: string;
1044
1135
  seriesInfo?: SeriesInfo;
1045
1136
  startTimeDelay?: number;
1046
1137
  /**
1047
- * Derived from driveStatus != null
1138
+ * 'started' is true if the driver has reported a driveStatus.
1048
1139
  */
1049
1140
  started?: boolean;
1050
1141
  }
@@ -1052,9 +1143,6 @@ export interface Ride {
1052
1143
  export interface RideBookerCommand extends RideCommand {
1053
1144
  }
1054
1145
 
1055
- export interface RideBookerSeriesCommand extends RideSeriesCommand {
1056
- }
1057
-
1058
1146
  export interface RideCommand {
1059
1147
  rideId?: string;
1060
1148
  }
@@ -1065,16 +1153,19 @@ export interface RideDriverCommand extends RideCommand {
1065
1153
  export interface RideDriverModifyCommand extends RideDriverCommand {
1066
1154
  }
1067
1155
 
1068
- export interface RideDriverSeriesCommand extends RideSeriesPreConfirmCommand {
1069
- }
1070
-
1071
- /**
1072
- * All durations in seconds
1073
- */
1074
1156
  export interface RideDuration {
1075
1157
  driving?: number;
1158
+ /**
1159
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1160
+ */
1076
1161
  droppingOff?: number;
1162
+ /**
1163
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1164
+ */
1077
1165
  pickingUp?: number;
1166
+ /**
1167
+ * Seconds of driving time plus the pick-up and drop-off slack times
1168
+ */
1078
1169
  total?: number;
1079
1170
  }
1080
1171
 
@@ -1083,6 +1174,7 @@ export interface RideFilter {
1083
1174
  driveStatuses?: DriveStatus[];
1084
1175
  driverAccountNames?: string[];
1085
1176
  driverTeamNames?: string[];
1177
+ entityType?: EntityType;
1086
1178
  hasInfection?: boolean;
1087
1179
  heavyWeight?: boolean;
1088
1180
  mobilities?: Mobility[];
@@ -1094,6 +1186,7 @@ export interface RideFilter {
1094
1186
  riderAccountNames?: string[];
1095
1187
  riderTeamNames?: string[];
1096
1188
  timeRange?: InstantRange;
1189
+ unfoldRideSeries?: boolean;
1097
1190
  vehicleType?: VehicleType;
1098
1191
  }
1099
1192
 
@@ -1119,41 +1212,9 @@ export interface RideIdResult {
1119
1212
  rideId?: string;
1120
1213
  }
1121
1214
 
1122
- /**
1123
- * Information about the ride, from the creator of the ride
1124
- */
1125
- export interface RideInfo {
1126
- ambulanceInfo?: AmbulanceInfo;
1215
+ export interface RideInfo extends GenericRideInfo {
1127
1216
  appointment?: Appointment;
1128
- attendantsPresent?: number;
1129
- comment?: string;
1130
- dimensions?: PersonDimensions;
1131
- distanceInMeters?: number;
1132
- from?: AddressInfo;
1133
- /**
1134
- * Derived from weightInKg != null
1135
- */
1136
- heavyWeight?: boolean;
1137
- mobility?: Mobility;
1138
- patient?: Person;
1139
- plannedDuration?: RideDuration;
1140
- preferredDriver?: string;
1141
1217
  purpose?: RidePurpose;
1142
- to?: AddressInfo;
1143
- vehicleType?: VehicleType;
1144
- weightInKg?: number;
1145
- }
1146
-
1147
- export interface RideInfoFilter {
1148
- hasInfection?: boolean;
1149
- heavyWeight?: boolean;
1150
- mobilities?: Mobility[];
1151
- purposes?: RidePurpose[];
1152
- region?: Region;
1153
- requiresMonitoring?: boolean;
1154
- requiresOxygen?: boolean;
1155
- requiresSuctionAspirator?: boolean;
1156
- vehicleType?: VehicleType;
1157
1218
  }
1158
1219
 
1159
1220
  export interface RideLog {
@@ -1172,39 +1233,64 @@ export interface RideLog {
1172
1233
  token?: boolean;
1173
1234
  }
1174
1235
 
1175
- export interface RideOfferInfo {
1176
- appointment?: Appointment;
1236
+ export interface RideOperatorCommand extends RideCommand {
1177
1237
  }
1178
1238
 
1179
- export interface RideSeries {
1180
- accepted?: boolean;
1181
- booked?: boolean;
1182
- booker?: AccountOrTeamRef;
1183
- cancelled?: boolean;
1184
- confirmed?: boolean;
1185
- driver?: AccountOrTeamRef;
1186
- endTime?: string;
1239
+ export interface RideOrMinimizedSeries {
1240
+ bookingStatus?: BookingStatus;
1241
+ entityType?: EntityType;
1187
1242
  info?: GenericRideInfo;
1188
- rideSeriesId?: string;
1189
- rides?: SingleRide[];
1190
- startTime?: string;
1191
- status?: RideSeriesStatus;
1243
+ searchEndTime?: string;
1244
+ searchStartTime?: string;
1192
1245
  }
1193
1246
 
1194
- export interface RideSeriesCommand {
1195
- 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;
1196
1255
  }
1197
1256
 
1198
- 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
+ acceptedTime?: string;
1266
+ /**
1267
+ * The number of rides in the series that are not cancelled.
1268
+ */
1269
+ activeRideCount?: number;
1270
+ /**
1271
+ * 'booked' is false if the series has only been saved.
1272
+ */
1273
+ booked?: boolean;
1274
+ booker?: AccountOrTeamRef;
1275
+ cancelReason?: string;
1276
+ cancelled?: boolean;
1277
+ info?: SeriesRideInfo;
1278
+ marketplaceTime?: string;
1199
1279
  rideSeriesId?: string;
1280
+ rides?: Ride[];
1281
+ ridesSummaries?: RideSummary[];
1282
+ /**
1283
+ * searchEndTime is the time from which series can be found in our system. It's the searchEndTime of the last ride in the series.
1284
+ */
1285
+ searchEndTime?: string;
1286
+ /**
1287
+ * searchStartTime is the time from which series can be found in our system. It's the searchStartTime of the first ride in the series.
1288
+ */
1289
+ searchStartTime?: string;
1200
1290
  }
1201
1291
 
1202
- export interface RideSeriesPostConfirmCommand {
1292
+ export interface RideSeriesIdResult {
1203
1293
  rideSeriesId?: string;
1204
- ridesToModify?: Ride[];
1205
- }
1206
-
1207
- export interface RideSeriesPreConfirmCommand extends RideSeriesCommand {
1208
1294
  }
1209
1295
 
1210
1296
  export interface RideSeriesUpdate {
@@ -1217,12 +1303,23 @@ export interface RideSeriesUpdate {
1217
1303
  type: "rideseries";
1218
1304
  }
1219
1305
 
1306
+ export interface RideSeriesUtils {
1307
+ }
1308
+
1220
1309
  export interface RideStatisticsQuery {
1221
1310
  dateRange?: DateRange;
1222
- timezoneOrDefault?: string;
1223
1311
  zoneId?: string;
1224
1312
  }
1225
1313
 
1314
+ /**
1315
+ * Individual ride timing within a series. Once a ride series is accepted, you cannot add rides, only remove
1316
+ */
1317
+ export interface RideSummary {
1318
+ appointmentTime?: string;
1319
+ returnTrip?: boolean;
1320
+ rideId?: string;
1321
+ }
1322
+
1226
1323
  export interface RideSystemCommand extends RideCommand {
1227
1324
  }
1228
1325
 
@@ -1239,17 +1336,24 @@ export interface RideUpdate {
1239
1336
  type: "ride";
1240
1337
  }
1241
1338
 
1242
- export interface Role<T> {
1339
+ export interface Role {
1243
1340
  }
1244
1341
 
1245
1342
  /**
1246
1343
  * Save a new ride or update a previously saved ride. Not allowed to saveRide after the ride has been booked.
1247
1344
  */
1248
1345
  export interface SaveRide extends CreateRideCommand {
1249
- booker?: AccountOrTeamRef;
1250
1346
  info?: RideInfo;
1251
1347
  }
1252
1348
 
1349
+ export interface SaveRideSeries extends CreateSeriesCommand {
1350
+ rideSummaries?: RideSummary[];
1351
+ }
1352
+
1353
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1354
+ accountId?: string;
1355
+ }
1356
+
1253
1357
  export interface SendConfirmationEmail {
1254
1358
  userId?: string;
1255
1359
  }
@@ -1261,6 +1365,7 @@ export interface SendEmail {
1261
1365
  export interface SendFreshdeskNewTicket {
1262
1366
  email?: string;
1263
1367
  message?: string;
1368
+ subject?: string;
1264
1369
  }
1265
1370
 
1266
1371
  export interface SendInvitationEmail {
@@ -1273,12 +1378,52 @@ export interface SendSlack {
1273
1378
  message?: string;
1274
1379
  }
1275
1380
 
1381
+ export interface SendToFirebase {
1382
+ message?: FirebaseMessage;
1383
+ }
1384
+
1385
+ export interface SeriesBookerCommand extends SeriesCommand {
1386
+ }
1387
+
1388
+ export interface SeriesCommand {
1389
+ rideSeriesId?: string;
1390
+ }
1391
+
1392
+ export interface SeriesCommandWithSeparateEvent {
1393
+ rideSeriesId?: string;
1394
+ }
1395
+
1396
+ export interface SeriesDriverCommand extends SeriesCommand {
1397
+ }
1398
+
1276
1399
  /**
1277
- * Information about a ride that is part of series.
1400
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
1278
1401
  */
1279
1402
  export interface SeriesInfo {
1403
+ desyncedFromSeries?: boolean;
1404
+ positionInSeries?: number;
1280
1405
  returnTrip?: boolean;
1281
1406
  rideSeriesId?: string;
1407
+ totalRidesInSeries?: number;
1408
+ }
1409
+
1410
+ export interface SeriesOperatorCommand extends SeriesCommand {
1411
+ }
1412
+
1413
+ export interface SeriesRideInfo extends GenericRideInfo {
1414
+ purpose?: SeriesPurpose;
1415
+ }
1416
+
1417
+ export interface SetOperations extends AccountUpdate {
1418
+ operateAccounts?: string[];
1419
+ }
1420
+
1421
+ export interface SetOperator extends AccountUpdate {
1422
+ operator?: string;
1423
+ }
1424
+
1425
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1426
+ accountPermission?: AccountPermission;
1282
1427
  }
1283
1428
 
1284
1429
  export interface SetSettings extends AccountUpdate {
@@ -1308,19 +1453,6 @@ export interface SignUpUser {
1308
1453
  userId?: string;
1309
1454
  }
1310
1455
 
1311
- /**
1312
- * Individual ride timing within a series
1313
- */
1314
- export interface SingleRide {
1315
- desiredStartTime?: string;
1316
- returnTrip?: boolean;
1317
- }
1318
-
1319
- export interface SingleRideUpdate {
1320
- desiredStartTime?: string;
1321
- rideId?: string;
1322
- }
1323
-
1324
1456
  export interface StopImpersonatingUser {
1325
1457
  }
1326
1458
 
@@ -1370,10 +1502,11 @@ export interface TimedPermission {
1370
1502
  }
1371
1503
 
1372
1504
  export interface Token {
1373
- accountPermission?: AccountPermission;
1505
+ accountPermissions?: AccountPermission[];
1374
1506
  createdBy?: string;
1375
1507
  info?: TokenInfo;
1376
1508
  lastUpdatedBy?: string;
1509
+ owner?: string;
1377
1510
  revoked?: boolean;
1378
1511
  tokenId?: string;
1379
1512
  }
@@ -1416,9 +1549,19 @@ export interface UpdateRidePlan extends RideDriverModifyCommand {
1416
1549
  plannedStartTime?: string;
1417
1550
  }
1418
1551
 
1419
- export interface UpdateRideSeries extends RideBookerSeriesCommand {
1420
- info?: GenericRideInfo;
1421
- rides?: SingleRide[];
1552
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1553
+ booker?: AccountOrTeamRef;
1554
+ info?: SeriesRideInfo;
1555
+ rideSummaries?: RideSummary[];
1556
+ }
1557
+
1558
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1559
+ addRides?: string[];
1560
+ booker?: AccountOrTeamRef;
1561
+ cancelRides?: string[];
1562
+ info?: SeriesRideInfo;
1563
+ rideSummaries?: RideSummary[];
1564
+ updateRides?: string[];
1422
1565
  }
1423
1566
 
1424
1567
  export interface UpdateTeam extends TeamUpdate {
@@ -1472,12 +1615,32 @@ export interface UserUpdate extends UserCommand {
1472
1615
  export interface UserUpdateAfterSignup extends UserUpdate {
1473
1616
  }
1474
1617
 
1618
+ export interface WebsocketFilter {
1619
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
1620
+ }
1621
+
1622
+ export interface WebsocketMultipleUpdates extends WebsocketUpdate {
1623
+ ridesAndSeries?: RideOrMinimizedSeries[];
1624
+ ridesCount?: RideFilterCount;
1625
+ type: "multiple_updates";
1626
+ }
1627
+
1628
+ export interface WebsocketSingleUpdate extends WebsocketUpdate {
1629
+ id?: string;
1630
+ rideOrSeries?: RideOrMinimizedSeries;
1631
+ type: "single_update";
1632
+ }
1633
+
1634
+ export interface WebsocketUpdate {
1635
+ type: "multiple_updates" | "single_update";
1636
+ }
1637
+
1475
1638
  export interface ZonedTimeRange {
1476
1639
  end?: Date;
1477
1640
  start?: Date;
1478
1641
  }
1479
1642
 
1480
- export type AccountRole = "ridebooker" | "dispatcher" | "admin" | "owner";
1643
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1481
1644
 
1482
1645
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1483
1646
 
@@ -1487,6 +1650,8 @@ export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1487
1650
 
1488
1651
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1489
1652
 
1653
+ export type EntityType = "ride" | "rideseries";
1654
+
1490
1655
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1491
1656
 
1492
1657
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
@@ -1495,24 +1660,30 @@ export type IntegrationType = "dispolive" | "celios";
1495
1660
 
1496
1661
  export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1497
1662
 
1498
- export type OrganisationType = "medical" | "fleet";
1663
+ export type OrganisationType = "medical" | "fleet" | "operator";
1499
1664
 
1500
1665
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1501
1666
 
1502
- export type RideSeriesStatus = "booked" | "accepted" | "confirmed" | "cancelled";
1667
+ export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
1668
+
1669
+ export type SeriesPurpose = "consultation";
1503
1670
 
1504
- export type Service = "pro_medical" | "pro_fleet" | "celios_integration" | "dispolive_integration";
1671
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1505
1672
 
1506
1673
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1507
1674
 
1508
- export type StandaloneService = "pro_medical" | "pro_fleet";
1675
+ export type StandaloneService = "pro_medical" | "pro_fleet" | "pro_operator";
1509
1676
 
1510
1677
  export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1511
1678
 
1512
1679
  export type TeamRole = "dispatcher" | "ridebooker";
1513
1680
 
1514
- export type TrackingUpdateType = "ride" | "rideseries";
1515
-
1516
1681
  export type UserRole = "superadmin";
1517
1682
 
1518
1683
  export type VehicleType = "taxi" | "ambulance";
1684
+
1685
+ export type WebsocketFilterUnion = MarketplaceOverviewFilter | HospitalOverviewFilter | FleetOverviewFilter | OperationsOverviewFilter | DetailsFilter;
1686
+
1687
+ export type WebsocketUpdateType = "single_update" | "multiple_updates";
1688
+
1689
+ 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.1201-test-server",
3
+ "version": "0.1.1201",
4
4
  "types": "common.d.ts"
5
5
  }