@moxi.gmbh/moxi-typescriptmodels 0.1.2741-test-server → 0.1.2751-cbf9386-test-server

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.
@@ -319,6 +319,7 @@ export namespace com.moxi.api.authentication {
319
319
  export namespace com.moxi.api.authentication {
320
320
 
321
321
  export interface ConfirmUser {
322
+ activateOneTimePassword?: boolean;
322
323
  token?: string;
323
324
  userId?: string;
324
325
  }
@@ -405,6 +406,7 @@ export namespace com.moxi.api.authentication {
405
406
  export namespace com.moxi.api.authentication {
406
407
 
407
408
  export interface SignInUser {
409
+ activateOneTimePassword?: boolean;
408
410
  password?: string;
409
411
  userId?: string;
410
412
  }
@@ -414,6 +416,7 @@ export namespace com.moxi.api.authentication {
414
416
  export namespace com.moxi.api.authentication {
415
417
 
416
418
  export interface SignUpUser {
419
+ activateOneTimePassword?: boolean;
417
420
  email?: string;
418
421
  info?: com.moxi.api.user.common.UserInfo;
419
422
  inviteToken?: string;
@@ -478,6 +481,7 @@ export namespace com.moxi.api.authentication.common.RefreshTokenService {
478
481
  export interface RefreshTokenData {
479
482
  expiresAt?: string;
480
483
  hashedToken?: string;
484
+ impersonator?: string;
481
485
  userId?: string;
482
486
  }
483
487
 
@@ -519,6 +523,24 @@ export namespace com.moxi.api.authentication.onetimepassword {
519
523
 
520
524
  }
521
525
 
526
+ export namespace com.moxi.api.billing {
527
+
528
+ export interface BillingCodeGenerator {
529
+ }
530
+
531
+ }
532
+
533
+ export namespace com.moxi.api.billing.common {
534
+
535
+ /**
536
+ * 6-digit position number for medical transport billing
537
+ */
538
+ export interface BillingCode {
539
+ code?: string;
540
+ }
541
+
542
+ }
543
+
522
544
  export namespace com.moxi.api.common {
523
545
 
524
546
  export interface DateRange {
@@ -639,25 +661,6 @@ export namespace com.moxi.api.common.firebase {
639
661
 
640
662
  }
641
663
 
642
- export namespace com.moxi.api.common.freshdesk {
643
-
644
- export interface SendFreshdeskNewTicket {
645
- email?: string;
646
- message?: string;
647
- subject?: string;
648
- }
649
-
650
- }
651
-
652
- export namespace com.moxi.api.common.kchat {
653
-
654
- export interface SendKChat {
655
- channel?: com.moxi.api.common.kchat.KChatChannel;
656
- message?: string;
657
- }
658
-
659
- }
660
-
661
664
  export namespace com.moxi.api.common.mail {
662
665
 
663
666
  export interface Attachment {
@@ -806,9 +809,36 @@ export namespace com.moxi.api.geojson.common.GeoJson {
806
809
 
807
810
  export namespace com.moxi.api.grpc {
808
811
 
809
- export interface RegisterEinsatz {
810
- einsatzNumber?: string;
811
- rideId?: string;
812
+ export interface CeliosStreamPulse {
813
+ target?: string;
814
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
815
+ }
816
+
817
+ }
818
+
819
+ export namespace com.moxi.api.grpc {
820
+
821
+ export interface StartCeliosStream {
822
+ target?: string;
823
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
824
+ }
825
+
826
+ }
827
+
828
+ export namespace com.moxi.api.grpc {
829
+
830
+ export interface StopCeliosStream {
831
+ target?: string;
832
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
833
+ }
834
+
835
+ }
836
+
837
+ export namespace com.moxi.api.grpc.common {
838
+
839
+ export interface GrpcStreamId {
840
+ target?: string;
841
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
812
842
  }
813
843
 
814
844
  }
@@ -948,26 +978,46 @@ export namespace com.moxi.api.longpoll.common {
948
978
 
949
979
  }
950
980
 
951
- export namespace com.moxi.api.optimization {
981
+ export namespace com.moxi.api.optimizer {
952
982
 
953
- export interface CreateOptimizationPlan extends com.moxi.api.optimization.OptimizerMessage {
954
- accountOrTeam?: com.moxi.api.permissions.common.AccountOrTeamRef;
955
- timeRange?: com.moxi.api.common.InstantRange;
983
+ export interface CancelOptimization {
984
+ problemId?: string;
985
+ }
986
+
987
+ }
988
+
989
+ export namespace com.moxi.api.optimizer {
990
+
991
+ export interface CheckOptimizationSchedule {
992
+ failures?: number;
993
+ problemId?: string;
994
+ target?: string;
995
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
996
+ }
997
+
998
+ }
999
+
1000
+ export namespace com.moxi.api.optimizer {
1001
+
1002
+ export interface GetOptimizationStatus {
1003
+ problemId?: string;
956
1004
  }
957
1005
 
958
1006
  }
959
1007
 
960
- export namespace com.moxi.api.optimization {
1008
+ export namespace com.moxi.api.optimizer {
961
1009
 
962
- export interface CreateSqueezeInPlan extends com.moxi.api.optimization.OptimizerMessage {
963
- accountOrTeam?: com.moxi.api.permissions.common.AccountOrTeamRef;
1010
+ export interface SubmitOptimizationRequest {
1011
+ optimizationRequest?: health.moxi.optimizer.common.api.OptimizationRequest;
964
1012
  }
965
1013
 
966
1014
  }
967
1015
 
968
- export namespace com.moxi.api.optimization {
1016
+ export namespace com.moxi.api.optimizer {
969
1017
 
970
- export interface OptimizerMessage {
1018
+ export interface TriggerCeliosOptimization {
1019
+ target?: string;
1020
+ type?: com.moxi.api.grpc.common.GrpcStreamType;
971
1021
  }
972
1022
 
973
1023
  }
@@ -1349,14 +1399,11 @@ export namespace com.moxi.api.refdata {
1349
1399
 
1350
1400
  export namespace com.moxi.api.refdata.common {
1351
1401
 
1352
- /**
1353
- * Address info of a google-validated address, including geolocation and district code
1354
- */
1355
1402
  export interface AddressInfo {
1356
1403
  addition?: string;
1357
1404
  city?: string;
1358
1405
  /**
1359
- * Derived from districtNutsCode
1406
+ * The NUTS country code, derived from districtNutsCode
1360
1407
  */
1361
1408
  country?: string;
1362
1409
  districtNutsCode?: string;
@@ -1365,12 +1412,12 @@ export namespace com.moxi.api.refdata.common {
1365
1412
  number?: string;
1366
1413
  placeName?: string;
1367
1414
  /**
1368
- * Derived from districtNutsCode
1415
+ * The NUTS level 1 code, derived from districtNutsCode
1369
1416
  */
1370
1417
  state?: string;
1371
1418
  street?: string;
1372
1419
  /**
1373
- * Derived from districtNutsCode
1420
+ * The NUTS level 2 code, derived from districtNutsCode
1374
1421
  */
1375
1422
  subState?: string;
1376
1423
  zipCode?: string;
@@ -1518,7 +1565,7 @@ export namespace com.moxi.api.ride {
1518
1565
 
1519
1566
  export namespace com.moxi.api.ride {
1520
1567
 
1521
- export interface CancelRide extends com.moxi.api.ride.RideBookerCommand {
1568
+ export interface CancelRide extends com.moxi.api.ride.RideCommand {
1522
1569
  reason?: string;
1523
1570
  }
1524
1571
 
@@ -1749,33 +1796,22 @@ export namespace com.moxi.api.ride {
1749
1796
  export namespace com.moxi.api.ride.common {
1750
1797
 
1751
1798
  /**
1752
- * Information for advanced medical transport, like intensive care rides or emergency ambulances
1753
- */
1754
- export interface AdvancedRideInfo extends com.moxi.api.rideseries.common.GenericRideInfo<com.moxi.api.ride.common.AdvancedRideInfo> {
1755
- medicalData?: com.moxi.api.ride.common.MedicalData;
1756
- }
1757
-
1758
- }
1759
-
1760
- export namespace com.moxi.api.ride.common {
1761
-
1762
- /**
1763
- * Filled if (and only if) vehicleType == ambulance
1799
+ * Mandatory if the vehicleType is ambulance, forbidden if taxi
1764
1800
  */
1765
1801
  export interface AmbulanceInfo {
1766
1802
  /**
1767
- * Derived from infectionDescription != blank
1803
+ * True if infectionDescription is given
1768
1804
  */
1769
1805
  hasInfection?: boolean;
1770
1806
  infectionDescription?: string;
1771
1807
  monitoringDescription?: string;
1772
1808
  oxygenLiterPerHour?: number;
1773
1809
  /**
1774
- * Derived from monitoringDescription != blank
1810
+ * True if monitoringDescription is given
1775
1811
  */
1776
1812
  requiresMonitoring?: boolean;
1777
1813
  /**
1778
- * Derived from oxygenLiterPerHour != null
1814
+ * True if oxygenLiterPerHour is given
1779
1815
  */
1780
1816
  requiresOxygen?: boolean;
1781
1817
  requiresSuctionAspirator?: boolean;
@@ -1815,76 +1851,6 @@ export namespace com.moxi.api.ride.common {
1815
1851
 
1816
1852
  }
1817
1853
 
1818
- export namespace com.moxi.api.ride.common {
1819
-
1820
- /**
1821
- * Ride information specific for intensive care rides.
1822
- */
1823
- export interface IntensiveCareRideInfo extends com.moxi.api.ride.common.RideInfo {
1824
- medicalData?: com.moxi.api.ride.common.MedicalData;
1825
- patientMedicalCondition?: string;
1826
- vehicleType: "intensiveCareAmbulance";
1827
- }
1828
-
1829
- }
1830
-
1831
- export namespace com.moxi.api.ride.common {
1832
-
1833
- export interface MedicalData {
1834
- activeSubstances?: com.moxi.api.ride.common.MonitoredValue;
1835
- administrativeJourney?: string;
1836
- alarmNumber?: number;
1837
- analogueSedated?: boolean;
1838
- catecholamines?: boolean;
1839
- cpapAsb?: boolean;
1840
- dkvBipap?: boolean;
1841
- ecmo?: boolean;
1842
- fio2AboveZeroPointFive?: boolean;
1843
- highFlowOxygenTherapy?: boolean;
1844
- iabp?: boolean;
1845
- ibpMonitoring?: boolean;
1846
- incubator?: boolean;
1847
- infection?: com.moxi.api.ride.common.MonitoredValue;
1848
- infusomats?: com.moxi.api.ride.common.MonitoredValue;
1849
- intubated?: boolean;
1850
- ippvCppv?: boolean;
1851
- niv?: boolean;
1852
- oriented?: boolean;
1853
- otherMonitoring?: com.moxi.api.ride.common.MonitoredValue;
1854
- otherVentilation?: com.moxi.api.ride.common.MonitoredValue;
1855
- oxygen?: com.moxi.api.ride.common.MonitoredValue;
1856
- pacemaker?: boolean;
1857
- patientWeightAbove100Kg?: boolean;
1858
- peep?: boolean;
1859
- perfusor?: com.moxi.api.ride.common.MonitoredValue;
1860
- powerSupply?: boolean;
1861
- remark?: string;
1862
- resources?: string;
1863
- simvAsb?: boolean;
1864
- sleepy?: boolean;
1865
- spontaneous?: boolean;
1866
- stable?: boolean;
1867
- standardMonitoring?: boolean;
1868
- thoraxDrainage?: boolean;
1869
- tracheostomized?: boolean;
1870
- unconscious?: boolean;
1871
- unstable?: boolean;
1872
- vacuumMattress?: boolean;
1873
- veinCatheter?: boolean;
1874
- ventilated?: boolean;
1875
- }
1876
-
1877
- }
1878
-
1879
- export namespace com.moxi.api.ride.common {
1880
-
1881
- export interface MonitoredValue {
1882
- enabled?: boolean;
1883
- value?: string;
1884
- }
1885
-
1886
- }
1887
-
1888
1854
  export namespace com.moxi.api.ride.common {
1889
1855
 
1890
1856
  export interface Person {
@@ -1904,7 +1870,7 @@ export namespace com.moxi.api.ride.common {
1904
1870
  export namespace com.moxi.api.ride.common {
1905
1871
 
1906
1872
  /**
1907
- * Filled if (and only if) patient exceeds 130 kg
1873
+ * Mandatory if weight exceeds 130 kg, otherwise forbidden
1908
1874
  */
1909
1875
  export interface PersonDimensions {
1910
1876
  heightInCm?: number;
@@ -1938,18 +1904,18 @@ export namespace com.moxi.api.ride.common {
1938
1904
 
1939
1905
  export interface Ride extends com.moxi.api.rideseries.combined.common.RideOrSeries, com.moxi.api.rideseries.combined.common.RideOrMinimizedSeries {
1940
1906
  /**
1941
- * Derived from driver != null
1907
+ * 'accepted' is true if a driver has accepted the ride.
1942
1908
  */
1943
1909
  accepted?: boolean;
1944
1910
  acceptedTime?: string;
1945
1911
  actualEndTime?: string;
1946
1912
  actualStartTime?: string;
1947
1913
  /**
1948
- * Derived from driveStatus != null
1914
+ * 'arrived' is true if the driver has reported driveStatus is 'arrived_at_origin'.
1949
1915
  */
1950
1916
  arrived?: boolean;
1951
1917
  /**
1952
- * Derived from bookedTime != null
1918
+ * 'booked' is false if the ride has only been saved.
1953
1919
  */
1954
1920
  booked?: boolean;
1955
1921
  booker?: com.moxi.api.permissions.common.AccountOrTeamRef;
@@ -1957,15 +1923,15 @@ export namespace com.moxi.api.ride.common {
1957
1923
  cancelReason?: string;
1958
1924
  cancelled?: boolean;
1959
1925
  /**
1960
- * Derived from driveStatus == completed
1926
+ * 'completed' is true if the driver has reported driveStatus is 'completed'.
1961
1927
  */
1962
1928
  completed?: boolean;
1963
1929
  /**
1964
- * Desired Time of Arrival at the Destination/Drop-off location. Derived from info.appointment and info.plannedDuration
1930
+ * 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.
1965
1931
  */
1966
1932
  desiredEndTime?: string;
1967
1933
  /**
1968
- * Desired Time of Arrival at the Origin/Pick-up location. Derived from info.appointment and info.plannedDuration
1934
+ * 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.
1969
1935
  */
1970
1936
  desiredStartTime?: string;
1971
1937
  driveStatus?: com.moxi.api.ride.common.DriveStatus;
@@ -1973,20 +1939,20 @@ export namespace com.moxi.api.ride.common {
1973
1939
  driverSyncStatus?: com.moxi.api.ride.common.SyncStatus;
1974
1940
  endTimeDelay?: number;
1975
1941
  /**
1976
- * Expected Time of Arrival at the Destination/Drop-off location.
1942
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'to' or 'drop-off' location.
1977
1943
  */
1978
1944
  expectedEndTime?: string;
1979
1945
  /**
1980
- * Expected Time of Arrival at the Origin/Pick-up location.
1946
+ * The driver determines the expectedEndTime when indicating delays. It means the expected time of arrival at the 'from' or 'pick-up' location.
1981
1947
  */
1982
1948
  expectedStartTime?: string;
1983
1949
  info?: com.moxi.api.ride.common.RideInfoUnion;
1984
1950
  /**
1985
- * Derived from plannedStartTime != null
1951
+ * 'planned' is true if the driver has reported a planned time for the ride.
1986
1952
  */
1987
1953
  planned?: boolean;
1988
1954
  /**
1989
- * Planned Time of Arrival at the Destination/Drop-off location, reported by the driver.
1955
+ * The driver determines the plannedEndTime. It means the planned time of arrival at the 'to' or 'drop-off' location.
1990
1956
  */
1991
1957
  plannedEndTime?: string;
1992
1958
  plannedStartTime?: string;
@@ -1994,7 +1960,7 @@ export namespace com.moxi.api.ride.common {
1994
1960
  seriesInfo?: com.moxi.api.ride.common.SeriesInfo;
1995
1961
  startTimeDelay?: number;
1996
1962
  /**
1997
- * Derived from driveStatus != null
1963
+ * 'started' is true if the driver has reported a driveStatus.
1998
1964
  */
1999
1965
  started?: boolean;
2000
1966
  }
@@ -2003,13 +1969,19 @@ export namespace com.moxi.api.ride.common {
2003
1969
 
2004
1970
  export namespace com.moxi.api.ride.common {
2005
1971
 
2006
- /**
2007
- * All durations in seconds
2008
- */
2009
1972
  export interface RideDuration {
2010
1973
  driving?: number;
1974
+ /**
1975
+ * Seconds of slack for dropping off the patient, currently hardcoded to 15 minutes
1976
+ */
2011
1977
  droppingOff?: number;
1978
+ /**
1979
+ * Seconds of slack for picking up the patient, currently hardcoded to 15 minutes
1980
+ */
2012
1981
  pickingUp?: number;
1982
+ /**
1983
+ * Seconds of driving time plus the pick-up and drop-off slack times
1984
+ */
2013
1985
  total?: number;
2014
1986
  }
2015
1987
 
@@ -2072,13 +2044,15 @@ export namespace com.moxi.api.ride.common {
2072
2044
 
2073
2045
  export namespace com.moxi.api.ride.common {
2074
2046
 
2075
- /**
2076
- * Base class for different types of RideInfo
2077
- */
2078
2047
  export interface RideInfo extends com.moxi.api.rideseries.common.GenericRideInfo<com.moxi.api.ride.common.RideInfoUnion> {
2079
2048
  appointment?: com.moxi.api.ride.common.Appointment;
2049
+ /**
2050
+ * Returns custom billing code if provided, otherwise auto-generates from ride details
2051
+ */
2052
+ billingCode?: com.moxi.api.billing.common.BillingCode;
2053
+ customBillingCode?: com.moxi.api.billing.common.BillingCode;
2080
2054
  purpose?: com.moxi.api.ride.common.RidePurpose;
2081
- vehicleType: "intensiveCareAmbulance" | "taxi";
2055
+ vehicleType: "taxi" | "intensiveCareAmbulance";
2082
2056
  }
2083
2057
 
2084
2058
  }
@@ -2106,7 +2080,7 @@ export namespace com.moxi.api.ride.common {
2106
2080
  export namespace com.moxi.api.ride.common {
2107
2081
 
2108
2082
  /**
2109
- * Information about a ride that is part of series.
2083
+ * If the ride is part of a series, seriesInfo will contain context about the position of the ride within the series.
2110
2084
  */
2111
2085
  export interface SeriesInfo {
2112
2086
  desyncedFromSeries?: boolean;
@@ -2118,6 +2092,252 @@ export namespace com.moxi.api.ride.common {
2118
2092
 
2119
2093
  }
2120
2094
 
2095
+ export namespace com.moxi.api.ride.intensivecare {
2096
+
2097
+ export interface Breathing {
2098
+ breathingDelivery?: com.moxi.api.ride.intensivecare.BreathingDeliveryUnion;
2099
+ spontaneous?: boolean;
2100
+ }
2101
+
2102
+ }
2103
+
2104
+ export namespace com.moxi.api.ride.intensivecare {
2105
+
2106
+ export interface BreathingDelivery {
2107
+ oxygenLiterPerMin?: number;
2108
+ type: "intubated" | "mask" | "tracheotomized";
2109
+ }
2110
+
2111
+ }
2112
+
2113
+ export namespace com.moxi.api.ride.intensivecare {
2114
+
2115
+ export interface Circulation {
2116
+ catecholamines?: string[];
2117
+ type?: com.moxi.api.ride.intensivecare.CirculationType;
2118
+ }
2119
+
2120
+ }
2121
+
2122
+ export namespace com.moxi.api.ride.intensivecare {
2123
+
2124
+ export interface Consciousness {
2125
+ gcs?: number;
2126
+ type?: com.moxi.api.ride.intensivecare.ConsciousnessType;
2127
+ }
2128
+
2129
+ }
2130
+
2131
+ export namespace com.moxi.api.ride.intensivecare {
2132
+
2133
+ export interface Equipment {
2134
+ cprDevice?: boolean;
2135
+ ecmo?: boolean;
2136
+ /**
2137
+ * Derived from infusionTherapy != blank
2138
+ */
2139
+ hasInfusionTherapy?: boolean;
2140
+ /**
2141
+ * Derived from perfusorDescription != blank
2142
+ */
2143
+ hasPerfusor?: boolean;
2144
+ /**
2145
+ * Derived from secondPerfusorDescription != blank
2146
+ */
2147
+ hasSecondPerfusor?: boolean;
2148
+ /**
2149
+ * Derived from thoraxDrainageLeft != null or thoraxDrainageRight != null
2150
+ */
2151
+ hasThoraxDrainage?: boolean;
2152
+ iabp?: boolean;
2153
+ infusionTherapy?: string;
2154
+ pacemaker?: boolean;
2155
+ perfusorDescription?: string;
2156
+ powerSupply?: boolean;
2157
+ secondPerfusorDescription?: string;
2158
+ thoraxDrainageLeft?: number;
2159
+ thoraxDrainageRight?: number;
2160
+ vacuumMattress?: boolean;
2161
+ }
2162
+
2163
+ }
2164
+
2165
+ export namespace com.moxi.api.ride.intensivecare {
2166
+
2167
+ export interface Infection {
2168
+ esbl?: boolean;
2169
+ furtherActions?: string;
2170
+ /**
2171
+ * Derived from furtherActions != blank
2172
+ */
2173
+ hasFurtherActions?: boolean;
2174
+ /**
2175
+ * Derived from infectionDescription != blank
2176
+ */
2177
+ hasInfection?: boolean;
2178
+ /**
2179
+ * Derived from otherGerms != blank
2180
+ */
2181
+ hasOtherGerms?: boolean;
2182
+ infectionDescription?: string;
2183
+ isolationNecessary?: boolean;
2184
+ mrgn?: boolean;
2185
+ mrsa?: boolean;
2186
+ otherGerms?: string;
2187
+ reverseIsolation?: boolean;
2188
+ vre_cre?: boolean;
2189
+ }
2190
+
2191
+ }
2192
+
2193
+ export namespace com.moxi.api.ride.intensivecare {
2194
+
2195
+ export interface IntensiveCareInfo {
2196
+ ageCategory?: com.moxi.api.ride.intensivecare.AgeCategory;
2197
+ babyPod?: boolean;
2198
+ babyWeighs3to8kg?: boolean;
2199
+ breathing?: com.moxi.api.ride.intensivecare.Breathing;
2200
+ circulation?: com.moxi.api.ride.intensivecare.Circulation;
2201
+ consciousness?: com.moxi.api.ride.intensivecare.Consciousness;
2202
+ diagnosis?: string;
2203
+ equipment?: com.moxi.api.ride.intensivecare.Equipment;
2204
+ infection?: com.moxi.api.ride.intensivecare.Infection;
2205
+ monitoring?: com.moxi.api.ride.intensivecare.Monitoring;
2206
+ otherRemarks?: string;
2207
+ overweightCategory?: com.moxi.api.ride.intensivecare.OverweightCategory;
2208
+ ventilation?: com.moxi.api.ride.intensivecare.Ventilation;
2209
+ }
2210
+
2211
+ }
2212
+
2213
+ export namespace com.moxi.api.ride.intensivecare {
2214
+
2215
+ /**
2216
+ * Ride information specific for intensive care rides.
2217
+ */
2218
+ export interface IntensiveCareRideInfo extends com.moxi.api.ride.common.RideInfo {
2219
+ costCenter?: string;
2220
+ /**
2221
+ * Derived from costCenter != blank
2222
+ */
2223
+ hasInternalBilling?: boolean;
2224
+ intensiveCareInfo?: com.moxi.api.ride.intensivecare.IntensiveCareInfo;
2225
+ requestingDoctorName?: string;
2226
+ requestingDoctorPhoneNr?: com.moxi.api.common.PhoneNumber;
2227
+ requestingStationName?: string;
2228
+ requestingStationPhoneNr?: com.moxi.api.common.PhoneNumber;
2229
+ respondingDoctorName?: string;
2230
+ respondingDoctorPhoneNr?: com.moxi.api.common.PhoneNumber;
2231
+ respondingStationName?: string;
2232
+ respondingStationPhoneNr?: com.moxi.api.common.PhoneNumber;
2233
+ urgency?: com.moxi.api.ride.intensivecare.Urgency;
2234
+ vehicleType: "intensiveCareAmbulance";
2235
+ }
2236
+
2237
+ }
2238
+
2239
+ export namespace com.moxi.api.ride.intensivecare {
2240
+
2241
+ /**
2242
+ * Intubated means a tube in the nose or mouth
2243
+ */
2244
+ export interface Intubated extends com.moxi.api.ride.intensivecare.BreathingDelivery {
2245
+ fixationInCm?: number;
2246
+ oralOrNasal?: com.moxi.api.ride.intensivecare.OralOrNasal;
2247
+ tubeDiameterInMm?: number;
2248
+ type: "intubated";
2249
+ }
2250
+
2251
+ }
2252
+
2253
+ export namespace com.moxi.api.ride.intensivecare {
2254
+
2255
+ export interface Mask extends com.moxi.api.ride.intensivecare.BreathingDelivery {
2256
+ highflowLiterPerMin?: number;
2257
+ niv?: com.moxi.api.ride.intensivecare.NIV;
2258
+ type: "mask";
2259
+ }
2260
+
2261
+ }
2262
+
2263
+ export namespace com.moxi.api.ride.intensivecare {
2264
+
2265
+ export interface Monitoring {
2266
+ ap?: boolean;
2267
+ arteryCatheterDescription?: string;
2268
+ capnometry?: boolean;
2269
+ cvlDescription?: string;
2270
+ cvp?: boolean;
2271
+ eeg?: boolean;
2272
+ /**
2273
+ * Derived from arteryCatheterDescription != blank
2274
+ */
2275
+ hasArteryCatheter?: boolean;
2276
+ /**
2277
+ * Derived from cvlDescription != blank
2278
+ */
2279
+ hasCvl?: boolean;
2280
+ /**
2281
+ * Derived from otherMonitoring != blank
2282
+ */
2283
+ hasOtherMonitoring?: boolean;
2284
+ /**
2285
+ * Derived from numberOfVenusLines != null
2286
+ */
2287
+ hasVenusLines?: boolean;
2288
+ icp?: boolean;
2289
+ numberOfVenusLines?: number;
2290
+ otherMonitoring?: string;
2291
+ pap?: boolean;
2292
+ standardMonitoring?: boolean;
2293
+ venusLinesDescription?: string;
2294
+ }
2295
+
2296
+ }
2297
+
2298
+ export namespace com.moxi.api.ride.intensivecare {
2299
+
2300
+ /**
2301
+ * NIV stands for Non Invasive Ventilation.
2302
+ */
2303
+ export interface NIV {
2304
+ fiO2?: number;
2305
+ peep?: number;
2306
+ }
2307
+
2308
+ }
2309
+
2310
+ export namespace com.moxi.api.ride.intensivecare {
2311
+
2312
+ /**
2313
+ * Tracheotomized means a tube through the skin.
2314
+ */
2315
+ export interface Tracheotomized extends com.moxi.api.ride.intensivecare.BreathingDelivery {
2316
+ fixationInCm?: number;
2317
+ tubeDiameterInMm?: number;
2318
+ type: "tracheotomized";
2319
+ }
2320
+
2321
+ }
2322
+
2323
+ export namespace com.moxi.api.ride.intensivecare {
2324
+
2325
+ export interface Ventilation {
2326
+ asb?: number;
2327
+ bf?: number;
2328
+ expiration?: number;
2329
+ fiO2?: number;
2330
+ inspiration?: number;
2331
+ mv?: number;
2332
+ other?: string;
2333
+ peep?: number;
2334
+ pmax?: number;
2335
+ td?: number;
2336
+ type?: com.moxi.api.ride.intensivecare.VentilationType;
2337
+ }
2338
+
2339
+ }
2340
+
2121
2341
  export namespace com.moxi.api.rideseries {
2122
2342
 
2123
2343
  export interface AcceptRideSeries extends com.moxi.api.rideseries.SeriesDriverCommand {
@@ -2405,10 +2625,6 @@ export namespace com.moxi.api.rideseries.combined.common {
2405
2625
 
2406
2626
  export namespace com.moxi.api.rideseries.common {
2407
2627
 
2408
- /**
2409
- * Common information shared across all rides in a series. Similar to RideInfo but without appointment-specific details that vary per ride.
2410
-
2411
- */
2412
2628
  export interface GenericRideInfo<T> {
2413
2629
  ambulanceInfo?: com.moxi.api.ride.common.AmbulanceInfo;
2414
2630
  attendantsPresent?: number;
@@ -2434,7 +2650,7 @@ export namespace com.moxi.api.rideseries.common {
2434
2650
  export namespace com.moxi.api.rideseries.common {
2435
2651
 
2436
2652
  /**
2437
- * 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.
2653
+ * A series of rides.
2438
2654
  */
2439
2655
  export interface MinimizedRideSeries extends com.moxi.api.rideseries.common.RideSeries, com.moxi.api.rideseries.combined.common.RideOrMinimizedSeries {
2440
2656
  info?: com.moxi.api.rideseries.common.SeriesRideInfo;
@@ -2445,17 +2661,20 @@ export namespace com.moxi.api.rideseries.common {
2445
2661
  export namespace com.moxi.api.rideseries.common {
2446
2662
 
2447
2663
  /**
2448
- * 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.
2664
+ * A series of rides.
2449
2665
  */
2450
2666
  export interface RideSeries extends com.moxi.api.rideseries.combined.common.RideOrSeries {
2451
2667
  /**
2452
- * Derived from driver != null
2668
+ * 'accepted' is true if a driver has accepted the series.
2453
2669
  */
2454
2670
  accepted?: boolean;
2455
2671
  acceptedTime?: string;
2672
+ /**
2673
+ * The number of rides in the series that are not cancelled.
2674
+ */
2456
2675
  activeRideCount?: number;
2457
2676
  /**
2458
- * Derived from bookedTime != null
2677
+ * 'booked' is false if the series has only been saved.
2459
2678
  */
2460
2679
  booked?: boolean;
2461
2680
  booker?: com.moxi.api.permissions.common.AccountOrTeamRef;
@@ -2465,7 +2684,13 @@ export namespace com.moxi.api.rideseries.common {
2465
2684
  rideSeriesId?: string;
2466
2685
  rides?: com.moxi.api.ride.common.Ride[];
2467
2686
  ridesSummaries?: com.moxi.api.rideseries.common.RideSummary[];
2687
+ /**
2688
+ * searchEndTime is the time from which series can be found in our system. It's the searchEndTime of the last ride in the series.
2689
+ */
2468
2690
  searchEndTime?: string;
2691
+ /**
2692
+ * searchStartTime is the time from which series can be found in our system. It's the searchStartTime of the first ride in the series.
2693
+ */
2469
2694
  searchStartTime?: string;
2470
2695
  }
2471
2696
 
@@ -2482,7 +2707,7 @@ export namespace com.moxi.api.rideseries.common {
2482
2707
  export namespace com.moxi.api.rideseries.common {
2483
2708
 
2484
2709
  /**
2485
- * Individual ride timing within a series. Once a ride series is split, you cannot add rides, only remove
2710
+ * Individual ride timing within a series. Once a ride series is accepted, you cannot add rides, only remove
2486
2711
  */
2487
2712
  export interface RideSummary {
2488
2713
  appointmentTime?: string;
@@ -2494,9 +2719,6 @@ export namespace com.moxi.api.rideseries.common {
2494
2719
 
2495
2720
  export namespace com.moxi.api.rideseries.common {
2496
2721
 
2497
- /**
2498
- * Information about the ride, from the creator of the ride
2499
- */
2500
2722
  export interface SeriesRideInfo extends com.moxi.api.rideseries.common.GenericRideInfo<com.moxi.api.rideseries.common.SeriesRideInfo> {
2501
2723
  purpose?: com.moxi.api.rideseries.common.SeriesPurpose;
2502
2724
  }
@@ -2505,9 +2727,6 @@ export namespace com.moxi.api.rideseries.common {
2505
2727
 
2506
2728
  export namespace com.moxi.api.rideseries.common.SeriesRideInfo {
2507
2729
 
2508
- /**
2509
- * Information about the ride, from the creator of the ride
2510
- */
2511
2730
  export interface AnonymizedSeriesRideInfo extends com.moxi.api.rideseries.common.SeriesRideInfo {
2512
2731
  }
2513
2732
 
@@ -2953,12 +3172,20 @@ export namespace com.moxi.api.web.common {
2953
3172
 
2954
3173
  export namespace com.moxi.api.web.common {
2955
3174
 
2956
- export interface WebsocketFilter {
3175
+ export interface WebsocketFilter extends com.moxi.api.web.common.WebsocketMessage {
2957
3176
  screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview";
2958
3177
  }
2959
3178
 
2960
3179
  }
2961
3180
 
3181
+ export namespace com.moxi.api.web.common {
3182
+
3183
+ export interface WebsocketMessage {
3184
+ screen: "ride_details" | "fleet_overview" | "hospital_overview" | "marketplace" | "operations_overview" | "ping";
3185
+ }
3186
+
3187
+ }
3188
+
2962
3189
  export namespace com.moxi.api.web.common {
2963
3190
 
2964
3191
  export interface WebsocketMultipleUpdates extends com.moxi.api.web.common.WebsocketUpdate {
@@ -2969,6 +3196,14 @@ export namespace com.moxi.api.web.common {
2969
3196
 
2970
3197
  }
2971
3198
 
3199
+ export namespace com.moxi.api.web.common {
3200
+
3201
+ export interface WebsocketPing extends com.moxi.api.web.common.WebsocketMessage {
3202
+ screen: "ping";
3203
+ }
3204
+
3205
+ }
3206
+
2972
3207
  export namespace com.moxi.api.web.common {
2973
3208
 
2974
3209
  export interface WebsocketSingleUpdate extends com.moxi.api.web.common.WebsocketUpdate {
@@ -2987,6 +3222,212 @@ export namespace com.moxi.api.web.common {
2987
3222
 
2988
3223
  }
2989
3224
 
3225
+ export namespace health.moxi.optimizer.common.api {
3226
+
3227
+ /**
3228
+ * Request to optimize fleet schedule
3229
+ */
3230
+ export interface OptimizationRequest {
3231
+ operationalRules?: health.moxi.optimizer.common.domain.OperationalRules;
3232
+ optimizationMode?: health.moxi.optimizer.common.planning.OptimizationMode;
3233
+ parameters?: health.moxi.optimizer.common.planning.OptimizationParameters;
3234
+ problemId?: string;
3235
+ schedule?: health.moxi.optimizer.common.domain.Schedule;
3236
+ useManualWeights?: boolean;
3237
+ weights?: health.moxi.optimizer.common.planning.ConstraintWeights;
3238
+ }
3239
+
3240
+ }
3241
+
3242
+ export namespace health.moxi.optimizer.common.domain {
3243
+
3244
+ /**
3245
+ * Base activity type containing common properties
3246
+ */
3247
+ export interface Activity {
3248
+ desiredStartTime?: string;
3249
+ distanceInMeters?: number;
3250
+ duration?: number;
3251
+ endLocation?: health.moxi.optimizer.common.domain.GeoLocation;
3252
+ id?: string;
3253
+ plannedStartTime?: string;
3254
+ routePinned?: boolean;
3255
+ startLocation?: health.moxi.optimizer.common.domain.GeoLocation;
3256
+ startTimePinned?: boolean;
3257
+ type: "ride" | "break" | "maintenance" | "connectingRide";
3258
+ vehicleType?: health.moxi.optimizer.common.domain.VehicleType;
3259
+ }
3260
+
3261
+ }
3262
+
3263
+ export namespace health.moxi.optimizer.common.domain {
3264
+
3265
+ /**
3266
+ * Driver break period
3267
+ */
3268
+ export interface Break extends health.moxi.optimizer.common.domain.Activity {
3269
+ type: "break";
3270
+ }
3271
+
3272
+ }
3273
+
3274
+ export namespace health.moxi.optimizer.common.domain {
3275
+
3276
+ /**
3277
+ * Dead-head travel between activities
3278
+ */
3279
+ export interface ConnectingRide extends health.moxi.optimizer.common.domain.Activity {
3280
+ idleTimeSeconds?: number;
3281
+ type: "connectingRide";
3282
+ }
3283
+
3284
+ }
3285
+
3286
+ export namespace health.moxi.optimizer.common.domain {
3287
+
3288
+ export interface GeoLocation {
3289
+ /**
3290
+ * Latitude coordinate in decimal degrees
3291
+ */
3292
+ latitude?: number;
3293
+ /**
3294
+ * Longitude coordinate in decimal degrees
3295
+ */
3296
+ longitude?: number;
3297
+ }
3298
+
3299
+ }
3300
+
3301
+ export namespace health.moxi.optimizer.common.domain {
3302
+
3303
+ /**
3304
+ * Scheduled vehicle maintenance activity
3305
+ */
3306
+ export interface Maintenance extends health.moxi.optimizer.common.domain.Activity {
3307
+ type: "maintenance";
3308
+ }
3309
+
3310
+ }
3311
+
3312
+ export namespace health.moxi.optimizer.common.domain {
3313
+
3314
+ /**
3315
+ * Operational rules and constraints
3316
+ */
3317
+ export interface OperationalRules {
3318
+ maxOvertime?: number;
3319
+ maxStartTimeDeviation?: number;
3320
+ minBreakStart?: number;
3321
+ }
3322
+
3323
+ }
3324
+
3325
+ export namespace health.moxi.optimizer.common.domain {
3326
+
3327
+ /**
3328
+ * Ride activity
3329
+ */
3330
+ export interface Ride extends health.moxi.optimizer.common.domain.Activity {
3331
+ infectious?: boolean;
3332
+ overweight?: boolean;
3333
+ type: "ride";
3334
+ }
3335
+
3336
+ }
3337
+
3338
+ export namespace health.moxi.optimizer.common.domain {
3339
+
3340
+ /**
3341
+ * Vehicle route with scheduled activities
3342
+ */
3343
+ export interface Route {
3344
+ activities?: health.moxi.optimizer.common.domain.ActivityUnion[];
3345
+ garage?: health.moxi.optimizer.common.domain.GeoLocation;
3346
+ id?: string;
3347
+ metrics?: health.moxi.optimizer.common.domain.RouteMetrics;
3348
+ overtimeSeconds?: number;
3349
+ shiftEnd?: string;
3350
+ shiftStart?: string;
3351
+ vehicleType?: health.moxi.optimizer.common.domain.VehicleType;
3352
+ }
3353
+
3354
+ }
3355
+
3356
+ export namespace health.moxi.optimizer.common.domain {
3357
+
3358
+ export interface RouteMetrics {
3359
+ averageRideStartTimeDeviation?: number;
3360
+ deadheadDistanceMeters?: number;
3361
+ totalDeadheadTime?: number;
3362
+ totalDistanceMeters?: number;
3363
+ totalIdleTime?: number;
3364
+ totalRideTime?: number;
3365
+ }
3366
+
3367
+ }
3368
+
3369
+ export namespace health.moxi.optimizer.common.domain {
3370
+
3371
+ /**
3372
+ * Schedule containing routes and activities
3373
+ */
3374
+ export interface Schedule {
3375
+ metrics?: health.moxi.optimizer.common.domain.ScheduleMetrics;
3376
+ routes?: health.moxi.optimizer.common.domain.Route[];
3377
+ status?: health.moxi.optimizer.common.domain.OptimizationStatus;
3378
+ unplannedActivities?: health.moxi.optimizer.common.domain.ActivityUnion[];
3379
+ }
3380
+
3381
+ }
3382
+
3383
+ export namespace health.moxi.optimizer.common.domain {
3384
+
3385
+ export interface ScheduleMetrics {
3386
+ ambulanceCount?: number;
3387
+ fleetUtilization?: number;
3388
+ medianRidesPerRoute?: number;
3389
+ overall?: health.moxi.optimizer.common.domain.RouteMetrics;
3390
+ plannedRides?: number;
3391
+ taxiCount?: number;
3392
+ totalOvertimeSeconds?: number;
3393
+ unplannedRides?: number;
3394
+ }
3395
+
3396
+ }
3397
+
3398
+ export namespace health.moxi.optimizer.common.planning {
3399
+
3400
+ /**
3401
+ * Constraint weights for different optimization objectives
3402
+ */
3403
+ export interface ConstraintWeights {
3404
+ balanceWorkload?: number;
3405
+ breakPositioning?: number;
3406
+ deadheadTimePenalty?: number;
3407
+ encourageRideAssignments?: number;
3408
+ idleTimePenalty?: number;
3409
+ minimizeTravelTime?: number;
3410
+ startTimeDeviation?: number;
3411
+ }
3412
+
3413
+ }
3414
+
3415
+ export namespace health.moxi.optimizer.common.planning {
3416
+
3417
+ /**
3418
+ * Solver parameters for tuning the optimization
3419
+ */
3420
+ export interface OptimizationParameters {
3421
+ acceptedCountLimit?: number;
3422
+ constructionStrategy?: health.moxi.optimizer.common.planning.ConstructionStrategy;
3423
+ maxUnimprovedSeconds?: number;
3424
+ searchStrategy?: health.moxi.optimizer.common.planning.SearchStrategy;
3425
+ startingTemperature?: number;
3426
+ tabuRatio?: number;
3427
+ }
3428
+
3429
+ }
3430
+
2990
3431
  export namespace com.moxi.api.authentication.common {
2991
3432
 
2992
3433
  export type AuthenticationResult = "SUCCESS" | "NOT_CONFIRMED" | "ONE_TIME_PASSWORD_NEEDED";
@@ -3005,12 +3446,6 @@ export namespace com.moxi.api.common {
3005
3446
 
3006
3447
  }
3007
3448
 
3008
- export namespace com.moxi.api.common.kchat {
3009
-
3010
- export type KChatChannel = "ride_notifications" | "urgent_issues" | "account_tasks" | "customer_issues";
3011
-
3012
- }
3013
-
3014
3449
  export namespace com.moxi.api.common.slack {
3015
3450
 
3016
3451
  export type SlackChannel = "admin_monitoring" | "admin_respond_immediately" | "admin_respond_within_hour" | "admin_reported_issues";
@@ -3023,6 +3458,12 @@ export namespace com.moxi.api.geojson.common.GeoJson {
3023
3458
 
3024
3459
  }
3025
3460
 
3461
+ export namespace com.moxi.api.grpc.common {
3462
+
3463
+ export type GrpcStreamType = "get_einsatz_events" | "optimizer_planning";
3464
+
3465
+ }
3466
+
3026
3467
  export namespace com.moxi.api.integrations.common {
3027
3468
 
3028
3469
  export type IntegrationType = "dispolive" | "celios";
@@ -3061,7 +3502,7 @@ export namespace com.moxi.api.permissions.subscription.common {
3061
3502
 
3062
3503
  export namespace com.moxi.api.permissions.subscription.common {
3063
3504
 
3064
- export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations";
3505
+ export type Service = "pro_medical" | "pro_fleet" | "pro_operator" | "celios_integration" | "dispolive_integration" | "moxi_operations" | "intensive_care";
3065
3506
 
3066
3507
  }
3067
3508
 
@@ -3097,7 +3538,7 @@ export namespace com.moxi.api.ride.common {
3097
3538
 
3098
3539
  export namespace com.moxi.api.ride.common {
3099
3540
 
3100
- export type RideInfoUnion = com.moxi.api.ride.common.RegularRideInfo | com.moxi.api.ride.common.IntensiveCareRideInfo;
3541
+ export type RideInfoUnion = com.moxi.api.ride.common.RegularRideInfo | com.moxi.api.ride.intensivecare.IntensiveCareRideInfo;
3101
3542
 
3102
3543
  }
3103
3544
 
@@ -3119,6 +3560,60 @@ export namespace com.moxi.api.ride.common {
3119
3560
 
3120
3561
  }
3121
3562
 
3563
+ export namespace com.moxi.api.ride.intensivecare {
3564
+
3565
+ export type AgeCategory = "adult" | "child" | "toddler" | "baby";
3566
+
3567
+ }
3568
+
3569
+ export namespace com.moxi.api.ride.intensivecare {
3570
+
3571
+ export type BreathingDeliveryType = "mask" | "intubated" | "tracheotomized";
3572
+
3573
+ }
3574
+
3575
+ export namespace com.moxi.api.ride.intensivecare {
3576
+
3577
+ export type BreathingDeliveryUnion = com.moxi.api.ride.intensivecare.Mask | com.moxi.api.ride.intensivecare.Intubated | com.moxi.api.ride.intensivecare.Tracheotomized;
3578
+
3579
+ }
3580
+
3581
+ export namespace com.moxi.api.ride.intensivecare {
3582
+
3583
+ export type CirculationType = "stable" | "stable_with_catecholamines" | "unstable_with_catecholamines";
3584
+
3585
+ }
3586
+
3587
+ export namespace com.moxi.api.ride.intensivecare {
3588
+
3589
+ export type ConsciousnessType = "oriented" | "sleepy" | "unconscious" | "analgo_sedated";
3590
+
3591
+ }
3592
+
3593
+ export namespace com.moxi.api.ride.intensivecare {
3594
+
3595
+ export type OralOrNasal = "oral" | "nasal";
3596
+
3597
+ }
3598
+
3599
+ export namespace com.moxi.api.ride.intensivecare {
3600
+
3601
+ export type OverweightCategory = "under_100" | "under_120" | "under_130" | "under_150" | "over_150";
3602
+
3603
+ }
3604
+
3605
+ export namespace com.moxi.api.ride.intensivecare {
3606
+
3607
+ export type Urgency = "immediate" | "urgent" | "plannable";
3608
+
3609
+ }
3610
+
3611
+ export namespace com.moxi.api.ride.intensivecare {
3612
+
3613
+ export type VentilationType = "pc_cmv" | "vc_cmv" | "bipap_duopap" | "ippv_cppv" | "simv" | "cpap";
3614
+
3615
+ }
3616
+
3122
3617
  export namespace com.moxi.api.rideseries.common {
3123
3618
 
3124
3619
  export type SeriesPurpose = "consultation";
@@ -3127,13 +3622,13 @@ export namespace com.moxi.api.rideseries.common {
3127
3622
 
3128
3623
  export namespace com.moxi.api.web.common {
3129
3624
 
3130
- export type Screen = "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
3625
+ export type Screen = "ping" | "marketplace" | "operations_overview" | "hospital_overview" | "fleet_overview" | "ride_details";
3131
3626
 
3132
3627
  }
3133
3628
 
3134
3629
  export namespace com.moxi.api.web.common {
3135
3630
 
3136
- export type WebsocketFilterUnion = com.moxi.api.web.common.MarketplaceOverviewFilter | com.moxi.api.web.common.HospitalOverviewFilter | com.moxi.api.web.common.FleetOverviewFilter | com.moxi.api.web.common.OperationsOverviewFilter | com.moxi.api.web.common.DetailsFilter;
3631
+ export type WebsocketMessageUnion = com.moxi.api.web.common.MarketplaceOverviewFilter | com.moxi.api.web.common.HospitalOverviewFilter | com.moxi.api.web.common.FleetOverviewFilter | com.moxi.api.web.common.OperationsOverviewFilter | com.moxi.api.web.common.DetailsFilter | com.moxi.api.web.common.WebsocketPing;
3137
3632
 
3138
3633
  }
3139
3634
 
@@ -3148,3 +3643,45 @@ export namespace com.moxi.api.web.common {
3148
3643
  export type WebsocketUpdateUnion = com.moxi.api.web.common.WebsocketSingleUpdate | com.moxi.api.web.common.WebsocketMultipleUpdates;
3149
3644
 
3150
3645
  }
3646
+
3647
+ export namespace health.moxi.optimizer.common.domain {
3648
+
3649
+ export type ActivityType = "ride" | "break" | "maintenance" | "connectingRide";
3650
+
3651
+ }
3652
+
3653
+ export namespace health.moxi.optimizer.common.domain {
3654
+
3655
+ 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;
3656
+
3657
+ }
3658
+
3659
+ export namespace health.moxi.optimizer.common.domain {
3660
+
3661
+ export type OptimizationStatus = "queued" | "in_progress" | "completed" | "failed" | "cancelled";
3662
+
3663
+ }
3664
+
3665
+ export namespace health.moxi.optimizer.common.domain {
3666
+
3667
+ export type VehicleType = "taxi" | "ambulance";
3668
+
3669
+ }
3670
+
3671
+ export namespace health.moxi.optimizer.common.planning {
3672
+
3673
+ export type ConstructionStrategy = "first_fit" | "cheapest_insertion";
3674
+
3675
+ }
3676
+
3677
+ export namespace health.moxi.optimizer.common.planning {
3678
+
3679
+ export type OptimizationMode = "full_optimization" | "magic_squeeze_in";
3680
+
3681
+ }
3682
+
3683
+ export namespace health.moxi.optimizer.common.planning {
3684
+
3685
+ export type SearchStrategy = "vnd" | "tabu_search" | "simulated_annealing";
3686
+
3687
+ }