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

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.
package/common.d.ts CHANGED
@@ -26,6 +26,9 @@ export interface AbstractFindRidesInMarketplace {
26
26
  accountId?: string;
27
27
  descending?: boolean;
28
28
  filter?: RideFilter;
29
+ /**
30
+ * @deprecated
31
+ */
29
32
  maxSize?: number;
30
33
  term?: string;
31
34
  }
@@ -58,7 +61,7 @@ export interface Account {
58
61
  info?: AccountInfo;
59
62
  integrationSettings?: any[];
60
63
  operateAccounts?: string[];
61
- operator?: string;
64
+ operators?: string[];
62
65
  /**
63
66
  * Derived from subscriptions. Includes organisation types that have not been confirmed yet by a superadmin or are active in past or future.
64
67
  */
@@ -78,6 +81,7 @@ export interface AccountFilter {
78
81
 
79
82
  export interface AccountInfo {
80
83
  address?: AddressInfo;
84
+ companyInfo?: CompanyInfo;
81
85
  defaultLanguage?: string;
82
86
  notificationEmails?: string[];
83
87
  phoneNumber?: PhoneNumber;
@@ -104,6 +108,10 @@ export interface AccountPermissionCommand extends UserUpdate {
104
108
  accountId?: string;
105
109
  }
106
110
 
111
+ export interface AccountPermissionFilter {
112
+ roles?: AccountRole[];
113
+ }
114
+
107
115
  export interface AccountRef {
108
116
  accountId?: string;
109
117
  name?: string;
@@ -115,14 +123,15 @@ export interface AccountUpcaster {
115
123
  export interface AccountUpdate extends AccountCommand {
116
124
  }
117
125
 
118
- /**
119
- * Address info of a google-validated address, including geolocation and district code
120
- */
126
+ export interface AddOperations extends AccountUpdate {
127
+ operateAccount?: string;
128
+ }
129
+
121
130
  export interface AddressInfo {
122
131
  addition?: string;
123
132
  city?: string;
124
133
  /**
125
- * Derived from districtNutsCode
134
+ * The NUTS country code, derived from districtNutsCode
126
135
  */
127
136
  country?: string;
128
137
  districtNutsCode?: string;
@@ -131,12 +140,12 @@ export interface AddressInfo {
131
140
  number?: string;
132
141
  placeName?: string;
133
142
  /**
134
- * Derived from districtNutsCode
143
+ * The NUTS level 1 code, derived from districtNutsCode
135
144
  */
136
145
  state?: string;
137
146
  street?: string;
138
147
  /**
139
- * Derived from districtNutsCode
148
+ * The NUTS level 2 code, derived from districtNutsCode
140
149
  */
141
150
  subState?: string;
142
151
  zipCode?: string;
@@ -156,38 +165,31 @@ export interface AmbulanceFilter extends DrivePermissionFilter {
156
165
  }
157
166
 
158
167
  /**
159
- * Filled if (and only if) vehicleType == ambulance
168
+ * Mandatory if the vehicleType is ambulance, forbidden if taxi
160
169
  */
161
170
  export interface AmbulanceInfo {
162
171
  /**
163
- * Derived from infectionDescription != blank
172
+ * True if infectionDescription is given
164
173
  */
165
174
  hasInfection?: boolean;
166
175
  infectionDescription?: string;
167
176
  monitoringDescription?: string;
168
177
  oxygenLiterPerHour?: number;
169
178
  /**
170
- * Derived from monitoringDescription != blank
179
+ * True if monitoringDescription is given
171
180
  */
172
181
  requiresMonitoring?: boolean;
173
182
  /**
174
- * Derived from oxygenLiterPerHour != null
183
+ * True if oxygenLiterPerHour is given
175
184
  */
176
185
  requiresOxygen?: boolean;
177
186
  requiresSuctionAspirator?: boolean;
178
187
  }
179
188
 
180
- /**
181
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
182
-
183
- */
184
- export interface AnonymizedGenericRideInfo extends GenericRideInfo {
189
+ export interface AnonymizedRideInfo extends RideInfo {
185
190
  }
186
191
 
187
- /**
188
- * Information about the ride, from the creator of the ride
189
- */
190
- export interface AnonymizedRideInfo extends RideInfo {
192
+ export interface AnonymizedSeriesRideInfo extends SeriesRideInfo {
191
193
  }
192
194
 
193
195
  export interface Appointment {
@@ -199,6 +201,10 @@ export interface AssignDriver extends RideOperatorCommand {
199
201
  driver?: AccountOrTeamRef;
200
202
  }
201
203
 
204
+ export interface AssignRideSeriesDriver extends SeriesOperatorCommand {
205
+ driver?: AccountOrTeamRef;
206
+ }
207
+
202
208
  export interface Attachment {
203
209
  base64Data?: string;
204
210
  fileName?: string;
@@ -212,11 +218,16 @@ export interface AuthenticateWithToken extends UserUpdate {
212
218
  export interface AuthenticationResponse {
213
219
  authorizationHeader?: string;
214
220
  impersonator?: string;
221
+ refreshToken?: string;
222
+ refreshTokenDeadline?: string;
215
223
  result?: AuthenticationResult;
216
224
  sessionDeadline?: string;
217
225
  userProfile?: UserProfile;
218
226
  }
219
227
 
228
+ export interface AuthenticationResponseFactory {
229
+ }
230
+
220
231
  export interface AuthenticationService {
221
232
  }
222
233
 
@@ -225,15 +236,19 @@ export interface BookRide extends CreateRideCommand {
225
236
  }
226
237
 
227
238
  export interface BookRideSeries extends CreateSeriesCommand {
228
- info?: GenericRideInfo;
229
- rides?: SingleRide[];
239
+ rideSummaries?: RideSummary[];
230
240
  }
231
241
 
232
242
  export interface CancelRide extends RideBookerCommand {
233
243
  reason?: string;
234
244
  }
235
245
 
236
- export interface CancelRideSeries extends SeriesBookerModifyCommand {
246
+ export interface CancelRideSeries extends SeriesCommandWithSeparateEvent {
247
+ reason?: string;
248
+ }
249
+
250
+ export interface CancelRideSeriesEvent extends SeriesBookerCommand {
251
+ cancelRides?: string[];
237
252
  reason?: string;
238
253
  }
239
254
 
@@ -256,6 +271,28 @@ export interface CheckIfUserSignedUp {
256
271
  userId?: string;
257
272
  }
258
273
 
274
+ export interface CheckSession {
275
+ userId?: string;
276
+ }
277
+
278
+ /**
279
+ * 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.
280
+ */
281
+ export interface CleaningAndSlack {
282
+ cleaningAtGarage?: boolean;
283
+ cleaningDuration?: number;
284
+ dropoffDuration?: number;
285
+ pickupDuration?: number;
286
+ }
287
+
288
+ export interface CompanyInfo {
289
+ businessLicenseDocument?: Document;
290
+ creationDate?: string;
291
+ hasLiabilityInsurance?: boolean;
292
+ publicLiabilityPolicyDocument?: Document;
293
+ registrationNumber?: string;
294
+ }
295
+
259
296
  export interface ConfirmAccount extends AccountCommand {
260
297
  }
261
298
 
@@ -271,6 +308,7 @@ export interface ConfirmSubscription extends AccountUpdate {
271
308
  }
272
309
 
273
310
  export interface ConfirmUser {
311
+ activateOneTimePassword?: boolean;
274
312
  token?: string;
275
313
  userId?: string;
276
314
  }
@@ -297,16 +335,9 @@ export interface CreateRideCommand extends RideBookerCommand {
297
335
  booker?: AccountOrTeamRef;
298
336
  }
299
337
 
300
- export interface CreateRideFromSeries extends RideCommand {
301
- bookedTime?: string;
302
- booker?: AccountOrTeamRef;
303
- driver?: AccountOrTeamRef;
304
- info?: RideInfo;
305
- seriesInfo?: SeriesInfo;
306
- }
307
-
308
338
  export interface CreateSeriesCommand extends SeriesBookerCommand {
309
339
  booker?: AccountOrTeamRef;
340
+ info?: SeriesRideInfo;
310
341
  }
311
342
 
312
343
  export interface CreateSqueezeInPlan extends OptimizerMessage {
@@ -342,6 +373,11 @@ export interface DateRange {
342
373
  export interface DeleteUser extends UserEdit {
343
374
  }
344
375
 
376
+ export interface DetailsFilter extends WebsocketFilter {
377
+ id?: string;
378
+ screen: "ride_details";
379
+ }
380
+
345
381
  export interface DisconnectClient {
346
382
  clientId?: string;
347
383
  tokenId?: string;
@@ -365,6 +401,12 @@ export interface DistrictInfo {
365
401
  type?: string;
366
402
  }
367
403
 
404
+ export interface Document {
405
+ id?: string;
406
+ name?: string;
407
+ size?: number;
408
+ }
409
+
368
410
  export interface DownloadableFile {
369
411
  base64Data?: string;
370
412
  fileName?: string;
@@ -452,6 +494,14 @@ export interface FindAccounts {
452
494
  term?: string;
453
495
  }
454
496
 
497
+ export interface FindDuplicateRides {
498
+ accountId?: string;
499
+ appointmentTime?: string;
500
+ patientBirthDay?: string;
501
+ patientFirstName?: string;
502
+ patientLastName?: string;
503
+ }
504
+
455
505
  export interface FindMyRides extends AbstractFindMyRides {
456
506
  }
457
507
 
@@ -463,7 +513,6 @@ export interface FindMySeries extends AbstractFindMyRides {
463
513
 
464
514
  export interface FindMyTokens {
465
515
  accountId?: string;
466
- teamId?: string;
467
516
  term?: string;
468
517
  }
469
518
 
@@ -486,7 +535,7 @@ export interface FindRidesAndSeriesInMarketplace extends AbstractFindRidesInMark
486
535
  }
487
536
 
488
537
  export interface FindRidesAndSeriesResult {
489
- ridesAndSeries?: RideOrSeriesUnion[];
538
+ ridesAndSeries?: RideOrMinimizedSeries[];
490
539
  ridesCount?: RideFilterCount;
491
540
  }
492
541
 
@@ -515,19 +564,33 @@ export interface FindTokens {
515
564
  }
516
565
 
517
566
  export interface FindUsers {
567
+ accountFilter?: AccountFilter;
568
+ accountPermissionFilter?: AccountPermissionFilter;
518
569
  term?: string;
519
570
  }
520
571
 
572
+ export interface FirebaseMessage {
573
+ data?: { [index: string]: string };
574
+ notification?: Notification;
575
+ topic?: string;
576
+ }
577
+
578
+ export interface FleetOverviewFilter extends WebsocketFilter {
579
+ queryFilter?: FindRidesAndSeriesForDriver;
580
+ screen: "fleet_overview";
581
+ }
582
+
521
583
  export interface GenerateToken {
522
584
  accountPermission?: AccountPermission;
523
585
  info?: TokenInfo;
524
586
  tokenId?: string;
525
587
  }
526
588
 
527
- /**
528
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
589
+ export interface GenerateTokenResult {
590
+ entity?: Token;
591
+ jwt?: string;
592
+ }
529
593
 
530
- */
531
594
  export interface GenericRideInfo {
532
595
  ambulanceInfo?: AmbulanceInfo;
533
596
  attendantsPresent?: number;
@@ -543,7 +606,6 @@ export interface GenericRideInfo {
543
606
  patient?: Person;
544
607
  plannedDuration?: RideDuration;
545
608
  preferredDriver?: string;
546
- purpose?: RidePurpose;
547
609
  to?: AddressInfo;
548
610
  vehicleType?: VehicleType;
549
611
  weightInKg?: number;
@@ -640,10 +702,6 @@ export interface GetOneSeries {
640
702
  rideSeriesId?: string;
641
703
  }
642
704
 
643
- /**
644
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
645
-
646
- */
647
705
  export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
648
706
  }
649
707
 
@@ -654,14 +712,9 @@ export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
654
712
  export interface GetPotentialDrivers extends GetPotentialDriversAbstract {
655
713
  }
656
714
 
657
- /**
658
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
659
-
660
- */
661
715
  export interface GetPotentialDriversAbstract {
662
716
  fromDistrict?: string;
663
717
  mobility?: Mobility;
664
- toDistrict?: string;
665
718
  vehicleType?: VehicleType;
666
719
  weightInKg?: number;
667
720
  }
@@ -701,6 +754,10 @@ export interface GetRidesInMarketplace {
701
754
  timeRange?: InstantRange;
702
755
  }
703
756
 
757
+ export interface GetRidesInSeries {
758
+ rideSeriesId?: string;
759
+ }
760
+
704
761
  export interface GetSeriesForDriver {
705
762
  accountId?: string;
706
763
  maxSize?: number;
@@ -712,8 +769,7 @@ export interface GetSeriesInMarketplace {
712
769
  maxSize?: number;
713
770
  }
714
771
 
715
- export interface GetSplitRideSeries {
716
- filter?: RideFilter;
772
+ export interface GetSeriesLog {
717
773
  rideSeriesId?: string;
718
774
  }
719
775
 
@@ -743,6 +799,15 @@ export interface GiveTeamPermission extends AccountPermissionCommand {
743
799
  teamPermission?: TeamPermission;
744
800
  }
745
801
 
802
+ export interface HalfHourBeforeStart {
803
+ rideId?: string;
804
+ }
805
+
806
+ export interface HospitalOverviewFilter extends WebsocketFilter {
807
+ queryFilter?: FindMyRidesAndSeries;
808
+ screen: "hospital_overview";
809
+ }
810
+
746
811
  export interface IGetPotentialDrivers {
747
812
  fromDistrict?: string;
748
813
  mobility?: Mobility;
@@ -791,6 +856,11 @@ export interface IsoState {
791
856
  nutsCode?: string;
792
857
  }
793
858
 
859
+ export interface MarketplaceOverviewFilter extends WebsocketFilter {
860
+ queryFilter?: FindRidesAndSeriesInMarketplace;
861
+ screen: "marketplace";
862
+ }
863
+
794
864
  export interface Metric {
795
865
  clientId?: string;
796
866
  clientSegment?: number[];
@@ -801,6 +871,18 @@ export interface Metric {
801
871
  updates?: string[];
802
872
  }
803
873
 
874
+ /**
875
+ * A series of rides.
876
+ */
877
+ export interface MinimizedRideSeries extends RideSeries, RideOrMinimizedSeries {
878
+ info?: SeriesRideInfo;
879
+ }
880
+
881
+ export interface Notification {
882
+ body?: string;
883
+ title?: string;
884
+ }
885
+
804
886
  export interface NutsDistrict {
805
887
  code?: string;
806
888
  name?: string;
@@ -823,6 +905,25 @@ export interface OffsetTimeRange {
823
905
  start?: Date;
824
906
  }
825
907
 
908
+ export interface OneHourAfterEnd {
909
+ rideId?: string;
910
+ }
911
+
912
+ export interface OneTimePasswordExpires {
913
+ userId?: string;
914
+ }
915
+
916
+ export interface OneTimePasswordState {
917
+ hashedPassword?: string;
918
+ loginAttempts?: number;
919
+ userId?: string;
920
+ }
921
+
922
+ export interface OperationsOverviewFilter extends WebsocketFilter {
923
+ queryFilter?: FindRidesAndSeries;
924
+ screen: "operations_overview";
925
+ }
926
+
826
927
  export interface OptimizerMessage {
827
928
  }
828
929
 
@@ -839,7 +940,7 @@ export interface Person {
839
940
  }
840
941
 
841
942
  /**
842
- * Filled if (and only if) patient exceeds 130 kg
943
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
843
944
  */
844
945
  export interface PersonDimensions {
845
946
  heightInCm?: number;
@@ -868,6 +969,19 @@ export interface ReadUpdatesResult {
868
969
  updates?: any[];
869
970
  }
870
971
 
972
+ export interface RefreshTokenData {
973
+ expiresAt?: string;
974
+ hashedToken?: string;
975
+ userId?: string;
976
+ }
977
+
978
+ export interface RefreshTokenService {
979
+ }
980
+
981
+ export interface RefreshUserToken {
982
+ refreshToken?: string;
983
+ }
984
+
871
985
  export interface Region {
872
986
  nutsCode?: string;
873
987
  }
@@ -888,9 +1002,22 @@ export interface RegisterEinsatz {
888
1002
  rideId?: string;
889
1003
  }
890
1004
 
1005
+ export interface RegisterOneTimePassword {
1006
+ oneTimePassword?: string;
1007
+ userId?: string;
1008
+ }
1009
+
891
1010
  export interface RemoveAccount extends AccountUpdate {
892
1011
  }
893
1012
 
1013
+ export interface RemoveOperations extends AccountUpdate {
1014
+ operateAccount?: string;
1015
+ }
1016
+
1017
+ export interface RemoveOperator extends AccountUpdate {
1018
+ operator?: string;
1019
+ }
1020
+
894
1021
  export interface RemoveSettings extends AccountUpdate {
895
1022
  type?: IntegrationType;
896
1023
  }
@@ -963,6 +1090,9 @@ export interface RevokeDrivePermission extends AccountUpdate {
963
1090
  drivePermissionId?: string;
964
1091
  }
965
1092
 
1093
+ export interface RevokeSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1094
+ }
1095
+
966
1096
  export interface RevokeSubscription extends AccountUpdate {
967
1097
  subscriptionId?: string;
968
1098
  }
@@ -970,76 +1100,69 @@ export interface RevokeSubscription extends AccountUpdate {
970
1100
  export interface RevokeToken extends TokenUpdate {
971
1101
  }
972
1102
 
973
- export interface Ride extends RideOrSeries {
1103
+ export interface RevokeUserRefreshTokens {
1104
+ userId?: string;
1105
+ }
1106
+
1107
+ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
974
1108
  /**
975
- * Derived from driver != null
1109
+ * 'accepted' is true if a driver has accepted the ride.
976
1110
  */
977
1111
  accepted?: boolean;
1112
+ acceptedTime?: string;
978
1113
  actualEndTime?: string;
979
1114
  actualStartTime?: string;
980
1115
  /**
981
- * Derived from driveStatus != null
1116
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
982
1117
  */
983
1118
  arrived?: boolean;
984
1119
  /**
985
- * Derived from bookedTime != null
1120
+ * 'booked' is false if the ride has only been saved.
986
1121
  */
987
1122
  booked?: boolean;
988
- bookedTime?: string;
989
1123
  booker?: AccountOrTeamRef;
990
1124
  bookerReview?: Review;
991
- bookingStatus?: BookingStatus;
992
1125
  cancelReason?: string;
993
1126
  cancelled?: boolean;
994
1127
  /**
995
- * Derived from driveStatus == completed
1128
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
996
1129
  */
997
1130
  completed?: boolean;
998
1131
  /**
999
- * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1132
+ * 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.
1000
1133
  */
1001
1134
  desiredEndTime?: string;
1002
1135
  /**
1003
- * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1136
+ * 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.
1004
1137
  */
1005
1138
  desiredStartTime?: string;
1006
1139
  driveStatus?: DriveStatus;
1007
- driver?: AccountOrTeamRef;
1008
1140
  driverReview?: Review;
1009
1141
  driverSyncStatus?: SyncStatus;
1010
1142
  endTimeDelay?: number;
1011
- entityType: "ride";
1012
1143
  /**
1013
- * Expected Time of Arrival at the Destination/Drop-off location.
1144
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'to' or 'drop-off' location.
1014
1145
  */
1015
1146
  expectedEndTime?: string;
1016
1147
  /**
1017
- * Expected Time of Arrival at the Origin/Pick-up location.
1148
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1018
1149
  */
1019
1150
  expectedStartTime?: string;
1020
1151
  info?: RideInfo;
1021
1152
  /**
1022
- * Derived from plannedStartTime != null
1153
+ * 'planned' is true if the driver has reported a planned time for the ride.
1023
1154
  */
1024
1155
  planned?: boolean;
1025
1156
  /**
1026
- * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
1157
+ * The driver determines the plannedEndTime. It means the planned time of arrival at the 'to' or 'drop-off' location.
1027
1158
  */
1028
1159
  plannedEndTime?: string;
1029
1160
  plannedStartTime?: string;
1030
1161
  rideId?: string;
1031
- /**
1032
- * The time until which rides can be found. It's the planned time or else the desired time.
1033
- */
1034
- searchEndTime?: string;
1035
- /**
1036
- * The time from which rides can be found. It's the planned time or else the desired time.
1037
- */
1038
- searchStartTime?: string;
1039
1162
  seriesInfo?: SeriesInfo;
1040
1163
  startTimeDelay?: number;
1041
1164
  /**
1042
- * Derived from driveStatus != null
1165
+ * 'started' is true if the driver has reported a driveStatus.
1043
1166
  */
1044
1167
  started?: boolean;
1045
1168
  }
@@ -1057,13 +1180,19 @@ export interface RideDriverCommand extends RideCommand {
1057
1180
  export interface RideDriverModifyCommand extends RideDriverCommand {
1058
1181
  }
1059
1182
 
1060
- /**
1061
- * All durations in seconds
1062
- */
1063
1183
  export interface RideDuration {
1064
1184
  driving?: number;
1185
+ /**
1186
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1187
+ */
1065
1188
  droppingOff?: number;
1189
+ /**
1190
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1191
+ */
1066
1192
  pickingUp?: number;
1193
+ /**
1194
+ * Seconds of driving time plus the pick-up and drop-off slack times
1195
+ */
1067
1196
  total?: number;
1068
1197
  }
1069
1198
 
@@ -1084,6 +1213,7 @@ export interface RideFilter {
1084
1213
  riderAccountNames?: string[];
1085
1214
  riderTeamNames?: string[];
1086
1215
  timeRange?: InstantRange;
1216
+ unfoldRideSeries?: boolean;
1087
1217
  vehicleType?: VehicleType;
1088
1218
  }
1089
1219
 
@@ -1109,11 +1239,9 @@ export interface RideIdResult {
1109
1239
  rideId?: string;
1110
1240
  }
1111
1241
 
1112
- /**
1113
- * Information about the ride, from the creator of the ride
1114
- */
1115
1242
  export interface RideInfo extends GenericRideInfo {
1116
1243
  appointment?: Appointment;
1244
+ purpose?: RidePurpose;
1117
1245
  }
1118
1246
 
1119
1247
  export interface RideLog {
@@ -1132,42 +1260,60 @@ export interface RideLog {
1132
1260
  token?: boolean;
1133
1261
  }
1134
1262
 
1135
- export interface RideOfferInfo {
1136
- appointment?: Appointment;
1263
+ export interface RideOperatorCommand extends RideCommand {
1137
1264
  }
1138
1265
 
1139
- export interface RideOperatorCommand extends RideCommand {
1266
+ export interface RideOrMinimizedSeries {
1267
+ bookingStatus?: BookingStatus;
1268
+ entityType?: EntityType;
1269
+ info?: GenericRideInfo;
1270
+ searchEndTime?: string;
1271
+ searchStartTime?: string;
1140
1272
  }
1141
1273
 
1142
1274
  export interface RideOrSeries {
1143
- entityType: "ride" | "rideseries";
1275
+ bookedTime?: string;
1276
+ bookingStatus?: BookingStatus;
1277
+ cleaningAndSlack?: CleaningAndSlack;
1278
+ driver?: AccountOrTeamRef;
1279
+ entityType?: EntityType;
1280
+ info?: GenericRideInfo;
1281
+ marketplaceTime?: string;
1282
+ totalDuration?: number;
1144
1283
  }
1145
1284
 
1146
1285
  /**
1147
- * RideSeries is a grouped ride series. A singular object, that is later split into individual rides, once a driver has accepted the series as a group.
1286
+ * A series of rides.
1148
1287
  */
1149
1288
  export interface RideSeries extends RideOrSeries {
1150
1289
  /**
1151
- * Derived from driver != null
1290
+ * 'accepted' is true if a driver has accepted the series.
1152
1291
  */
1153
1292
  accepted?: boolean;
1293
+ acceptedTime?: string;
1294
+ /**
1295
+ * The number of rides in the series that are not cancelled.
1296
+ */
1297
+ activeRideCount?: number;
1154
1298
  /**
1155
- * Derived from bookedTime != null
1299
+ * 'booked' is false if the series has only been saved.
1156
1300
  */
1157
1301
  booked?: boolean;
1158
- bookedTime?: string;
1159
1302
  booker?: AccountOrTeamRef;
1160
- bookingStatus?: BookingStatus;
1161
1303
  cancelReason?: string;
1162
1304
  cancelled?: boolean;
1163
- driver?: AccountOrTeamRef;
1164
- entityType: "rideseries";
1165
- info?: GenericRideInfo;
1305
+ info?: SeriesRideInfo;
1166
1306
  rideSeriesId?: string;
1167
- rides?: SingleRide[];
1307
+ rides?: Ride[];
1308
+ ridesSummaries?: RideSummary[];
1309
+ /**
1310
+ * searchEndTime is the time from which series can be found in our system. It's the searchEndTime of the last ride in the series.
1311
+ */
1168
1312
  searchEndTime?: string;
1313
+ /**
1314
+ * searchStartTime is the time from which series can be found in our system. It's the searchStartTime of the first ride in the series.
1315
+ */
1169
1316
  searchStartTime?: string;
1170
- split?: boolean;
1171
1317
  }
1172
1318
 
1173
1319
  export interface RideSeriesIdResult {
@@ -1184,11 +1330,23 @@ export interface RideSeriesUpdate {
1184
1330
  type: "rideseries";
1185
1331
  }
1186
1332
 
1333
+ export interface RideSeriesUtils {
1334
+ }
1335
+
1187
1336
  export interface RideStatisticsQuery {
1188
1337
  dateRange?: DateRange;
1189
1338
  zoneId?: string;
1190
1339
  }
1191
1340
 
1341
+ /**
1342
+ * Individual ride timing within a series. Once a ride series is accepted, you cannot add rides, only remove
1343
+ */
1344
+ export interface RideSummary {
1345
+ appointmentTime?: string;
1346
+ returnTrip?: boolean;
1347
+ rideId?: string;
1348
+ }
1349
+
1192
1350
  export interface RideSystemCommand extends RideCommand {
1193
1351
  }
1194
1352
 
@@ -1216,8 +1374,11 @@ export interface SaveRide extends CreateRideCommand {
1216
1374
  }
1217
1375
 
1218
1376
  export interface SaveRideSeries extends CreateSeriesCommand {
1219
- info?: GenericRideInfo;
1220
- rides?: SingleRide[];
1377
+ rideSummaries?: RideSummary[];
1378
+ }
1379
+
1380
+ export interface SecondaryTokenPermissionCommand extends TokenUpdate {
1381
+ accountId?: string;
1221
1382
  }
1222
1383
 
1223
1384
  export interface SendConfirmationEmail {
@@ -1239,35 +1400,57 @@ export interface SendInvitationEmail {
1239
1400
  userId?: string;
1240
1401
  }
1241
1402
 
1403
+ export interface SendOneTimePasswordEmail {
1404
+ oneTimePassword?: string;
1405
+ userId?: string;
1406
+ }
1407
+
1408
+ export interface SendSensitiveEmail {
1409
+ message?: EmailMessage;
1410
+ }
1411
+
1242
1412
  export interface SendSlack {
1243
1413
  channel?: SlackChannel;
1244
1414
  message?: string;
1245
1415
  }
1246
1416
 
1247
- export interface SeriesBookerCommand extends SeriesCommand {
1417
+ export interface SendToFirebase {
1418
+ message?: FirebaseMessage;
1248
1419
  }
1249
1420
 
1250
- export interface SeriesBookerModifyCommand extends SeriesBookerCommand {
1421
+ export interface SeriesBookerCommand extends SeriesCommand {
1251
1422
  }
1252
1423
 
1253
1424
  export interface SeriesCommand {
1254
1425
  rideSeriesId?: string;
1255
1426
  }
1256
1427
 
1428
+ export interface SeriesCommandWithSeparateEvent {
1429
+ rideSeriesId?: string;
1430
+ }
1431
+
1257
1432
  export interface SeriesDriverCommand extends SeriesCommand {
1258
1433
  }
1259
1434
 
1260
1435
  /**
1261
- * Information about a ride that is part of series.
1436
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
1262
1437
  */
1263
1438
  export interface SeriesInfo {
1439
+ desyncedFromSeries?: boolean;
1264
1440
  positionInSeries?: number;
1265
1441
  returnTrip?: boolean;
1266
1442
  rideSeriesId?: string;
1267
1443
  totalRidesInSeries?: number;
1268
1444
  }
1269
1445
 
1270
- export interface SetOperateAccounts extends AccountUpdate {
1446
+ export interface SeriesOperatorCommand extends SeriesCommand {
1447
+ }
1448
+
1449
+ export interface SeriesRideInfo extends GenericRideInfo {
1450
+ purpose?: SeriesPurpose;
1451
+ }
1452
+
1453
+ export interface SetOperations extends AccountUpdate {
1271
1454
  operateAccounts?: string[];
1272
1455
  }
1273
1456
 
@@ -1275,6 +1458,10 @@ export interface SetOperator extends AccountUpdate {
1275
1458
  operator?: string;
1276
1459
  }
1277
1460
 
1461
+ export interface SetSecondaryTokenPermission extends SecondaryTokenPermissionCommand {
1462
+ accountPermission?: AccountPermission;
1463
+ }
1464
+
1278
1465
  export interface SetSettings extends AccountUpdate {
1279
1466
  settings?: any;
1280
1467
  }
@@ -1290,11 +1477,13 @@ export interface SetUserRole extends UserUpdate {
1290
1477
  }
1291
1478
 
1292
1479
  export interface SignInUser {
1480
+ activateOneTimePassword?: boolean;
1293
1481
  password?: string;
1294
1482
  userId?: string;
1295
1483
  }
1296
1484
 
1297
1485
  export interface SignUpUser {
1486
+ activateOneTimePassword?: boolean;
1298
1487
  email?: string;
1299
1488
  info?: UserInfo;
1300
1489
  inviteToken?: string;
@@ -1302,16 +1491,8 @@ export interface SignUpUser {
1302
1491
  userId?: string;
1303
1492
  }
1304
1493
 
1305
- /**
1306
- * Individual ride timing within a series. Once a ride series is split, you cannot add rides, only remove
1307
- */
1308
- export interface SingleRide {
1309
- desiredStartTime?: string;
1310
- returnTrip?: boolean;
1311
- rideId?: string;
1312
- }
1313
-
1314
- export interface SplitRideSeries extends SeriesDriverCommand {
1494
+ export interface SignedInUser {
1495
+ userId?: string;
1315
1496
  }
1316
1497
 
1317
1498
  export interface StopImpersonatingUser {
@@ -1363,10 +1544,11 @@ export interface TimedPermission {
1363
1544
  }
1364
1545
 
1365
1546
  export interface Token {
1366
- accountPermission?: AccountPermission;
1547
+ accountPermissions?: AccountPermission[];
1367
1548
  createdBy?: string;
1368
1549
  info?: TokenInfo;
1369
1550
  lastUpdatedBy?: string;
1551
+ owner?: string;
1370
1552
  revoked?: boolean;
1371
1553
  tokenId?: string;
1372
1554
  }
@@ -1409,10 +1591,19 @@ export interface UpdateRidePlan extends RideDriverModifyCommand {
1409
1591
  plannedStartTime?: string;
1410
1592
  }
1411
1593
 
1412
- export interface UpdateRideSeries extends SeriesBookerModifyCommand {
1594
+ export interface UpdateRideSeries extends SeriesCommandWithSeparateEvent {
1413
1595
  booker?: AccountOrTeamRef;
1414
- info?: GenericRideInfo;
1415
- rides?: SingleRide[];
1596
+ info?: SeriesRideInfo;
1597
+ rideSummaries?: RideSummary[];
1598
+ }
1599
+
1600
+ export interface UpdateRideSeriesEvent extends SeriesBookerCommand {
1601
+ addRides?: string[];
1602
+ booker?: AccountOrTeamRef;
1603
+ cancelRides?: string[];
1604
+ info?: SeriesRideInfo;
1605
+ rideSummaries?: RideSummary[];
1606
+ updateRides?: string[];
1416
1607
  }
1417
1608
 
1418
1609
  export interface UpdateTeam extends TeamUpdate {
@@ -1466,6 +1657,26 @@ export interface UserUpdate extends UserCommand {
1466
1657
  export interface UserUpdateAfterSignup extends UserUpdate {
1467
1658
  }
1468
1659
 
1660
+ export interface WebsocketFilter {
1661
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
1662
+ }
1663
+
1664
+ export interface WebsocketMultipleUpdates extends WebsocketUpdate {
1665
+ ridesAndSeries?: RideOrMinimizedSeries[];
1666
+ ridesCount?: RideFilterCount;
1667
+ type: "multiple_updates";
1668
+ }
1669
+
1670
+ export interface WebsocketSingleUpdate extends WebsocketUpdate {
1671
+ id?: string;
1672
+ rideOrSeries?: RideOrMinimizedSeries;
1673
+ type: "single_update";
1674
+ }
1675
+
1676
+ export interface WebsocketUpdate {
1677
+ type: "multiple_updates" | "single_update";
1678
+ }
1679
+
1469
1680
  export interface ZonedTimeRange {
1470
1681
  end?: Date;
1471
1682
  start?: Date;
@@ -1473,10 +1684,12 @@ export interface ZonedTimeRange {
1473
1684
 
1474
1685
  export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1475
1686
 
1476
- export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED";
1687
+ export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED" | "ONE_TIME_PASSWORD_NEEDED";
1477
1688
 
1478
1689
  export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
1479
1690
 
1691
+ export type DocumentType = "businessLicense" | "publicLiabilityPolicy";
1692
+
1480
1693
  export type DrivePermissionFilterUnion = AmbulanceFilter | TaxiFilter;
1481
1694
 
1482
1695
  export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_to_destination" | "arrived_at_destination" | "completed";
@@ -1493,11 +1706,13 @@ export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chai
1493
1706
 
1494
1707
  export type OrganisationType = "medical" | "fleet" | "operator";
1495
1708
 
1496
- export type RideOrSeriesUnion = Ride | RideSeries;
1497
-
1498
1709
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
1499
1710
 
1500
- export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "ride_series";
1711
+ export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
1712
+
1713
+ export type SeriesPurpose = "consultation";
1714
+
1715
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
1501
1716
 
1502
1717
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
1503
1718
 
@@ -1510,3 +1725,9 @@ export type TeamRole = "dispatcher" | "ridebooker";
1510
1725
  export type UserRole = "superadmin";
1511
1726
 
1512
1727
  export type VehicleType = "taxi" | "ambulance";
1728
+
1729
+ export type WebsocketFilterUnion = MarketplaceOverviewFilter | HospitalOverviewFilter | FleetOverviewFilter | OperationsOverviewFilter | DetailsFilter;
1730
+
1731
+ export type WebsocketUpdateType = "single_update" | "multiple_updates";
1732
+
1733
+ export type WebsocketUpdateUnion = WebsocketSingleUpdate | WebsocketMultipleUpdates;