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

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