@moxi.gmbh/moxi-typescriptmodels 0.23.13 → 0.24.0

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.
@@ -960,26 +960,46 @@ export namespace com.moxi.api.longpoll.common {
960
960
 
961
961
  }
962
962
 
963
- export namespace com.moxi.api.optimization {
963
+ export namespace com.moxi.api.optimizer {
964
964
 
965
- export interface CreateOptimizationPlan extends com.moxi.api.optimization.OptimizerMessage {
966
- accountOrTeam?: com.moxi.api.permissions.common.AccountOrTeamRef;
967
- timeRange?: com.moxi.api.common.InstantRange;
965
+ export interface CancelOptimization {
966
+ problemId?: string;
968
967
  }
969
968
 
970
969
  }
971
970
 
972
- export namespace com.moxi.api.optimization {
971
+ export namespace com.moxi.api.optimizer {
972
+
973
+ export interface GetOptimizationStatus {
974
+ problemId?: string;
975
+ }
973
976
 
974
- export interface CreateSqueezeInPlan extends com.moxi.api.optimization.OptimizerMessage {
975
- accountOrTeam?: com.moxi.api.permissions.common.AccountOrTeamRef;
977
+ }
978
+
979
+ export namespace com.moxi.api.optimizer {
980
+
981
+ export interface PollOptimizerSchedule {
982
+ failures?: number;
983
+ problemId?: string;
984
+ target?: string;
976
985
  }
977
986
 
978
987
  }
979
988
 
980
- export namespace com.moxi.api.optimization {
989
+ export namespace com.moxi.api.optimizer {
981
990
 
982
- export interface OptimizerMessage {
991
+ export interface StartOptimizationCommand {
992
+ optimizationRequest?: health.moxi.optimizer.common.api.OptimizationRequest;
993
+ }
994
+
995
+ }
996
+
997
+ export namespace com.moxi.api.optimizer {
998
+
999
+ export interface TriggerCeliosOptimization {
1000
+ eplanRequestJson?: any;
1001
+ target?: string;
1002
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
983
1003
  }
984
1004
 
985
1005
  }
@@ -1627,6 +1647,15 @@ export namespace com.moxi.api.ride {
1627
1647
 
1628
1648
  }
1629
1649
 
1650
+ export namespace com.moxi.api.ride {
1651
+
1652
+ export interface GetRidesInsight {
1653
+ accountId?: string;
1654
+ timeRange?: com.moxi.api.common.InstantRange;
1655
+ }
1656
+
1657
+ }
1658
+
1630
1659
  export namespace com.moxi.api.ride {
1631
1660
 
1632
1661
  export interface PlanRide extends com.moxi.api.ride.RideDriverModifyCommand {
@@ -1870,8 +1899,16 @@ export namespace com.moxi.api.ride.common {
1870
1899
  */
1871
1900
  accepted?: boolean;
1872
1901
  acceptedTime?: string;
1902
+ /**
1903
+ * If actual start time deviates more than 15 minutes from planned start time, actualAccuracy is affected.
1904
+ */
1905
+ actualAccuracy?: com.moxi.api.ride.common.ActualAccuracy;
1873
1906
  actualEndTime?: string;
1874
1907
  actualStartTime?: string;
1908
+ /**
1909
+ * Divides people in age groups, used for Moxi Insights
1910
+ */
1911
+ ageGroup?: com.moxi.api.ride.common.AgeGroup;
1875
1912
  /**
1876
1913
  * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
1877
1914
  */
@@ -1888,6 +1925,14 @@ export namespace com.moxi.api.ride.common {
1888
1925
  * 'completed' is true if the driver has reported driveStatus is 'completed'.
1889
1926
  */
1890
1927
  completed?: boolean;
1928
+ /**
1929
+ * Day of the month according to CET timezone.
1930
+ */
1931
+ dayOfMonth?: number;
1932
+ /**
1933
+ * Day of the week according to CET timezone.
1934
+ */
1935
+ dayOfWeek?: com.moxi.api.common.Weekday;
1891
1936
  /**
1892
1937
  * 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.
1893
1938
  */
@@ -1908,7 +1953,15 @@ export namespace com.moxi.api.ride.common {
1908
1953
  * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1909
1954
  */
1910
1955
  expectedStartTime?: string;
1956
+ /**
1957
+ * Hour of the day according to CET timezone.
1958
+ */
1959
+ hourOfDay?: number;
1911
1960
  info?: com.moxi.api.ride.common.RideInfoUnion;
1961
+ /**
1962
+ * If planned start time deviates more than 15 minutes from desired start time, planAccuracy is affected.
1963
+ */
1964
+ planAccuracy?: com.moxi.api.ride.common.PlanAccuracy;
1912
1965
  /**
1913
1966
  * 'planned' is true if the driver has reported a planned time for the ride.
1914
1967
  */
@@ -1954,8 +2007,7 @@ export namespace com.moxi.api.ride.common {
1954
2007
  export interface RideFilter {
1955
2008
  bookingStatuses?: com.moxi.api.ride.common.BookingStatus[];
1956
2009
  driveStatuses?: com.moxi.api.ride.common.DriveStatus[];
1957
- driverAccountNames?: string[];
1958
- driverTeamNames?: string[];
2010
+ driverAccountIds?: string[];
1959
2011
  entityType?: com.moxi.api.common.EntityType;
1960
2012
  hasInfection?: boolean;
1961
2013
  heavyWeight?: boolean;
@@ -1965,8 +2017,7 @@ export namespace com.moxi.api.ride.common {
1965
2017
  requiresMonitoring?: boolean;
1966
2018
  requiresOxygen?: boolean;
1967
2019
  requiresSuctionAspirator?: boolean;
1968
- riderAccountNames?: string[];
1969
- riderTeamNames?: string[];
2020
+ riderAccountIds?: string[];
1970
2021
  timeRange?: com.moxi.api.common.InstantRange;
1971
2022
  unfoldRideSeries?: boolean;
1972
2023
  vehicleType?: com.moxi.api.ride.common.VehicleType;
@@ -1977,21 +2028,38 @@ export namespace com.moxi.api.ride.common {
1977
2028
  export namespace com.moxi.api.ride.common {
1978
2029
 
1979
2030
  export interface RideFilterCount {
2031
+ actualAccuracy?: { [P in com.moxi.api.ride.common.ActualAccuracy]?: number };
2032
+ ageGroups?: { [P in com.moxi.api.ride.common.AgeGroup]?: number };
2033
+ bookerReviewStars?: { [index: string]: number };
1980
2034
  bookingStatuses?: { [P in com.moxi.api.ride.common.BookingStatus]?: number };
2035
+ breathingDeliveries?: { [P in com.moxi.api.ride.intensivecare.BreathingDeliveryType]?: number };
2036
+ breathingSpontaneous?: number;
2037
+ circulationTypes?: { [P in com.moxi.api.ride.intensivecare.CirculationType]?: number };
2038
+ dayOfMonth?: { [index: string]: number };
2039
+ dayOfWeek?: { [P in com.moxi.api.common.Weekday]?: number };
1981
2040
  driveStatuses?: { [P in com.moxi.api.ride.common.DriveStatus]?: number };
1982
- driverAccountNames?: { [index: string]: number };
1983
- driverTeamNames?: { [index: string]: number };
2041
+ driverAccountIds?: { [index: string]: number };
2042
+ driverReviewStars?: { [index: string]: number };
2043
+ equipmentTypes?: { [P in com.moxi.api.ride.intensivecare.Equipment.EquipmentFacet]?: number };
2044
+ fromSubState?: { [index: string]: number };
2045
+ fullyConscious?: number;
1984
2046
  hasInfection?: number;
1985
2047
  heavyWeight?: number;
2048
+ hourOfDay?: { [index: string]: number };
2049
+ infectionTypes?: { [P in com.moxi.api.ride.intensivecare.Infection.InfectionFacet]?: number };
2050
+ insurances?: { [P in com.moxi.api.refdata.common.InsuranceType]?: number };
1986
2051
  mobilities?: { [P in com.moxi.api.ride.common.Mobility]?: number };
2052
+ monitoringTypes?: { [P in com.moxi.api.ride.intensivecare.Monitoring.MonitoringFacet]?: number };
2053
+ planAccuracy?: { [P in com.moxi.api.ride.common.PlanAccuracy]?: number };
1987
2054
  purposes?: { [P in com.moxi.api.ride.common.RidePurpose]?: number };
1988
2055
  requiresMonitoring?: number;
1989
2056
  requiresOxygen?: number;
1990
2057
  requiresSuctionAspirator?: number;
1991
- riderAccountNames?: { [index: string]: number };
1992
- riderTeamNames?: { [index: string]: number };
2058
+ riderAccountIds?: { [index: string]: number };
2059
+ toSubState?: { [index: string]: number };
1993
2060
  total?: number;
1994
2061
  vehicleTypes?: { [P in com.moxi.api.ride.common.VehicleType]?: number };
2062
+ ventilationTypes?: { [P in com.moxi.api.ride.intensivecare.VentilationType]?: number };
1995
2063
  }
1996
2064
 
1997
2065
  }
@@ -2084,6 +2152,7 @@ export namespace com.moxi.api.ride.intensivecare {
2084
2152
  export namespace com.moxi.api.ride.intensivecare {
2085
2153
 
2086
2154
  export interface Consciousness {
2155
+ fullyConscious?: boolean;
2087
2156
  gcs?: number;
2088
2157
  type?: com.moxi.api.ride.intensivecare.ConsciousnessType;
2089
2158
  }
@@ -3175,6 +3244,212 @@ export namespace com.moxi.api.web.common {
3175
3244
 
3176
3245
  }
3177
3246
 
3247
+ export namespace health.moxi.optimizer.common.api {
3248
+
3249
+ /**
3250
+ * Request to optimize fleet schedule
3251
+ */
3252
+ export interface OptimizationRequest {
3253
+ operationalRules?: health.moxi.optimizer.common.domain.OperationalRules;
3254
+ optimizationMode?: health.moxi.optimizer.common.planning.OptimizationMode;
3255
+ parameters?: health.moxi.optimizer.common.planning.OptimizationParameters;
3256
+ problemId?: string;
3257
+ schedule?: health.moxi.optimizer.common.domain.Schedule;
3258
+ useManualWeights?: boolean;
3259
+ weights?: health.moxi.optimizer.common.planning.ConstraintWeights;
3260
+ }
3261
+
3262
+ }
3263
+
3264
+ export namespace health.moxi.optimizer.common.domain {
3265
+
3266
+ /**
3267
+ * Base activity type containing common properties
3268
+ */
3269
+ export interface Activity {
3270
+ desiredStartTime?: string;
3271
+ distanceInMeters?: number;
3272
+ duration?: number;
3273
+ endLocation?: health.moxi.optimizer.common.domain.GeoLocation;
3274
+ id?: string;
3275
+ plannedStartTime?: string;
3276
+ routePinned?: boolean;
3277
+ startLocation?: health.moxi.optimizer.common.domain.GeoLocation;
3278
+ startTimePinned?: boolean;
3279
+ type: "ride" | "break" | "maintenance" | "connectingRide";
3280
+ vehicleType?: health.moxi.optimizer.common.domain.VehicleType;
3281
+ }
3282
+
3283
+ }
3284
+
3285
+ export namespace health.moxi.optimizer.common.domain {
3286
+
3287
+ /**
3288
+ * Driver break period
3289
+ */
3290
+ export interface Break extends health.moxi.optimizer.common.domain.Activity {
3291
+ type: "break";
3292
+ }
3293
+
3294
+ }
3295
+
3296
+ export namespace health.moxi.optimizer.common.domain {
3297
+
3298
+ /**
3299
+ * Dead-head travel between activities
3300
+ */
3301
+ export interface ConnectingRide extends health.moxi.optimizer.common.domain.Activity {
3302
+ idleTimeSeconds?: number;
3303
+ type: "connectingRide";
3304
+ }
3305
+
3306
+ }
3307
+
3308
+ export namespace health.moxi.optimizer.common.domain {
3309
+
3310
+ export interface GeoLocation {
3311
+ /**
3312
+ * Latitude coordinate in decimal degrees
3313
+ */
3314
+ latitude?: number;
3315
+ /**
3316
+ * Longitude coordinate in decimal degrees
3317
+ */
3318
+ longitude?: number;
3319
+ }
3320
+
3321
+ }
3322
+
3323
+ export namespace health.moxi.optimizer.common.domain {
3324
+
3325
+ /**
3326
+ * Scheduled vehicle maintenance activity
3327
+ */
3328
+ export interface Maintenance extends health.moxi.optimizer.common.domain.Activity {
3329
+ type: "maintenance";
3330
+ }
3331
+
3332
+ }
3333
+
3334
+ export namespace health.moxi.optimizer.common.domain {
3335
+
3336
+ /**
3337
+ * Operational rules and constraints
3338
+ */
3339
+ export interface OperationalRules {
3340
+ maxOvertime?: number;
3341
+ maxStartTimeDeviation?: number;
3342
+ minBreakStart?: number;
3343
+ }
3344
+
3345
+ }
3346
+
3347
+ export namespace health.moxi.optimizer.common.domain {
3348
+
3349
+ /**
3350
+ * Ride activity
3351
+ */
3352
+ export interface Ride extends health.moxi.optimizer.common.domain.Activity {
3353
+ infectious?: boolean;
3354
+ overweight?: boolean;
3355
+ type: "ride";
3356
+ }
3357
+
3358
+ }
3359
+
3360
+ export namespace health.moxi.optimizer.common.domain {
3361
+
3362
+ /**
3363
+ * Vehicle route with scheduled activities
3364
+ */
3365
+ export interface Route {
3366
+ activities?: health.moxi.optimizer.common.domain.ActivityUnion[];
3367
+ garage?: health.moxi.optimizer.common.domain.GeoLocation;
3368
+ id?: string;
3369
+ metrics?: health.moxi.optimizer.common.domain.RouteMetrics;
3370
+ overtimeSeconds?: number;
3371
+ shiftEnd?: string;
3372
+ shiftStart?: string;
3373
+ vehicleType?: health.moxi.optimizer.common.domain.VehicleType;
3374
+ }
3375
+
3376
+ }
3377
+
3378
+ export namespace health.moxi.optimizer.common.domain {
3379
+
3380
+ export interface RouteMetrics {
3381
+ averageRideStartTimeDeviation?: number;
3382
+ deadheadDistanceMeters?: number;
3383
+ totalDeadheadTime?: number;
3384
+ totalDistanceMeters?: number;
3385
+ totalIdleTime?: number;
3386
+ totalRideTime?: number;
3387
+ }
3388
+
3389
+ }
3390
+
3391
+ export namespace health.moxi.optimizer.common.domain {
3392
+
3393
+ /**
3394
+ * Schedule containing routes and activities
3395
+ */
3396
+ export interface Schedule {
3397
+ metrics?: health.moxi.optimizer.common.domain.ScheduleMetrics;
3398
+ routes?: health.moxi.optimizer.common.domain.Route[];
3399
+ status?: health.moxi.optimizer.common.domain.OptimizationStatus;
3400
+ unplannedActivities?: health.moxi.optimizer.common.domain.ActivityUnion[];
3401
+ }
3402
+
3403
+ }
3404
+
3405
+ export namespace health.moxi.optimizer.common.domain {
3406
+
3407
+ export interface ScheduleMetrics {
3408
+ ambulanceCount?: number;
3409
+ fleetUtilization?: number;
3410
+ medianRidesPerRoute?: number;
3411
+ overall?: health.moxi.optimizer.common.domain.RouteMetrics;
3412
+ plannedRides?: number;
3413
+ taxiCount?: number;
3414
+ totalOvertimeSeconds?: number;
3415
+ unplannedRides?: number;
3416
+ }
3417
+
3418
+ }
3419
+
3420
+ export namespace health.moxi.optimizer.common.planning {
3421
+
3422
+ /**
3423
+ * Constraint weights for different optimization objectives
3424
+ */
3425
+ export interface ConstraintWeights {
3426
+ balanceWorkload?: number;
3427
+ breakPositioning?: number;
3428
+ deadheadTimePenalty?: number;
3429
+ encourageRideAssignments?: number;
3430
+ idleTimePenalty?: number;
3431
+ minimizeTravelTime?: number;
3432
+ startTimeDeviation?: number;
3433
+ }
3434
+
3435
+ }
3436
+
3437
+ export namespace health.moxi.optimizer.common.planning {
3438
+
3439
+ /**
3440
+ * Solver parameters for tuning the optimization
3441
+ */
3442
+ export interface OptimizationParameters {
3443
+ acceptedCountLimit?: number;
3444
+ constructionStrategy?: health.moxi.optimizer.common.planning.ConstructionStrategy;
3445
+ maxUnimprovedSeconds?: number;
3446
+ searchStrategy?: health.moxi.optimizer.common.planning.SearchStrategy;
3447
+ startingTemperature?: number;
3448
+ tabuRatio?: number;
3449
+ }
3450
+
3451
+ }
3452
+
3178
3453
  export namespace com.moxi.api.authentication.common {
3179
3454
 
3180
3455
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED" | "ONE_TIME_PASSWORD_NEEDED";
@@ -3193,6 +3468,12 @@ export namespace com.moxi.api.common {
3193
3468
 
3194
3469
  }
3195
3470
 
3471
+ export namespace com.moxi.api.common {
3472
+
3473
+ export type Weekday = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
3474
+
3475
+ }
3476
+
3196
3477
  export namespace com.moxi.api.common.slack {
3197
3478
 
3198
3479
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour";
@@ -3207,7 +3488,7 @@ export namespace com.moxi.api.geojson.common.GeoJson {
3207
3488
 
3208
3489
  export namespace com.moxi.api.grpc.common {
3209
3490
 
3210
- export type GrpcStreamType = "get_einsatz_events";
3491
+ export type GrpcStreamType = "get_einsatz_events" | "optimizer_planning";
3211
3492
 
3212
3493
  }
3213
3494
 
@@ -3249,7 +3530,7 @@ export namespace com.moxi.api.permissions.subscription.common {
3249
3530
 
3250
3531
  export namespace com.moxi.api.permissions.subscription.common {
3251
3532
 
3252
- export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations" | "intensive_care";
3533
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations" | "intensive_care" | "moxi_insights";
3253
3534
 
3254
3535
  }
3255
3536
 
@@ -3265,6 +3546,18 @@ export namespace com.moxi.api.refdata.common {
3265
3546
 
3266
3547
  }
3267
3548
 
3549
+ export namespace com.moxi.api.ride.common {
3550
+
3551
+ export type ActualAccuracy = "actually_on_time" | "actually_later";
3552
+
3553
+ }
3554
+
3555
+ export namespace com.moxi.api.ride.common {
3556
+
3557
+ export type AgeGroup = "below1" | "below4" | "below12" | "below18" | "below30" | "below40" | "below50" | "below60" | "below70" | "below80" | "over80";
3558
+
3559
+ }
3560
+
3268
3561
  export namespace com.moxi.api.ride.common {
3269
3562
 
3270
3563
  export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
@@ -3283,6 +3576,12 @@ export namespace com.moxi.api.ride.common {
3283
3576
 
3284
3577
  }
3285
3578
 
3579
+ export namespace com.moxi.api.ride.common {
3580
+
3581
+ export type PlanAccuracy = "planned_on_time" | "planned_later" | "planned_earlier";
3582
+
3583
+ }
3584
+
3286
3585
  export namespace com.moxi.api.ride.common {
3287
3586
 
3288
3587
  export type RideInfoUnion = com.moxi.api.ride.common.RegularRideInfo | com.moxi.api.ride.intensivecare.IntensiveCareRideInfo;
@@ -3337,6 +3636,24 @@ export namespace com.moxi.api.ride.intensivecare {
3337
3636
 
3338
3637
  }
3339
3638
 
3639
+ export namespace com.moxi.api.ride.intensivecare.Equipment {
3640
+
3641
+ export type EquipmentFacet = "pacemaker" | "cprDevice" | "vacuumMattress" | "ecmo" | "iabp" | "powerSupply" | "hasPerfusor" | "hasSecondPerfusor" | "hasInfusionTherapy" | "hasThoraxDrainage";
3642
+
3643
+ }
3644
+
3645
+ export namespace com.moxi.api.ride.intensivecare.Infection {
3646
+
3647
+ export type InfectionFacet = "isolationNecessary" | "mrsa" | "mrgn" | "esbl" | "vre_cre" | "reverseIsolation" | "hasInfection" | "hasOtherGerms" | "hasFurtherActions";
3648
+
3649
+ }
3650
+
3651
+ export namespace com.moxi.api.ride.intensivecare.Monitoring {
3652
+
3653
+ export type MonitoringFacet = "standardMonitoring" | "capnometry" | "eeg" | "ap" | "cvp" | "pap" | "icp" | "hasOtherMonitoring" | "hasArteryCatheter" | "hasCvl" | "hasVenusLines";
3654
+
3655
+ }
3656
+
3340
3657
  export namespace com.moxi.api.ride.intensivecare {
3341
3658
 
3342
3659
  export type OralOrNasal = "oral" | "nasal";
@@ -3390,3 +3707,45 @@ export namespace com.moxi.api.web.common {
3390
3707
  export type WebsocketUpdateUnion = com.moxi.api.web.common.WebsocketSingleUpdate | com.moxi.api.web.common.WebsocketMultipleUpdates;
3391
3708
 
3392
3709
  }
3710
+
3711
+ export namespace health.moxi.optimizer.common.domain {
3712
+
3713
+ export type ActivityType = "ride" | "break" | "maintenance" | "connectingRide";
3714
+
3715
+ }
3716
+
3717
+ export namespace health.moxi.optimizer.common.domain {
3718
+
3719
+ export type ActivityUnion = health.moxi.optimizer.common.domain.Ride | health.moxi.optimizer.common.domain.Break | health.moxi.optimizer.common.domain.Maintenance | health.moxi.optimizer.common.domain.ConnectingRide;
3720
+
3721
+ }
3722
+
3723
+ export namespace health.moxi.optimizer.common.domain {
3724
+
3725
+ export type OptimizationStatus = "queued" | "in_progress" | "completed" | "failed" | "cancelled";
3726
+
3727
+ }
3728
+
3729
+ export namespace health.moxi.optimizer.common.domain {
3730
+
3731
+ export type VehicleType = "taxi" | "ambulance";
3732
+
3733
+ }
3734
+
3735
+ export namespace health.moxi.optimizer.common.planning {
3736
+
3737
+ export type ConstructionStrategy = "first_fit" | "cheapest_insertion";
3738
+
3739
+ }
3740
+
3741
+ export namespace health.moxi.optimizer.common.planning {
3742
+
3743
+ export type OptimizationMode = "full_optimization" | "magic_squeeze_in";
3744
+
3745
+ }
3746
+
3747
+ export namespace health.moxi.optimizer.common.planning {
3748
+
3749
+ export type SearchStrategy = "vnd" | "tabu_search" | "simulated_annealing";
3750
+
3751
+ }
package/common.d.ts CHANGED
@@ -246,6 +246,10 @@ export interface BreathingDelivery {
246
246
  type: "intubated" | "mask" | "tracheotomized";
247
247
  }
248
248
 
249
+ export interface CancelOptimization {
250
+ problemId?: string;
251
+ }
252
+
249
253
  export interface CancelRide extends RideCommand {
250
254
  reason?: string;
251
255
  }
@@ -336,6 +340,7 @@ export interface ConfirmablePermission {
336
340
  }
337
341
 
338
342
  export interface Consciousness {
343
+ fullyConscious?: boolean;
339
344
  gcs?: number;
340
345
  type?: ConsciousnessType;
341
346
  }
@@ -348,11 +353,6 @@ export interface CreateAccount extends AccountCommand {
348
353
  requestService?: StandaloneService;
349
354
  }
350
355
 
351
- export interface CreateOptimizationPlan extends OptimizerMessage {
352
- accountOrTeam?: AccountOrTeamRef;
353
- timeRange?: InstantRange;
354
- }
355
-
356
356
  export interface CreateRideCommand extends RideBookerCommand {
357
357
  booker?: AccountOrTeamRef;
358
358
  }
@@ -362,10 +362,6 @@ export interface CreateSeriesCommand extends SeriesBookerCommand {
362
362
  info?: SeriesRideInfo;
363
363
  }
364
364
 
365
- export interface CreateSqueezeInPlan extends OptimizerMessage {
366
- accountOrTeam?: AccountOrTeamRef;
367
- }
368
-
369
365
  export interface CreateTeam extends AccountCommand {
370
366
  info?: TeamInfo;
371
367
  teamId?: string;
@@ -758,6 +754,10 @@ export interface GetOneSeries {
758
754
  rideSeriesId?: string;
759
755
  }
760
756
 
757
+ export interface GetOptimizationStatus {
758
+ problemId?: string;
759
+ }
760
+
761
761
  export interface GetPotentialDriverIds extends GetPotentialDriversAbstract {
762
762
  }
763
763
 
@@ -814,6 +814,11 @@ export interface GetRidesInSeries {
814
814
  rideSeriesId?: string;
815
815
  }
816
816
 
817
+ export interface GetRidesInsight {
818
+ accountId?: string;
819
+ timeRange?: InstantRange;
820
+ }
821
+
817
822
  export interface GetSeriesForDriver {
818
823
  accountId?: string;
819
824
  maxSize?: number;
@@ -1110,9 +1115,6 @@ export interface OperationsOverviewFilter extends WebsocketFilter {
1110
1115
  screen: "operations_overview";
1111
1116
  }
1112
1117
 
1113
- export interface OptimizerMessage {
1114
- }
1115
-
1116
1118
  export interface Person {
1117
1119
  address?: AddressInfo;
1118
1120
  birthDay?: string;
@@ -1141,6 +1143,12 @@ export interface PlanRide extends RideDriverModifyCommand {
1141
1143
  plannedStartTime?: string;
1142
1144
  }
1143
1145
 
1146
+ export interface PollOptimizerSchedule {
1147
+ failures?: number;
1148
+ problemId?: string;
1149
+ target?: string;
1150
+ }
1151
+
1144
1152
  export interface ReadUpdates {
1145
1153
  clientId?: string;
1146
1154
  maxSize?: number;
@@ -1294,8 +1302,16 @@ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
1294
1302
  */
1295
1303
  accepted?: boolean;
1296
1304
  acceptedTime?: string;
1305
+ /**
1306
+ * If actual start time deviates more than 15 minutes from planned start time, actualAccuracy is affected.
1307
+ */
1308
+ actualAccuracy?: ActualAccuracy;
1297
1309
  actualEndTime?: string;
1298
1310
  actualStartTime?: string;
1311
+ /**
1312
+ * Divides people in age groups, used for Moxi Insights
1313
+ */
1314
+ ageGroup?: AgeGroup;
1299
1315
  /**
1300
1316
  * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
1301
1317
  */
@@ -1312,6 +1328,14 @@ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
1312
1328
  * 'completed' is true if the driver has reported driveStatus is 'completed'.
1313
1329
  */
1314
1330
  completed?: boolean;
1331
+ /**
1332
+ * Day of the month according to CET timezone.
1333
+ */
1334
+ dayOfMonth?: number;
1335
+ /**
1336
+ * Day of the week according to CET timezone.
1337
+ */
1338
+ dayOfWeek?: Weekday;
1315
1339
  /**
1316
1340
  * 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.
1317
1341
  */
@@ -1332,7 +1356,15 @@ export interface Ride extends RideOrSeries, RideOrMinimizedSeries {
1332
1356
  * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1333
1357
  */
1334
1358
  expectedStartTime?: string;
1359
+ /**
1360
+ * Hour of the day according to CET timezone.
1361
+ */
1362
+ hourOfDay?: number;
1335
1363
  info?: RideInfoUnion;
1364
+ /**
1365
+ * If planned start time deviates more than 15 minutes from desired start time, planAccuracy is affected.
1366
+ */
1367
+ planAccuracy?: PlanAccuracy;
1336
1368
  /**
1337
1369
  * 'planned' is true if the driver has reported a planned time for the ride.
1338
1370
  */
@@ -1383,8 +1415,7 @@ export interface RideDuration {
1383
1415
  export interface RideFilter {
1384
1416
  bookingStatuses?: BookingStatus[];
1385
1417
  driveStatuses?: DriveStatus[];
1386
- driverAccountNames?: string[];
1387
- driverTeamNames?: string[];
1418
+ driverAccountIds?: string[];
1388
1419
  entityType?: EntityType;
1389
1420
  hasInfection?: boolean;
1390
1421
  heavyWeight?: boolean;
@@ -1394,29 +1425,45 @@ export interface RideFilter {
1394
1425
  requiresMonitoring?: boolean;
1395
1426
  requiresOxygen?: boolean;
1396
1427
  requiresSuctionAspirator?: boolean;
1397
- riderAccountNames?: string[];
1398
- riderTeamNames?: string[];
1428
+ riderAccountIds?: string[];
1399
1429
  timeRange?: InstantRange;
1400
1430
  unfoldRideSeries?: boolean;
1401
1431
  vehicleType?: VehicleType;
1402
1432
  }
1403
1433
 
1404
1434
  export interface RideFilterCount {
1435
+ actualAccuracy?: { [P in ActualAccuracy]?: number };
1436
+ ageGroups?: { [P in AgeGroup]?: number };
1437
+ bookerReviewStars?: { [index: string]: number };
1405
1438
  bookingStatuses?: { [P in BookingStatus]?: number };
1439
+ breathingDeliveries?: { [P in BreathingDeliveryType]?: number };
1440
+ breathingSpontaneous?: number;
1441
+ circulationTypes?: { [P in CirculationType]?: number };
1442
+ dayOfMonth?: { [index: string]: number };
1443
+ dayOfWeek?: { [P in Weekday]?: number };
1406
1444
  driveStatuses?: { [P in DriveStatus]?: number };
1407
- driverAccountNames?: { [index: string]: number };
1408
- driverTeamNames?: { [index: string]: number };
1445
+ driverAccountIds?: { [index: string]: number };
1446
+ driverReviewStars?: { [index: string]: number };
1447
+ equipmentTypes?: { [P in EquipmentFacet]?: number };
1448
+ fromSubState?: { [index: string]: number };
1449
+ fullyConscious?: number;
1409
1450
  hasInfection?: number;
1410
1451
  heavyWeight?: number;
1452
+ hourOfDay?: { [index: string]: number };
1453
+ infectionTypes?: { [P in InfectionFacet]?: number };
1454
+ insurances?: { [P in InsuranceType]?: number };
1411
1455
  mobilities?: { [P in Mobility]?: number };
1456
+ monitoringTypes?: { [P in MonitoringFacet]?: number };
1457
+ planAccuracy?: { [P in PlanAccuracy]?: number };
1412
1458
  purposes?: { [P in RidePurpose]?: number };
1413
1459
  requiresMonitoring?: number;
1414
1460
  requiresOxygen?: number;
1415
1461
  requiresSuctionAspirator?: number;
1416
- riderAccountNames?: { [index: string]: number };
1417
- riderTeamNames?: { [index: string]: number };
1462
+ riderAccountIds?: { [index: string]: number };
1463
+ toSubState?: { [index: string]: number };
1418
1464
  total?: number;
1419
1465
  vehicleTypes?: { [P in VehicleType]?: number };
1466
+ ventilationTypes?: { [P in VentilationType]?: number };
1420
1467
  }
1421
1468
 
1422
1469
  export interface RideIdResult {
@@ -1683,6 +1730,10 @@ export interface StartCeliosStream {
1683
1730
  type?: GrpcStreamType;
1684
1731
  }
1685
1732
 
1733
+ export interface StartOptimizationCommand {
1734
+ optimizationRequest?: any;
1735
+ }
1736
+
1686
1737
  export interface StopCeliosStream {
1687
1738
  target?: string;
1688
1739
  type?: GrpcStreamType;
@@ -1768,6 +1819,12 @@ export interface Tracheotomized extends BreathingDelivery {
1768
1819
  type: "tracheotomized";
1769
1820
  }
1770
1821
 
1822
+ export interface TriggerCeliosOptimization {
1823
+ eplanRequestJson?: any;
1824
+ target?: string;
1825
+ type?: GrpcStreamType;
1826
+ }
1827
+
1771
1828
  export interface UpdateAccountInfo extends AccountUpdate {
1772
1829
  autoConfirm?: boolean;
1773
1830
  criticalInfo?: CriticalAccountInfo;
@@ -1908,8 +1965,12 @@ export interface ZonedTimeRange {
1908
1965
 
1909
1966
  export type AccountRole = "ridebooker" | "dispatcher" | "operator" | "admin" | "owner";
1910
1967
 
1968
+ export type ActualAccuracy = "actually_on_time" | "actually_later";
1969
+
1911
1970
  export type AgeCategory = "adult" | "child" | "toddler" | "baby";
1912
1971
 
1972
+ export type AgeGroup = "below1" | "below4" | "below12" | "below18" | "below30" | "below40" | "below50" | "below60" | "below70" | "below80" | "over80";
1973
+
1913
1974
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED" | "ONE_TIME_PASSWORD_NEEDED";
1914
1975
 
1915
1976
  export type BookingStatus = "saved" | "booked" | "accepted" | "planned" | "started" | "completed" | "cancelled";
@@ -1930,9 +1991,13 @@ export type DriveStatus = "driving_to_origin" | "arrived_at_origin" | "driving_t
1930
1991
 
1931
1992
  export type EntityType = "ride" | "rideseries";
1932
1993
 
1994
+ export type EquipmentFacet = "pacemaker" | "cprDevice" | "vacuumMattress" | "ecmo" | "iabp" | "powerSupply" | "hasPerfusor" | "hasSecondPerfusor" | "hasInfusionTherapy" | "hasThoraxDrainage";
1995
+
1933
1996
  export type GeometryUnion = GeoPolygon | GeoMultiPolygon;
1934
1997
 
1935
- export type GrpcStreamType = "get_einsatz_events";
1998
+ export type GrpcStreamType = "get_einsatz_events" | "optimizer_planning";
1999
+
2000
+ export type InfectionFacet = "isolationNecessary" | "mrsa" | "mrgn" | "esbl" | "vre_cre" | "reverseIsolation" | "hasInfection" | "hasOtherGerms" | "hasFurtherActions";
1936
2001
 
1937
2002
  export type InsuranceType = "public_insurance" | "private_insurance" | "german_accident_insurance" | "no_or_unknown_insurance";
1938
2003
 
@@ -1940,12 +2005,16 @@ export type IntegrationType = "dispolive" | "celios";
1940
2005
 
1941
2006
  export type Mobility = "wheelchair" | "big_or_electric_wheelchair" | "carry_chair" | "stretcher";
1942
2007
 
2008
+ export type MonitoringFacet = "standardMonitoring" | "capnometry" | "eeg" | "ap" | "cvp" | "pap" | "icp" | "hasOtherMonitoring" | "hasArteryCatheter" | "hasCvl" | "hasVenusLines";
2009
+
1943
2010
  export type OralOrNasal = "oral" | "nasal";
1944
2011
 
1945
2012
  export type OrganisationType = "medical" | "fleet" | "operator";
1946
2013
 
1947
2014
  export type OverweightCategory = "under_100" | "under_120" | "under_130" | "under_150" | "over_150";
1948
2015
 
2016
+ export type PlanAccuracy = "planned_on_time" | "planned_later" | "planned_earlier";
2017
+
1949
2018
  export type RideInfoUnion = RegularRideInfo | IntensiveCareRideInfo;
1950
2019
 
1951
2020
  export type RidePurpose = "admission" | "relocation" | "discharge" | "consultation";
@@ -1954,7 +2023,7 @@ export type Screen = "ping" | "marketplace" | "operations_overview" | "hospital_
1954
2023
 
1955
2024
  export type SeriesPurpose = "consultation";
1956
2025
 
1957
- export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations" | "intensive_care";
2026
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations" | "intensive_care" | "moxi_insights";
1958
2027
 
1959
2028
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour";
1960
2029
 
@@ -1977,3 +2046,5 @@ export type WebsocketMessageUnion = MarketplaceOverviewFilter | HospitalOverview
1977
2046
  export type WebsocketUpdateType = "single_update" | "multiple_updates";
1978
2047
 
1979
2048
  export type WebsocketUpdateUnion = WebsocketSingleUpdate | WebsocketMultipleUpdates;
2049
+
2050
+ export type Weekday = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@moxi.gmbh/moxi-typescriptmodels",
3
- "version": "0.23.13",
3
+ "version": "0.24.0",
4
4
  "types": "common.d.ts"
5
5
  }