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