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

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 +452 -274
  2. package/package.json +1 -1
package/common.d.ts CHANGED
@@ -1,9 +1,43 @@
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 {
40
+ export interface AcceptRideSeries extends SeriesDriverCommand {
7
41
  driver?: AccountOrTeamRef;
8
42
  }
9
43
 
@@ -27,7 +61,11 @@ export interface Account {
27
61
  info?: AccountInfo;
28
62
  integrationSettings?: any[];
29
63
  operateAccounts?: string[];
30
- operator?: 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[];
31
69
  subscriptions?: Subscription[];
32
70
  teams?: Team[];
33
71
  unconfirmedCriticalInfo?: CriticalAccountInfo;
@@ -43,6 +81,7 @@ export interface AccountFilter {
43
81
 
44
82
  export interface AccountInfo {
45
83
  address?: AddressInfo;
84
+ companyInfo?: CompanyInfo;
46
85
  defaultLanguage?: string;
47
86
  notificationEmails?: string[];
48
87
  phoneNumber?: PhoneNumber;
@@ -69,6 +108,10 @@ export interface AccountPermissionCommand extends UserUpdate {
69
108
  accountId?: string;
70
109
  }
71
110
 
111
+ export interface AccountPermissionFilter {
112
+ roles?: AccountRole[];
113
+ }
114
+
72
115
  export interface AccountRef {
73
116
  accountId?: string;
74
117
  name?: string;
@@ -80,14 +123,15 @@ export interface AccountUpcaster {
80
123
  export interface AccountUpdate extends AccountCommand {
81
124
  }
82
125
 
83
- /**
84
- * Address info of a google-validated address, including geolocation and district code
85
- */
126
+ export interface AddOperations extends AccountUpdate {
127
+ operateAccount?: string;
128
+ }
129
+
86
130
  export interface AddressInfo {
87
131
  addition?: string;
88
132
  city?: string;
89
133
  /**
90
- * Derived from districtNutsCode
134
+ * The NUTS country code, derived from districtNutsCode
91
135
  */
92
136
  country?: string;
93
137
  districtNutsCode?: string;
@@ -96,12 +140,12 @@ export interface AddressInfo {
96
140
  number?: string;
97
141
  placeName?: string;
98
142
  /**
99
- * Derived from districtNutsCode
143
+ * The NUTS level 1 code, derived from districtNutsCode
100
144
  */
101
145
  state?: string;
102
146
  street?: string;
103
147
  /**
104
- * Derived from districtNutsCode
148
+ * The NUTS level 2 code, derived from districtNutsCode
105
149
  */
106
150
  subState?: string;
107
151
  zipCode?: string;
@@ -121,38 +165,31 @@ export interface AmbulanceFilter extends DrivePermissionFilter {
121
165
  }
122
166
 
123
167
  /**
124
- * Filled if (and only if) vehicleType == ambulance
168
+ * Mandatory if the vehicleType is ambulance, forbidden if taxi
125
169
  */
126
170
  export interface AmbulanceInfo {
127
171
  /**
128
- * Derived from infectionDescription != blank
172
+ * True if infectionDescription is given
129
173
  */
130
174
  hasInfection?: boolean;
131
175
  infectionDescription?: string;
132
176
  monitoringDescription?: string;
133
177
  oxygenLiterPerHour?: number;
134
178
  /**
135
- * Derived from monitoringDescription != blank
179
+ * True if monitoringDescription is given
136
180
  */
137
181
  requiresMonitoring?: boolean;
138
182
  /**
139
- * Derived from oxygenLiterPerHour != null
183
+ * True if oxygenLiterPerHour is given
140
184
  */
141
185
  requiresOxygen?: boolean;
142
186
  requiresSuctionAspirator?: boolean;
143
187
  }
144
188
 
145
- /**
146
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
147
-
148
- */
149
- export interface AnonymizedGenericRideInfo extends GenericRideInfo {
189
+ export interface AnonymizedRideInfo extends RideInfo {
150
190
  }
151
191
 
152
- /**
153
- * Information about the ride, from the creator of the ride
154
- */
155
- export interface AnonymizedRideInfo extends RideInfo {
192
+ export interface AnonymizedSeriesRideInfo extends SeriesRideInfo {
156
193
  }
157
194
 
158
195
  export interface Appointment {
@@ -160,7 +197,11 @@ export interface Appointment {
160
197
  time?: string;
161
198
  }
162
199
 
163
- export interface AssignDriver extends RideCommand {
200
+ export interface AssignDriver extends RideOperatorCommand {
201
+ driver?: AccountOrTeamRef;
202
+ }
203
+
204
+ export interface AssignRideSeriesDriver extends SeriesOperatorCommand {
164
205
  driver?: AccountOrTeamRef;
165
206
  }
166
207
 
@@ -182,39 +223,31 @@ export interface AuthenticationResponse {
182
223
  userProfile?: UserProfile;
183
224
  }
184
225
 
185
- export interface AuthenticationService {
226
+ export interface AuthenticationResponseFactory {
186
227
  }
187
228
 
188
- export interface BatchUpdateRideSeriesInfo extends RideSeriesPostConfirmCommand {
189
- info?: GenericRideInfo;
190
- updater?: AccountOrTeamRef;
191
- }
192
-
193
- export interface BatchUpdateRideSeriesTimes extends RideSeriesPostConfirmCommand {
194
- rides?: SingleRideUpdate[];
195
- updater?: AccountOrTeamRef;
229
+ export interface AuthenticationService {
196
230
  }
197
231
 
198
232
  export interface BookRide extends CreateRideCommand {
199
- booker?: AccountOrTeamRef;
200
233
  info?: RideInfo;
201
234
  }
202
235
 
203
- export interface BookRideSeries extends RideBookerSeriesCommand {
204
- booker?: AccountOrTeamRef;
205
- info?: GenericRideInfo;
206
- rides?: SingleRide[];
236
+ export interface BookRideSeries extends CreateSeriesCommand {
237
+ rideSummaries?: RideSummary[];
207
238
  }
208
239
 
209
240
  export interface CancelRide extends RideBookerCommand {
210
241
  reason?: string;
211
242
  }
212
243
 
213
- export interface CancelRideSeries extends RideBookerSeriesCommand {
244
+ export interface CancelRideSeries extends SeriesCommandWithSeparateEvent {
245
+ reason?: string;
214
246
  }
215
247
 
216
- export interface CancelRidesInSeries extends RideSeriesPostConfirmCommand {
217
- updater?: AccountOrTeamRef;
248
+ export interface CancelRideSeriesEvent extends SeriesBookerCommand {
249
+ cancelRides?: string[];
250
+ reason?: string;
218
251
  }
219
252
 
220
253
  export interface CeliosSettings {
@@ -236,6 +269,28 @@ export interface CheckIfUserSignedUp {
236
269
  userId?: string;
237
270
  }
238
271
 
272
+ export interface CheckSession {
273
+ userId?: string;
274
+ }
275
+
276
+ /**
277
+ * 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.
278
+ */
279
+ export interface CleaningAndSlack {
280
+ cleaningAtGarage?: boolean;
281
+ cleaningDuration?: number;
282
+ dropoffDuration?: number;
283
+ pickupDuration?: number;
284
+ }
285
+
286
+ export interface CompanyInfo {
287
+ businessLicenseDocument?: Document;
288
+ creationDate?: string;
289
+ hasLiabilityInsurance?: boolean;
290
+ publicLiabilityPolicyDocument?: Document;
291
+ registrationNumber?: string;
292
+ }
293
+
239
294
  export interface ConfirmAccount extends AccountCommand {
240
295
  }
241
296
 
@@ -274,17 +329,12 @@ export interface CreateOptimizationPlan extends OptimizerMessage {
274
329
  }
275
330
 
276
331
  export interface CreateRideCommand extends RideBookerCommand {
277
- booker?: AccountOrTeamId;
278
- }
279
-
280
- export interface CreateRideFromSeries extends RideDriverCommand {
281
332
  booker?: AccountOrTeamRef;
282
- driver?: AccountOrTeamRef;
283
- info?: RideInfo;
284
- seriesInfo?: SeriesInfo;
285
333
  }
286
334
 
287
- export interface CreateRidesFromSeries extends RideDriverSeriesCommand {
335
+ export interface CreateSeriesCommand extends SeriesBookerCommand {
336
+ booker?: AccountOrTeamRef;
337
+ info?: SeriesRideInfo;
288
338
  }
289
339
 
290
340
  export interface CreateSqueezeInPlan extends OptimizerMessage {
@@ -320,6 +370,11 @@ export interface DateRange {
320
370
  export interface DeleteUser extends UserEdit {
321
371
  }
322
372
 
373
+ export interface DetailsFilter extends WebsocketFilter {
374
+ id?: string;
375
+ screen: "ride_details";
376
+ }
377
+
323
378
  export interface DisconnectClient {
324
379
  clientId?: string;
325
380
  tokenId?: string;
@@ -343,6 +398,12 @@ export interface DistrictInfo {
343
398
  type?: string;
344
399
  }
345
400
 
401
+ export interface Document {
402
+ id?: string;
403
+ name?: string;
404
+ size?: number;
405
+ }
406
+
346
407
  export interface DownloadableFile {
347
408
  base64Data?: string;
348
409
  fileName?: string;
@@ -430,47 +491,25 @@ export interface FindAccounts {
430
491
  term?: string;
431
492
  }
432
493
 
433
- /**
434
- * @deprecated
435
- */
436
- export interface FindMyAcceptedRides {
494
+ export interface FindDuplicateRides {
437
495
  accountId?: string;
438
- descending?: boolean;
439
- filter?: RideFilter;
440
- maxSize?: number;
441
- term?: string;
496
+ appointmentTime?: string;
497
+ patientBirthDay?: string;
498
+ patientFirstName?: string;
499
+ patientLastName?: string;
442
500
  }
443
501
 
444
- /**
445
- * @deprecated
446
- */
447
- export interface FindMyRideOffers {
448
- accountId?: string;
449
- descending?: boolean;
450
- filter?: RideFilter;
451
- maxSize?: number;
452
- term?: string;
502
+ export interface FindMyRides extends AbstractFindMyRides {
453
503
  }
454
504
 
455
- export interface FindMyRideSeries {
456
- accountId?: string;
457
- descending?: boolean;
458
- maxSize?: number;
459
- term?: string;
460
- timeRange?: InstantRange;
505
+ export interface FindMyRidesAndSeries extends AbstractFindMyRides {
461
506
  }
462
507
 
463
- export interface FindMyRides {
464
- accountId?: string;
465
- descending?: boolean;
466
- filter?: RideFilter;
467
- maxSize?: number;
468
- term?: string;
508
+ export interface FindMySeries extends AbstractFindMyRides {
469
509
  }
470
510
 
471
511
  export interface FindMyTokens {
472
512
  accountId?: string;
473
- teamId?: string;
474
513
  term?: string;
475
514
  }
476
515
 
@@ -480,45 +519,27 @@ export interface FindMyUsers {
480
519
  term?: string;
481
520
  }
482
521
 
483
- export interface FindPotentialRideSeries {
484
- accountId?: string;
485
- descending?: boolean;
486
- filter?: RideInfoFilter;
487
- maxSize?: number;
522
+ export interface FindRides extends AbstractFindRides {
488
523
  }
489
524
 
490
- /**
491
- * @deprecated
492
- */
493
- export interface FindPotentialRides {
494
- accountId?: string;
495
- descending?: boolean;
496
- filter?: RideFilter;
497
- maxSize?: number;
498
- term?: string;
525
+ export interface FindRidesAndSeries extends AbstractFindRides {
499
526
  }
500
527
 
501
- export interface FindRides {
502
- descending?: boolean;
503
- filter?: RideFilter;
504
- maxSize?: number;
505
- term?: string;
528
+ export interface FindRidesAndSeriesForDriver extends AbstractFindRidesForDriver {
506
529
  }
507
530
 
508
- export interface FindRidesForDriver {
509
- accountId?: string;
510
- descending?: boolean;
511
- filter?: RideFilter;
512
- maxSize?: number;
513
- term?: string;
531
+ export interface FindRidesAndSeriesInMarketplace extends AbstractFindRidesInMarketplace {
514
532
  }
515
533
 
516
- export interface FindRidesInMarketplace {
517
- accountId?: string;
518
- descending?: boolean;
519
- filter?: RideFilter;
520
- maxSize?: number;
521
- term?: string;
534
+ export interface FindRidesAndSeriesResult {
535
+ ridesAndSeries?: RideOrMinimizedSeries[];
536
+ ridesCount?: RideFilterCount;
537
+ }
538
+
539
+ export interface FindRidesForDriver extends AbstractFindRidesForDriver {
540
+ }
541
+
542
+ export interface FindRidesInMarketplace extends AbstractFindRidesInMarketplace {
522
543
  }
523
544
 
524
545
  export interface FindRidesResult {
@@ -526,24 +547,47 @@ export interface FindRidesResult {
526
547
  rides?: Ride[];
527
548
  }
528
549
 
550
+ export interface FindSeries extends AbstractFindRides {
551
+ }
552
+
553
+ export interface FindSeriesForDriver extends AbstractFindRidesForDriver {
554
+ }
555
+
556
+ export interface FindSeriesInMarketplace extends AbstractFindRidesInMarketplace {
557
+ }
558
+
529
559
  export interface FindTokens {
530
560
  term?: string;
531
561
  }
532
562
 
533
563
  export interface FindUsers {
564
+ accountFilter?: AccountFilter;
565
+ accountPermissionFilter?: AccountPermissionFilter;
534
566
  term?: string;
535
567
  }
536
568
 
569
+ export interface FirebaseMessage {
570
+ data?: { [index: string]: string };
571
+ notification?: Notification;
572
+ topic?: string;
573
+ }
574
+
575
+ export interface FleetOverviewFilter extends WebsocketFilter {
576
+ queryFilter?: FindRidesAndSeriesForDriver;
577
+ screen: "fleet_overview";
578
+ }
579
+
537
580
  export interface GenerateToken {
538
581
  accountPermission?: AccountPermission;
539
582
  info?: TokenInfo;
540
583
  tokenId?: string;
541
584
  }
542
585
 
543
- /**
544
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
586
+ export interface GenerateTokenResult {
587
+ entity?: Token;
588
+ jwt?: string;
589
+ }
545
590
 
546
- */
547
591
  export interface GenericRideInfo {
548
592
  ambulanceInfo?: AmbulanceInfo;
549
593
  attendantsPresent?: number;
@@ -559,7 +603,6 @@ export interface GenericRideInfo {
559
603
  patient?: Person;
560
604
  plannedDuration?: RideDuration;
561
605
  preferredDriver?: string;
562
- purpose?: RidePurpose;
563
606
  to?: AddressInfo;
564
607
  vehicleType?: VehicleType;
565
608
  weightInKg?: number;
@@ -595,22 +638,16 @@ export interface GetAccount {
595
638
  accountId?: string;
596
639
  }
597
640
 
598
- export interface GetAccountsOfPotentialDrivers extends GetPotentialDrivers {
599
- }
600
-
601
- export interface GetAccountsOfPotentialDriversAsAdmin extends GetPotentialDrivers {
602
- }
603
-
604
- export interface GetAllRideSeriesForDriver {
605
- accountId?: string;
606
- descending?: boolean;
607
- maxSize?: number;
608
- timeRange?: InstantRange;
641
+ /**
642
+ * @deprecated
643
+ */
644
+ export interface GetAccountsOfPotentialDrivers extends IGetPotentialDrivers {
609
645
  }
610
646
 
611
- export interface GetAllRideSeriesInMarketplace {
612
- accountId?: string;
613
- maxSize?: number;
647
+ /**
648
+ * @deprecated
649
+ */
650
+ export interface GetAccountsOfPotentialDriversAsAdmin extends IGetPotentialDrivers {
614
651
  }
615
652
 
616
653
  export interface GetDistrict {
@@ -633,29 +670,17 @@ export interface GetIsoStates {
633
670
  export interface GetMonopolyAccounts {
634
671
  }
635
672
 
636
- /**
637
- * @deprecated
638
- */
639
- export interface GetMyAcceptedRides {
640
- accountId?: string;
641
- maxSize?: number;
642
- timeRange?: InstantRange;
643
- }
644
-
645
673
  export interface GetMyAccounts {
646
674
  filter?: AccountFilter;
647
675
  }
648
676
 
649
- /**
650
- * @deprecated
651
- */
652
- export interface GetMyRideOffers {
677
+ export interface GetMyRides {
653
678
  accountId?: string;
654
679
  maxSize?: number;
655
680
  timeRange?: InstantRange;
656
681
  }
657
682
 
658
- export interface GetMyRides {
683
+ export interface GetMySeries {
659
684
  accountId?: string;
660
685
  maxSize?: number;
661
686
  timeRange?: InstantRange;
@@ -670,21 +695,25 @@ export interface GetMyUserProfile {
670
695
  export interface GetNutsStates {
671
696
  }
672
697
 
673
- export interface GetPotentialDrivers {
674
- fromDistrict?: string;
675
- mobility?: Mobility;
676
- toDistrict?: string;
677
- vehicleType?: VehicleType;
678
- weightInKg?: number;
698
+ export interface GetOneSeries {
699
+ rideSeriesId?: string;
700
+ }
701
+
702
+ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
679
703
  }
680
704
 
681
705
  /**
682
- * @deprecated
706
+ * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
707
+
683
708
  */
684
- export interface GetPotentialRides {
685
- accountId?: string;
686
- maxSize?: number;
687
- timeRange?: InstantRange;
709
+ export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
710
+ }
711
+
712
+ export interface GetPotentialDriversAbstract {
713
+ fromDistrict?: string;
714
+ mobility?: Mobility;
715
+ vehicleType?: VehicleType;
716
+ weightInKg?: number;
688
717
  }
689
718
 
690
719
  export interface GetRide {
@@ -706,30 +735,38 @@ export interface GetRideLog {
706
735
  rideId?: string;
707
736
  }
708
737
 
709
- export interface GetRideSeries {
710
- rideSeriesId?: string;
738
+ export interface GetRideOrSeries {
739
+ id?: string;
711
740
  }
712
741
 
713
- export interface GetRideSeriesForDriver {
742
+ export interface GetRidesForDriver {
714
743
  accountId?: string;
715
744
  maxSize?: number;
716
745
  timeRange?: InstantRange;
717
746
  }
718
747
 
719
- export interface GetRidesForDriver {
748
+ export interface GetRidesInMarketplace {
720
749
  accountId?: string;
721
750
  maxSize?: number;
722
751
  timeRange?: InstantRange;
723
752
  }
724
753
 
725
- export interface GetRidesInMarketplace {
754
+ export interface GetRidesInSeries {
755
+ rideSeriesId?: string;
756
+ }
757
+
758
+ export interface GetSeriesForDriver {
726
759
  accountId?: string;
727
760
  maxSize?: number;
728
761
  timeRange?: InstantRange;
729
762
  }
730
763
 
731
- export interface GetRidesInSeries {
732
- filter?: RideFilter;
764
+ export interface GetSeriesInMarketplace {
765
+ accountId?: string;
766
+ maxSize?: number;
767
+ }
768
+
769
+ export interface GetSeriesLog {
733
770
  rideSeriesId?: string;
734
771
  }
735
772
 
@@ -759,6 +796,23 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
759
796
  teamPermission?: TeamPermission;
760
797
  }
761
798
 
799
+ export interface HalfHourBeforeStart {
800
+ rideId?: string;
801
+ }
802
+
803
+ export interface HospitalOverviewFilter extends WebsocketFilter {
804
+ queryFilter?: FindMyRidesAndSeries;
805
+ screen: "hospital_overview";
806
+ }
807
+
808
+ export interface IGetPotentialDrivers {
809
+ fromDistrict?: string;
810
+ mobility?: Mobility;
811
+ toDistrict?: string;
812
+ vehicleType?: VehicleType;
813
+ weightInKg?: number;
814
+ }
815
+
762
816
  export interface ImpersonateUser {
763
817
  userId?: string;
764
818
  }
@@ -799,6 +853,11 @@ export interface IsoState {
799
853
  nutsCode?: string;
800
854
  }
801
855
 
856
+ export interface MarketplaceOverviewFilter extends WebsocketFilter {
857
+ queryFilter?: FindRidesAndSeriesInMarketplace;
858
+ screen: "marketplace";
859
+ }
860
+
802
861
  export interface Metric {
803
862
  clientId?: string;
804
863
  clientSegment?: number[];
@@ -809,6 +868,18 @@ export interface Metric {
809
868
  updates?: string[];
810
869
  }
811
870
 
871
+ /**
872
+ * A series of rides.
873
+ */
874
+ export interface MinimizedRideSeries extends RideSeries, RideOrMinimizedSeries {
875
+ info?: SeriesRideInfo;
876
+ }
877
+
878
+ export interface Notification {
879
+ body?: string;
880
+ title?: string;
881
+ }
882
+
812
883
  export interface NutsDistrict {
813
884
  code?: string;
814
885
  name?: string;
@@ -831,6 +902,15 @@ export interface OffsetTimeRange {
831
902
  start?: Date;
832
903
  }
833
904
 
905
+ export interface OneHourAfterEnd {
906
+ rideId?: string;
907
+ }
908
+
909
+ export interface OperationsOverviewFilter extends WebsocketFilter {
910
+ queryFilter?: FindRidesAndSeries;
911
+ screen: "operations_overview";
912
+ }
913
+
834
914
  export interface OptimizerMessage {
835
915
  }
836
916
 
@@ -847,7 +927,7 @@ export interface Person {
847
927
  }
848
928
 
849
929
  /**
850
- * Filled if (and only if) patient exceeds 130 kg
930
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
851
931
  */
852
932
  export interface PersonDimensions {
853
933
  heightInCm?: number;
@@ -867,7 +947,7 @@ export interface ReadUpdates {
867
947
  maxSize?: number;
868
948
  maxTimeout?: number;
869
949
  tokenId?: string;
870
- updateTypes?: TrackingUpdateType[];
950
+ updateTypes?: EntityType[];
871
951
  }
872
952
 
873
953
  export interface ReadUpdatesResult {
@@ -876,6 +956,24 @@ export interface ReadUpdatesResult {
876
956
  updates?: any[];
877
957
  }
878
958
 
959
+ export interface RefreshTokenData {
960
+ expiresAt?: string;
961
+ hashedToken?: string;
962
+ userId?: string;
963
+ }
964
+
965
+ export interface RefreshTokenService {
966
+ }
967
+
968
+ export interface RefreshUserToken {
969
+ refreshToken?: string;
970
+ }
971
+
972
+ export interface RefreshableAuthenticationResponse extends AuthenticationResponse {
973
+ refreshToken?: string;
974
+ refreshTokenDeadline?: string;
975
+ }
976
+
879
977
  export interface Region {
880
978
  nutsCode?: string;
881
979
  }
@@ -899,6 +997,14 @@ export interface RegisterEinsatz {
899
997
  export interface RemoveAccount extends AccountUpdate {
900
998
  }
901
999
 
1000
+ export interface RemoveOperations extends AccountUpdate {
1001
+ operateAccount?: string;
1002
+ }
1003
+
1004
+ export interface RemoveOperator extends AccountUpdate {
1005
+ operator?: string;
1006
+ }
1007
+
902
1008
  export interface RemoveSettings extends AccountUpdate {
903
1009
  type?: IntegrationType;
904
1010
  }
@@ -948,7 +1054,7 @@ export interface ResetPosition {
948
1054
  export interface ReturnRide extends RideDriverModifyCommand {
949
1055
  }
950
1056
 
951
- export interface ReturnRideSeries extends RideDriverSeriesCommand {
1057
+ export interface ReturnRideSeries extends SeriesDriverCommand {
952
1058
  }
953
1059
 
954
1060
  export interface Review {
@@ -971,6 +1077,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
971
1077
  drivePermissionId?: string;
972
1078
  }
973
1079
 
1080
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1081
+ }
1082
+
974
1083
  export interface RevokeSubscription extends AccountUpdate {
975
1084
  subscriptionId?: string;
976
1085
  }
@@ -978,75 +1087,69 @@ export interface RevokeSubscription extends AccountUpdate {
978
1087
  export interface RevokeToken extends TokenUpdate {
979
1088
  }
980
1089
 
981
- export interface Ride {
1090
+ export interface RevokeUserRefreshTokens {
1091
+ userId?: string;
1092
+ }
1093
+
1094
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
982
1095
  /**
983
- * Derived from driver != null
1096
+ * 'accepted' is true if a driver has accepted the ride.
984
1097
  */
985
1098
  accepted?: boolean;
1099
+ acceptedTime?: string;
986
1100
  actualEndTime?: string;
987
1101
  actualStartTime?: string;
988
1102
  /**
989
- * Derived from driveStatus != null
1103
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
990
1104
  */
991
1105
  arrived?: boolean;
992
1106
  /**
993
- * Derived from bookedTime != null
1107
+ * 'booked' is false if the ride has only been saved.
994
1108
  */
995
1109
  booked?: boolean;
996
- bookedTime?: string;
997
1110
  booker?: AccountOrTeamRef;
998
1111
  bookerReview?: Review;
999
- bookingStatus?: BookingStatus;
1000
1112
  cancelReason?: string;
1001
1113
  cancelled?: boolean;
1002
1114
  /**
1003
- * Derived from driveStatus == completed
1115
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
1004
1116
  */
1005
1117
  completed?: boolean;
1006
1118
  /**
1007
- * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1119
+ * 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.
1008
1120
  */
1009
1121
  desiredEndTime?: string;
1010
1122
  /**
1011
- * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1123
+ * 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.
1012
1124
  */
1013
1125
  desiredStartTime?: string;
1014
1126
  driveStatus?: DriveStatus;
1015
- driver?: AccountOrTeamRef;
1016
1127
  driverReview?: Review;
1017
1128
  driverSyncStatus?: SyncStatus;
1018
1129
  endTimeDelay?: number;
1019
1130
  /**
1020
- * Expected Time of Arrival at the Destination/Drop-off location.
1131
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'to' or 'drop-off' location.
1021
1132
  */
1022
1133
  expectedEndTime?: string;
1023
1134
  /**
1024
- * Expected Time of Arrival at the Origin/Pick-up location.
1135
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1025
1136
  */
1026
1137
  expectedStartTime?: string;
1027
1138
  info?: RideInfo;
1028
1139
  /**
1029
- * Derived from plannedStartTime != null
1140
+ * 'planned' is true if the driver has reported a planned time for the ride.
1030
1141
  */
1031
1142
  planned?: boolean;
1032
1143
  /**
1033
- * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
1144
+ * The driver determines the plannedEndTime. It means the planned time of arrival at the 'to' or 'drop-off' location.
1034
1145
  */
1035
1146
  plannedEndTime?: string;
1036
1147
  plannedStartTime?: string;
1037
1148
  rideId?: string;
1038
- /**
1039
- * The time until which rides can be found. It's the planned time or else the desired time.
1040
- */
1041
- searchEndTime?: string;
1042
- /**
1043
- * The time from which rides can be found. It's the planned time or else the desired time.
1044
- */
1045
- searchStartTime?: string;
1046
1149
  seriesInfo?: SeriesInfo;
1047
1150
  startTimeDelay?: number;
1048
1151
  /**
1049
- * Derived from driveStatus != null
1152
+ * 'started' is true if the driver has reported a driveStatus.
1050
1153
  */
1051
1154
  started?: boolean;
1052
1155
  }
@@ -1054,9 +1157,6 @@ export interface Ride {
1054
1157
  export interface RideBookerCommand extends RideCommand {
1055
1158
  }
1056
1159
 
1057
- export interface RideBookerSeriesCommand extends RideSeriesCommand {
1058
- }
1059
-
1060
1160
  export interface RideCommand {
1061
1161
  rideId?: string;
1062
1162
  }
@@ -1067,16 +1167,19 @@ export interface RideDriverCommand extends RideCommand {
1067
1167
  export interface RideDriverModifyCommand extends RideDriverCommand {
1068
1168
  }
1069
1169
 
1070
- export interface RideDriverSeriesCommand extends RideSeriesPreConfirmCommand {
1071
- }
1072
-
1073
- /**
1074
- * All durations in seconds
1075
- */
1076
1170
  export interface RideDuration {
1077
1171
  driving?: number;
1172
+ /**
1173
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1174
+ */
1078
1175
  droppingOff?: number;
1176
+ /**
1177
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1178
+ */
1079
1179
  pickingUp?: number;
1180
+ /**
1181
+ * Seconds of driving time plus the pick-up and drop-off slack times
1182
+ */
1080
1183
  total?: number;
1081
1184
  }
1082
1185
 
@@ -1085,6 +1188,7 @@ export interface RideFilter {
1085
1188
  driveStatuses?: DriveStatus[];
1086
1189
  driverAccountNames?: string[];
1087
1190
  driverTeamNames?: string[];
1191
+ entityType?: EntityType;
1088
1192
  hasInfection?: boolean;
1089
1193
  heavyWeight?: boolean;
1090
1194
  mobilities?: Mobility[];
@@ -1096,6 +1200,7 @@ export interface RideFilter {
1096
1200
  riderAccountNames?: string[];
1097
1201
  riderTeamNames?: string[];
1098
1202
  timeRange?: InstantRange;
1203
+ unfoldRideSeries?: boolean;
1099
1204
  vehicleType?: VehicleType;
1100
1205
  }
1101
1206
 
@@ -1121,41 +1226,9 @@ export interface RideIdResult {
1121
1226
  rideId?: string;
1122
1227
  }
1123
1228
 
1124
- /**
1125
- * Information about the ride, from the creator of the ride
1126
- */
1127
- export interface RideInfo {
1128
- ambulanceInfo?: AmbulanceInfo;
1229
+ export interface RideInfo extends GenericRideInfo {
1129
1230
  appointment?: Appointment;
1130
- attendantsPresent?: number;
1131
- comment?: string;
1132
- dimensions?: PersonDimensions;
1133
- distanceInMeters?: number;
1134
- from?: AddressInfo;
1135
- /**
1136
- * Derived from weightInKg != null
1137
- */
1138
- heavyWeight?: boolean;
1139
- mobility?: Mobility;
1140
- patient?: Person;
1141
- plannedDuration?: RideDuration;
1142
- preferredDriver?: string;
1143
1231
  purpose?: RidePurpose;
1144
- to?: AddressInfo;
1145
- vehicleType?: VehicleType;
1146
- weightInKg?: number;
1147
- }
1148
-
1149
- export interface RideInfoFilter {
1150
- hasInfection?: boolean;
1151
- heavyWeight?: boolean;
1152
- mobilities?: Mobility[];
1153
- purposes?: RidePurpose[];
1154
- region?: Region;
1155
- requiresMonitoring?: boolean;
1156
- requiresOxygen?: boolean;
1157
- requiresSuctionAspirator?: boolean;
1158
- vehicleType?: VehicleType;
1159
1232
  }
1160
1233
 
1161
1234
  export interface RideLog {
@@ -1174,39 +1247,64 @@ export interface RideLog {
1174
1247
  token?: boolean;
1175
1248
  }
1176
1249
 
1177
- export interface RideOfferInfo {
1178
- appointment?: Appointment;
1250
+ export interface RideOperatorCommand extends RideCommand {
1179
1251
  }
1180
1252
 
1181
- export interface RideSeries {
1182
- accepted?: boolean;
1183
- booked?: boolean;
1184
- booker?: AccountOrTeamRef;
1185
- cancelled?: boolean;
1186
- confirmed?: boolean;
1187
- driver?: AccountOrTeamRef;
1188
- endTime?: string;
1253
+ export interface RideOrMinimizedSeries {
1254
+ bookingStatus?: BookingStatus;
1255
+ entityType?: EntityType;
1189
1256
  info?: GenericRideInfo;
1190
- rideSeriesId?: string;
1191
- rides?: SingleRide[];
1192
- startTime?: string;
1193
- status?: RideSeriesStatus;
1257
+ searchEndTime?: string;
1258
+ searchStartTime?: string;
1194
1259
  }
1195
1260
 
1196
- export interface RideSeriesCommand {
1197
- rideSeriesId?: string;
1261
+ export interface RideOrSeries {
1262
+ bookedTime?: string;
1263
+ bookingStatus?: BookingStatus;
1264
+ cleaningAndSlack?: CleaningAndSlack;
1265
+ driver?: AccountOrTeamRef;
1266
+ entityType?: EntityType;
1267
+ info?: GenericRideInfo;
1268
+ marketplaceTime?: string;
1269
+ totalDuration?: number;
1198
1270
  }
1199
1271
 
1200
- export interface RideSeriesIdResult {
1272
+ /**
1273
+ * A series of rides.
1274
+ */
1275
+ export interface RideSeries extends RideOrSeries {
1276
+ /**
1277
+ * 'accepted' is true if a driver has accepted the series.
1278
+ */
1279
+ accepted?: boolean;
1280
+ acceptedTime?: string;
1281
+ /**
1282
+ * The number of rides in the series that are not cancelled.
1283
+ */
1284
+ activeRideCount?: number;
1285
+ /**
1286
+ * 'booked' is false if the series has only been saved.
1287
+ */
1288
+ booked?: boolean;
1289
+ booker?: AccountOrTeamRef;
1290
+ cancelReason?: string;
1291
+ cancelled?: boolean;
1292
+ info?: SeriesRideInfo;
1201
1293
  rideSeriesId?: string;
1294
+ rides?: Ride[];
1295
+ ridesSummaries?: RideSummary[];
1296
+ /**
1297
+ * searchEndTime is the time from which series can be found in our system. It's the searchEndTime of the last ride in the series.
1298
+ */
1299
+ searchEndTime?: string;
1300
+ /**
1301
+ * searchStartTime is the time from which series can be found in our system. It's the searchStartTime of the first ride in the series.
1302
+ */
1303
+ searchStartTime?: string;
1202
1304
  }
1203
1305
 
1204
- export interface RideSeriesPostConfirmCommand {
1306
+ export interface RideSeriesIdResult {
1205
1307
  rideSeriesId?: string;
1206
- ridesToModify?: Ride[];
1207
- }
1208
-
1209
- export interface RideSeriesPreConfirmCommand extends RideSeriesCommand {
1210
1308
  }
1211
1309
 
1212
1310
  export interface RideSeriesUpdate {
@@ -1219,11 +1317,23 @@ export interface RideSeriesUpdate {
1219
1317
  type: "rideseries";
1220
1318
  }
1221
1319
 
1320
+ export interface RideSeriesUtils {
1321
+ }
1322
+
1222
1323
  export interface RideStatisticsQuery {
1223
1324
  dateRange?: DateRange;
1224
1325
  zoneId?: string;
1225
1326
  }
1226
1327
 
1328
+ /**
1329
+ * Individual ride timing within a series. Once a ride series is accepted, you cannot add rides, only remove
1330
+ */
1331
+ export interface RideSummary {
1332
+ appointmentTime?: string;
1333
+ returnTrip?: boolean;
1334
+ rideId?: string;
1335
+ }
1336
+
1227
1337
  export interface RideSystemCommand extends RideCommand {
1228
1338
  }
1229
1339
 
@@ -1240,17 +1350,24 @@ export interface RideUpdate {
1240
1350
  type: "ride";
1241
1351
  }
1242
1352
 
1243
- export interface Role<T> {
1353
+ export interface Role {
1244
1354
  }
1245
1355
 
1246
1356
  /**
1247
1357
  * Save a new ride or update a previously saved ride. Not allowed to saveRide after the ride has been booked.
1248
1358
  */
1249
1359
  export interface SaveRide extends CreateRideCommand {
1250
- booker?: AccountOrTeamRef;
1251
1360
  info?: RideInfo;
1252
1361
  }
1253
1362
 
1363
+ export interface SaveRideSeries extends CreateSeriesCommand {
1364
+ rideSummaries?: RideSummary[];
1365
+ }
1366
+
1367
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1368
+ accountId?: string;
1369
+ }
1370
+
1254
1371
  export interface SendConfirmationEmail {
1255
1372
  userId?: string;
1256
1373
  }
@@ -1262,6 +1379,7 @@ export interface SendEmail {
1262
1379
  export interface SendFreshdeskNewTicket {
1263
1380
  email?: string;
1264
1381
  message?: string;
1382
+ subject?: string;
1265
1383
  }
1266
1384
 
1267
1385
  export interface SendInvitationEmail {
@@ -1274,15 +1392,43 @@ export interface SendSlack {
1274
1392
  message?: string;
1275
1393
  }
1276
1394
 
1395
+ export interface SendToFirebase {
1396
+ message?: FirebaseMessage;
1397
+ }
1398
+
1399
+ export interface SeriesBookerCommand extends SeriesCommand {
1400
+ }
1401
+
1402
+ export interface SeriesCommand {
1403
+ rideSeriesId?: string;
1404
+ }
1405
+
1406
+ export interface SeriesCommandWithSeparateEvent {
1407
+ rideSeriesId?: string;
1408
+ }
1409
+
1410
+ export interface SeriesDriverCommand extends SeriesCommand {
1411
+ }
1412
+
1277
1413
  /**
1278
- * Information about a ride that is part of series.
1414
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
1279
1415
  */
1280
1416
  export interface SeriesInfo {
1417
+ desyncedFromSeries?: boolean;
1418
+ positionInSeries?: number;
1281
1419
  returnTrip?: boolean;
1282
1420
  rideSeriesId?: string;
1421
+ totalRidesInSeries?: number;
1422
+ }
1423
+
1424
+ export interface SeriesOperatorCommand extends SeriesCommand {
1425
+ }
1426
+
1427
+ export interface SeriesRideInfo extends GenericRideInfo {
1428
+ purpose?: SeriesPurpose;
1283
1429
  }
1284
1430
 
1285
- export interface SetOperateAccounts extends AccountUpdate {
1431
+ export interface SetOperations extends AccountUpdate {
1286
1432
  operateAccounts?: string[];
1287
1433
  }
1288
1434
 
@@ -1290,6 +1436,10 @@ export interface SetOperator extends AccountUpdate {
1290
1436
  operator?: string;
1291
1437
  }
1292
1438
 
1439
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1440
+ accountPermission?: AccountPermission;
1441
+ }
1442
+
1293
1443
  export interface SetSettings extends AccountUpdate {
1294
1444
  settings?: any;
1295
1445
  }
@@ -1317,19 +1467,6 @@ export interface SignUpUser {
1317
1467
  userId?: string;
1318
1468
  }
1319
1469
 
1320
- /**
1321
- * Individual ride timing within a series
1322
- */
1323
- export interface SingleRide {
1324
- desiredStartTime?: string;
1325
- returnTrip?: boolean;
1326
- }
1327
-
1328
- export interface SingleRideUpdate {
1329
- desiredStartTime?: string;
1330
- rideId?: string;
1331
- }
1332
-
1333
1470
  export interface StopImpersonatingUser {
1334
1471
  }
1335
1472
 
@@ -1379,10 +1516,11 @@ export interface TimedPermission {
1379
1516
  }
1380
1517
 
1381
1518
  export interface Token {
1382
- accountPermission?: AccountPermission;
1519
+ accountPermissions?: AccountPermission[];
1383
1520
  createdBy?: string;
1384
1521
  info?: TokenInfo;
1385
1522
  lastUpdatedBy?: string;
1523
+ owner?: string;
1386
1524
  revoked?: boolean;
1387
1525
  tokenId?: string;
1388
1526
  }
@@ -1425,9 +1563,19 @@ export interface UpdateRidePlan extends RideDriverModifyCommand {
1425
1563
  plannedStartTime?: string;
1426
1564
  }
1427
1565
 
1428
- export interface UpdateRideSeries extends RideBookerSeriesCommand {
1429
- info?: GenericRideInfo;
1430
- rides?: SingleRide[];
1566
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1567
+ booker?: AccountOrTeamRef;
1568
+ info?: SeriesRideInfo;
1569
+ rideSummaries?: RideSummary[];
1570
+ }
1571
+
1572
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1573
+ addRides?: string[];
1574
+ booker?: AccountOrTeamRef;
1575
+ cancelRides?: string[];
1576
+ info?: SeriesRideInfo;
1577
+ rideSummaries?: RideSummary[];
1578
+ updateRides?: string[];
1431
1579
  }
1432
1580
 
1433
1581
  export interface UpdateTeam extends TeamUpdate {
@@ -1481,21 +1629,45 @@ export interface UserUpdate extends UserCommand {
1481
1629
  export interface UserUpdateAfterSignup extends UserUpdate {
1482
1630
  }
1483
1631
 
1632
+ export interface WebsocketFilter {
1633
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
1634
+ }
1635
+
1636
+ export interface WebsocketMultipleUpdates extends WebsocketUpdate {
1637
+ ridesAndSeries?: RideOrMinimizedSeries[];
1638
+ ridesCount?: RideFilterCount;
1639
+ type: "multiple_updates";
1640
+ }
1641
+
1642
+ export interface WebsocketSingleUpdate extends WebsocketUpdate {
1643
+ id?: string;
1644
+ rideOrSeries?: RideOrMinimizedSeries;
1645
+ type: "single_update";
1646
+ }
1647
+
1648
+ export interface WebsocketUpdate {
1649
+ type: "multiple_updates" | "single_update";
1650
+ }
1651
+
1484
1652
  export interface ZonedTimeRange {
1485
1653
  end?: Date;
1486
1654
  start?: Date;
1487
1655
  }
1488
1656
 
1489
- export type AccountRole = "ridebooker" | "dispatcher" | "admin" | "owner";
1657
+ export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1490
1658
 
1491
1659
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1492
1660
 
1493
1661
  export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
1494
1662
 
1663
+ export type DocumentType = "businessLicense" | "publicLiabilityPolicy";
1664
+
1495
1665
  export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1496
1666
 
1497
1667
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
1498
1668
 
1669
+ export type EntityType = "ride" | "rideseries";
1670
+
1499
1671
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1500
1672
 
1501
1673
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
@@ -1508,9 +1680,11 @@ export type OrganisationType = "medical" | "fleet" | "operator";
1508
1680
 
1509
1681
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1510
1682
 
1511
- export type RideSeriesStatus = "booked" | "accepted" | "confirmed" | "cancelled";
1683
+ export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
1684
+
1685
+ export type SeriesPurpose = "consultation";
1512
1686
 
1513
- export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration";
1687
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1514
1688
 
1515
1689
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1516
1690
 
@@ -1520,8 +1694,12 @@ export type SyncStatus = "not_synced" | "synced" | "update_not_synced";
1520
1694
 
1521
1695
  export type TeamRole = "dispatcher" | "ridebooker";
1522
1696
 
1523
- export type TrackingUpdateType = "ride" | "rideseries";
1524
-
1525
1697
  export type UserRole = "superadmin";
1526
1698
 
1527
1699
  export type VehicleType = "taxi" | "ambulance";
1700
+
1701
+ export type WebsocketFilterUnion = MarketplaceOverviewFilter | HospitalOverviewFilter | FleetOverviewFilter | OperationsOverviewFilter | DetailsFilter;
1702
+
1703
+ export type WebsocketUpdateType = "single_update" | "multiple_updates";
1704
+
1705
+ 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.1371-test-server",
3
+ "version": "0.1.1371",
4
4
  "types": "common.d.ts"
5
5
  }