venue-js 1.6.0 → 1.8.0-next.1

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.
@@ -16,7 +16,7 @@ type MediaFile = {
16
16
  width: number;
17
17
  };
18
18
  type Media = MediaFile & {
19
- id: Id;
19
+ id: number;
20
20
  alternativeText: string | null;
21
21
  caption: string | null;
22
22
  createdAt: string;
@@ -160,7 +160,8 @@ type OccupantProperties = EntityTimestamps & {
160
160
  is_featured: boolean;
161
161
  is_landmark: boolean;
162
162
  is_maintenance: boolean;
163
- keywords: string[];
163
+ keywords: string[] | null;
164
+ /** @deprecated Use `main_location` instead. */
164
165
  kiosk_id: Id | null;
165
166
  kiosk_name: string | null;
166
167
  level_id: Id | null;
@@ -168,11 +169,18 @@ type OccupantProperties = EntityTimestamps & {
168
169
  local_category_ids: Id[];
169
170
  local_category_names: string[];
170
171
  logo: Media | null;
172
+ /** Primary location: prefixed unit-id or kiosk-id (e.g. "unit-789", "kiosk-555"). */
173
+ main_location: string | null;
174
+ /** Mixed array of additional unit-ids and kiosk-ids associated with the occupant (e.g. "unit-1", "kiosk-2"). */
175
+ correlated_locations: string[];
176
+ /** Maintenance-mode location: prefixed unit-id or kiosk-id, null when not in temp state. */
177
+ temp_location: string | null;
171
178
  maintenance_end_date: string | null;
172
179
  maintenance_start_date: string | null;
173
180
  name: TransalatableString;
174
181
  phone: string | null;
175
182
  privilege_ids: Id[];
183
+ product_ids: Id[];
176
184
  promotion_ids: Id[];
177
185
  render_priority: number;
178
186
  render_type: string;
@@ -182,17 +190,28 @@ type OccupantProperties = EntityTimestamps & {
182
190
  room_no: string | null;
183
191
  short_name: string | null;
184
192
  start_date: string;
193
+ end_date: string | null;
185
194
  style: SymbolProperties | null;
186
195
  temp_anchor_id: Id | null;
196
+ /** @deprecated Use `temp_location` instead. */
187
197
  temp_kiosk_id: Id | null;
198
+ /** @deprecated Use `temp_location` instead. */
188
199
  temp_unit_id: Id | null;
200
+ /** @deprecated Use `main_location` instead. */
189
201
  unit_id: Id | null;
190
202
  unit_name: string | null;
191
203
  venue_id: Id;
204
+ /** @deprecated Use `correlated_locations` instead. */
192
205
  kiosk_ids: Id[];
206
+ /** @deprecated Use `correlated_locations` instead. */
193
207
  unit_ids: Id[];
194
208
  website_link: string | null;
195
- show_name_on_all_units: boolean;
209
+ deleted_at: string | null;
210
+ show_name_on_all_units: boolean | null;
211
+ synced_at: string | null;
212
+ source_updated_at: string | null;
213
+ reference_id: string | null;
214
+ external_snapshot: Record<string, unknown> | null;
196
215
  reservations?: ExternalLink[];
197
216
  can_reserve?: boolean;
198
217
  display_settings?: {
@@ -292,6 +311,7 @@ type SectionProperties = EntityTimestamps & {
292
311
  gallery: Media[] | null;
293
312
  is_featured: boolean;
294
313
  hours: string | null;
314
+ display_point?: Position | null;
295
315
  [k: string]: any;
296
316
  };
297
317
  type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties, "section">;
@@ -351,15 +371,27 @@ type TaxonomyProperties = EntityTimestamps & {
351
371
  venue_id: Id | null;
352
372
  };
353
373
  type TaxonomyFeature = ImdfFeature<TaxonomyGeometry, TaxonomyProperties>;
354
- type EventGeometry = Polygon;
355
374
  type EventProperties = {
356
- name: string;
357
- ordinal: number;
358
- venue_id: Id;
359
- angle: number;
360
- fontSize: number;
375
+ name: TransalatableString;
376
+ description: TransalatableString;
377
+ start_date: string;
378
+ end_date: string;
379
+ venue_id: string;
380
+ feature_id: string;
381
+ local_category_ids: string[];
382
+ daily_start_time: string;
383
+ cover_image: Media;
384
+ gallery: Media[];
385
+ daily_end_time: string;
386
+ website_link: string | null;
387
+ show_always: boolean;
388
+ venue: VenueFeature;
389
+ feature: AmenityFeature | OccupantFeature;
390
+ local_categories: TaxonomyFeature[];
391
+ local_parent_categories: TaxonomyFeature[];
392
+ local_sub_categories: TaxonomyFeature[];
361
393
  };
362
- type EventFeature = ImdfFeature<EventGeometry, EventProperties>;
394
+ type EventFeature = ImdfFeature<null, EventProperties>;
363
395
  type PromotionProperties = {
364
396
  name: TransalatableString;
365
397
  category: string;
@@ -378,6 +410,11 @@ type PromotionProperties = {
378
410
  updatedAt: string;
379
411
  venue_id: Id;
380
412
  website_link: string | null;
413
+ venue: VenueFeature;
414
+ feature: AmenityFeature | OccupantFeature;
415
+ local_categories: TaxonomyFeature[];
416
+ local_parent_categories: TaxonomyFeature[];
417
+ local_sub_categories: TaxonomyFeature[];
381
418
  };
382
419
  type PromotionFeature = ImdfFeature<null, PromotionProperties>;
383
420
  type PrivilegeGeometry = null;
@@ -422,7 +459,7 @@ type ElementFeature = ImdfFeature<ElementGeometry, ElementProperties>;
422
459
  * Sponsored Content
423
460
  */
424
461
  type SponsoredContentLegacyType = "HOMEPAGE_SPOTLIGHT" | "SCREENSAVER" | "SUGGESTED_BRAND" | "SEARCH_RESULT" | "POPUP_BANNER" | "FOOTER_BANNER" | "RECOMMENDED_EVENT" | "RECOMMENDED_PROMOTION" | "RECOMMENDED_DIRECTORY";
425
- type SponsoredContentPlacementType = "HOMEPAGE_SPOTLIGHT" | "SEARCH_SUGGESTION" | "SEARCH_RESULT" | "LIST_TOPITEM" | "POPUP_BANNER" | "FOOTER_BANNER";
462
+ type SponsoredContentPlacementType = "HOMEPAGE_SPOTLIGHT" | "SEARCH_SUGGESTION" | "SEARCH_RESULT" | "LIST_TOPITEM" | "POPUP_BANNER" | "FOOTER_BANNER" | "SCREENSAVER";
426
463
  type SponsoredContentAttributes = {
427
464
  venue_id: string;
428
465
  project_id: string;
@@ -442,16 +479,14 @@ type SponsoredContentAttributes = {
442
479
  updatedAt: string;
443
480
  publishedAt: string;
444
481
  media?: Media;
445
- locale: string;
482
+ locale?: string;
446
483
  };
447
484
  type SponsoredContentStrapiV4ApiResponse = {
448
485
  id: string;
449
486
  attributes: SponsoredContentAttributes;
450
487
  };
451
488
  /** Parsed for internal use */
452
- type SponsoredContentFeature = SponsoredContentAttributes & {
453
- id: string;
454
- };
489
+ type SponsoredContentFeature = ImdfFeature<null, SponsoredContentAttributes>;
455
490
  type Page = {
456
491
  id: Id;
457
492
  attributes: Record<string, unknown>;
@@ -831,6 +866,7 @@ type UnitDistanceOptions = {
831
866
  };
832
867
  type UnitOpenings = Record<string, OpeningFeature[]>;
833
868
  type UnitKiosks = Record<string, KioskFeature[]>;
869
+ type UnitAmenities = Record<string, AmenityFeature[]>;
834
870
 
835
871
  type PrepareGraphOptions = {
836
872
  data: {
@@ -842,6 +878,7 @@ type PrepareGraphOptions = {
842
878
  kiosks?: KioskFeature[];
843
879
  anchors?: AnchorFeature[];
844
880
  amenities?: AmenityFeature[];
881
+ sections?: SectionFeature[];
845
882
  };
846
883
  unitDistanceOptions?: Partial<UnitDistanceOptions>;
847
884
  };
@@ -885,7 +922,7 @@ declare const amenityToLandmark: (amenity: AmenityFeature, findByIdSync: FindByI
885
922
  * Start ----( step )---- Waypoint ----( step )---- Waypoint ----( step )---- End
886
923
  *
887
924
  */
888
- type WaypointSourceType = "opening" | "kiosk" | "amenity" | "anchor" | "coordinate";
925
+ type WaypointSourceType = "opening" | "kiosk" | "amenity" | "anchor" | "coordinate" | "section";
889
926
  type Waypoint = {
890
927
  id?: string;
891
928
  type: 'start' | 'end' | 'between';
@@ -893,6 +930,7 @@ type Waypoint = {
893
930
  ordinal: number | null;
894
931
  point: Position;
895
932
  name: TransalatableString | null;
933
+ checkpoint?: boolean;
896
934
  source: {
897
935
  type: "occupant";
898
936
  id: string;
@@ -911,6 +949,9 @@ type Waypoint = {
911
949
  } | {
912
950
  type: "coordinate";
913
951
  raw: string;
952
+ } | {
953
+ type: "section";
954
+ id: string;
914
955
  };
915
956
  };
916
957
 
@@ -971,6 +1012,7 @@ type GetNavigateClientOptions = {
971
1012
  occupants?: OccupantFeature[];
972
1013
  openings: OpeningFeature[];
973
1014
  relationships: RelationshipFeature[];
1015
+ sections?: SectionFeature[];
974
1016
  units: UnitFeature[];
975
1017
  };
976
1018
  unitDistanceOptions?: Partial<UnitDistanceOptions>;
@@ -986,6 +1028,7 @@ type NavigateContext = {
986
1028
  occupants?: OccupantFeature[];
987
1029
  openings: OpeningFeature[];
988
1030
  relationships: RelationshipFeature[];
1031
+ sections?: SectionFeature[];
989
1032
  units: UnitFeature[];
990
1033
  };
991
1034
  findByIdSync: FindByIdSync;
@@ -1040,6 +1083,7 @@ interface FeatureQueryOptions {
1040
1083
  cacheTime?: number;
1041
1084
  enabled?: boolean;
1042
1085
  retry?: boolean | number;
1086
+ refetchOnWindowFocus?: boolean;
1043
1087
  }
1044
1088
  type InternalFindById = <T extends FeatureType>(id: Id) => Promise<FeatureResponseMap[T]>;
1045
1089
  type InternalFilterByType = <T extends FeatureType>(featureType: T) => Promise<FeatureResponseMap[T][]>;
@@ -1064,6 +1108,7 @@ declare const IMDF_UNIT_CATEGORIES: readonly ["auditorium", "brick", "classroom"
1064
1108
  declare const NONIMDF_FEATURE_TYPES: FeatureType[];
1065
1109
  declare const GEOJSON_FEATURE_TYPES: FeatureType[];
1066
1110
  declare const ALL_FEATURE_TYPES: FeatureType[];
1111
+ declare const ID_PREFIX_TO_FEATURE_TYPE: Record<string, FeatureType>;
1067
1112
  declare const defaultFeatureQueryOptionsMap: Record<FeatureType, FeatureQueryOptions>;
1068
1113
 
1069
1114
  type IMDFUnitCategory = typeof IMDF_UNIT_CATEGORIES[number];
@@ -1071,9 +1116,16 @@ type IMDFUnitCategory = typeof IMDF_UNIT_CATEGORIES[number];
1071
1116
  declare function matchFilter(value: Value | Value[], filter: Filter): boolean;
1072
1117
  declare function matchFilters<T extends Record<string, any>>(item: T, filters: Filters): boolean;
1073
1118
 
1074
- declare const findContainingUnit: (poi: KioskFeature | AmenityFeature, units: UnitFeature[]) => UnitFeature | null;
1119
+ declare const findContainingUnit: (poi: KioskFeature | AmenityFeature | SectionFeature, units: UnitFeature[]) => UnitFeature | null;
1075
1120
  declare const findContainingUnitAtPoint: (point: Position, levelId: string, units: UnitFeature[]) => UnitFeature | null;
1076
1121
 
1122
+ /**
1123
+ * Returns a Point guaranteed to lie on/within the polygon's geometry.
1124
+ * Uses centroid when it falls inside; falls back to pointOnFeature for
1125
+ * concave or multi-polygon shapes where the centroid may be outside.
1126
+ */
1127
+ declare const getPointOnFeature: (feature: Feature<Polygon | MultiPolygon>) => Feature<Point>;
1128
+
1077
1129
  declare const trace: (namespace: string, text: string, ms?: number, color?: string) => void;
1078
1130
 
1079
1131
  declare const getOccupantMainLocation: (occupant: OccupantFeaturePopulated) => UnitFeaturePopulated | KioskFeaturePopulated;
@@ -1159,12 +1211,13 @@ declare const describeVerticalStep: (fromLevel: LevelFeature, toLevel: LevelFeat
1159
1211
  };
1160
1212
  };
1161
1213
  /**
1162
- * "To traverse": "Follow the path heading toward <toward>{{toward}}</toward>",
1163
- * "To traverse on walkway": "Follow the path along the walkway",
1164
- * "To traverse on walkway toward": "Follow the path along the walkway toward <toward>{{toward}}</toward>",
1165
- * "To traverse toward": "Follow the path toward <toward>{{toward}}</toward>",
1166
- * "To traverse toward with landmark": "Follow the path toward <toward>{{toward}}</toward> near <landmark>{{landmark}}</landmark>",
1167
- * "To destination": "Head to your destination.",
1214
+ * "Follow the path along the walkway"
1215
+ * "Follow the path along the walkway toward {{toward}}"
1216
+ * "Follow the path along the walkway near {{landmark}}"
1217
+ * "Follow the path through {{intermediary}}"
1218
+ * "Follow the path through {{intermediary}} toward {{toward}}"
1219
+ * "Follow the path through {{intermediary}} near {{landmark}}"
1220
+ * "Follow the path near {{landmark}}" — when intermediary is null/empty
1168
1221
  */
1169
1222
  declare const describeHorizontalStep: (intermediary: string, toward?: TransalatableString, landmark?: TransalatableString) => StepDescription;
1170
1223
  declare const describeLastStep: () => {
@@ -1195,4 +1248,4 @@ declare const createWalkablePathService: (ctx: NavigateContext, options?: {
1195
1248
  resolution: number;
1196
1249
  }) => WalkablePathUtils;
1197
1250
 
1198
- export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, type AngleDirection, type AnyRelationshipFeature, type BaseRelationshipProperties, type CoordinateOrdinalString, type CreateStepUtilsOptions, DEFAULT_BASE_URL, type DescribableFeature, type DetailFeature, type DetailGeometry, type DetailProperties, type DistanceOptions, type ElementFeature, type ElementGeometry, type ElementProperties, type ElevatorRelationshipFeature, type ElevatorRelationshipFeaturePopulated, type ElevatorRelationshipProperties, type EscalatorRelationshipFeature, type EscalatorRelationshipFeaturePopulated, type EscalatorRelationshipProperties, type EventFeature, type EventGeometry, type EventProperties, type FeatureId, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindByIdSync, type FindParams, type FindRouteOptions, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, type GetNavigateClientOptions, type IMDFUnitCategory, type IMDFVerticalUnitCategory, IMDF_FEATURE_TYPES, IMDF_UNIT_CATEGORIES, type Id, type ImdfFeature, type Instruction, type InstructionTurn, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, type LabelFeature, type LabelGeometry, type LabelProperties, type Landmark, type LandmarkService, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, type NavigatableFeature, type NavigatableParam, type NavigateClient, type NavigateContext, type NeighborMap, type NodeId, type NodeMap, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, type OpeningTypeAndId, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrepareGraphOptions, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RampRelationshipFeature, type RampRelationshipFeaturePopulated, type RampRelationshipProperties, type RelationshipCategories, type RelationshipDirectionTypes, type RelationshipFeature, type RelationshipFeaturePopulated, type RelationshipGeometry, type Route, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type StairRelationshipFeaturePopulated, type StairsRelationshipFeature, type StairsRelationshipProperties, type Step, type StepDescription, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TransalatableString, type TraversalRelationshipFeature, type TraversalRelationshipFeaturePopulated, type TraversalRelationshipProperties, type TurnSide, type UnitDistanceOptions, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitKiosks, type UnitOpenings, type UnitProperties, type UnitTypeAndId, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, type VerticalDistanceOptions, type VerticalUnitCategory, type WalkablePathUtils, type Waypoint, type WaypointSourceType, amenityToLandmark, angleDiff, createFindByIdSync, createInstructionService, createLandmarkService, createNavigateContext, createStepService, createWalkablePathService, createWaypointService, defaultFeatureQueryOptionsMap, describeHorizontalStep, describeLastStep, describeVerticalStep, distanceToWall, fetchDeliveryApi, fetchPreviewApi, findContainingUnit, findContainingUnitAtPoint, getDataClient, getInstructionText, getNavigateClient, getSearchClient, getTurn, matchFilter, matchFilters, mergeStepsByOrdinal, mergeTwoSteps, occupantToLandmark, openingToLandmark, outerRingsToLine, outwardOpeningBearing, prepareGraph, safeFetchFeature, trace, turnSide, unitToLandmark };
1251
+ export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, type AngleDirection, type AnyRelationshipFeature, type BaseRelationshipProperties, type CoordinateOrdinalString, type CreateStepUtilsOptions, DEFAULT_BASE_URL, type DescribableFeature, type DetailFeature, type DetailGeometry, type DetailProperties, type DistanceOptions, type ElementFeature, type ElementGeometry, type ElementProperties, type ElevatorRelationshipFeature, type ElevatorRelationshipFeaturePopulated, type ElevatorRelationshipProperties, type EscalatorRelationshipFeature, type EscalatorRelationshipFeaturePopulated, type EscalatorRelationshipProperties, type EventFeature, type EventProperties, type FeatureId, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindByIdSync, type FindParams, type FindRouteOptions, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, type GetNavigateClientOptions, ID_PREFIX_TO_FEATURE_TYPE, type IMDFUnitCategory, type IMDFVerticalUnitCategory, IMDF_FEATURE_TYPES, IMDF_UNIT_CATEGORIES, type Id, type ImdfFeature, type Instruction, type InstructionTurn, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, type LabelFeature, type LabelGeometry, type LabelProperties, type Landmark, type LandmarkService, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, type NavigatableFeature, type NavigatableParam, type NavigateClient, type NavigateContext, type NeighborMap, type NodeId, type NodeMap, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, type OpeningTypeAndId, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrepareGraphOptions, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RampRelationshipFeature, type RampRelationshipFeaturePopulated, type RampRelationshipProperties, type RelationshipCategories, type RelationshipDirectionTypes, type RelationshipFeature, type RelationshipFeaturePopulated, type RelationshipGeometry, type Route, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type StairRelationshipFeaturePopulated, type StairsRelationshipFeature, type StairsRelationshipProperties, type Step, type StepDescription, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TransalatableString, type TraversalRelationshipFeature, type TraversalRelationshipFeaturePopulated, type TraversalRelationshipProperties, type TurnSide, type UnitAmenities, type UnitDistanceOptions, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitKiosks, type UnitOpenings, type UnitProperties, type UnitTypeAndId, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, type VerticalDistanceOptions, type VerticalUnitCategory, type WalkablePathUtils, type Waypoint, type WaypointSourceType, amenityToLandmark, angleDiff, createFindByIdSync, createInstructionService, createLandmarkService, createNavigateContext, createStepService, createWalkablePathService, createWaypointService, defaultFeatureQueryOptionsMap, describeHorizontalStep, describeLastStep, describeVerticalStep, distanceToWall, fetchDeliveryApi, fetchPreviewApi, findContainingUnit, findContainingUnitAtPoint, getDataClient, getInstructionText, getNavigateClient, getPointOnFeature, getSearchClient, getTurn, matchFilter, matchFilters, mergeStepsByOrdinal, mergeTwoSteps, occupantToLandmark, openingToLandmark, outerRingsToLine, outwardOpeningBearing, prepareGraph, safeFetchFeature, trace, turnSide, unitToLandmark };
@@ -16,7 +16,7 @@ type MediaFile = {
16
16
  width: number;
17
17
  };
18
18
  type Media = MediaFile & {
19
- id: Id;
19
+ id: number;
20
20
  alternativeText: string | null;
21
21
  caption: string | null;
22
22
  createdAt: string;
@@ -160,7 +160,8 @@ type OccupantProperties = EntityTimestamps & {
160
160
  is_featured: boolean;
161
161
  is_landmark: boolean;
162
162
  is_maintenance: boolean;
163
- keywords: string[];
163
+ keywords: string[] | null;
164
+ /** @deprecated Use `main_location` instead. */
164
165
  kiosk_id: Id | null;
165
166
  kiosk_name: string | null;
166
167
  level_id: Id | null;
@@ -168,11 +169,18 @@ type OccupantProperties = EntityTimestamps & {
168
169
  local_category_ids: Id[];
169
170
  local_category_names: string[];
170
171
  logo: Media | null;
172
+ /** Primary location: prefixed unit-id or kiosk-id (e.g. "unit-789", "kiosk-555"). */
173
+ main_location: string | null;
174
+ /** Mixed array of additional unit-ids and kiosk-ids associated with the occupant (e.g. "unit-1", "kiosk-2"). */
175
+ correlated_locations: string[];
176
+ /** Maintenance-mode location: prefixed unit-id or kiosk-id, null when not in temp state. */
177
+ temp_location: string | null;
171
178
  maintenance_end_date: string | null;
172
179
  maintenance_start_date: string | null;
173
180
  name: TransalatableString;
174
181
  phone: string | null;
175
182
  privilege_ids: Id[];
183
+ product_ids: Id[];
176
184
  promotion_ids: Id[];
177
185
  render_priority: number;
178
186
  render_type: string;
@@ -182,17 +190,28 @@ type OccupantProperties = EntityTimestamps & {
182
190
  room_no: string | null;
183
191
  short_name: string | null;
184
192
  start_date: string;
193
+ end_date: string | null;
185
194
  style: SymbolProperties | null;
186
195
  temp_anchor_id: Id | null;
196
+ /** @deprecated Use `temp_location` instead. */
187
197
  temp_kiosk_id: Id | null;
198
+ /** @deprecated Use `temp_location` instead. */
188
199
  temp_unit_id: Id | null;
200
+ /** @deprecated Use `main_location` instead. */
189
201
  unit_id: Id | null;
190
202
  unit_name: string | null;
191
203
  venue_id: Id;
204
+ /** @deprecated Use `correlated_locations` instead. */
192
205
  kiosk_ids: Id[];
206
+ /** @deprecated Use `correlated_locations` instead. */
193
207
  unit_ids: Id[];
194
208
  website_link: string | null;
195
- show_name_on_all_units: boolean;
209
+ deleted_at: string | null;
210
+ show_name_on_all_units: boolean | null;
211
+ synced_at: string | null;
212
+ source_updated_at: string | null;
213
+ reference_id: string | null;
214
+ external_snapshot: Record<string, unknown> | null;
196
215
  reservations?: ExternalLink[];
197
216
  can_reserve?: boolean;
198
217
  display_settings?: {
@@ -292,6 +311,7 @@ type SectionProperties = EntityTimestamps & {
292
311
  gallery: Media[] | null;
293
312
  is_featured: boolean;
294
313
  hours: string | null;
314
+ display_point?: Position | null;
295
315
  [k: string]: any;
296
316
  };
297
317
  type SectionFeature = ImdfFeature<SectionGeometry, SectionProperties, "section">;
@@ -351,15 +371,27 @@ type TaxonomyProperties = EntityTimestamps & {
351
371
  venue_id: Id | null;
352
372
  };
353
373
  type TaxonomyFeature = ImdfFeature<TaxonomyGeometry, TaxonomyProperties>;
354
- type EventGeometry = Polygon;
355
374
  type EventProperties = {
356
- name: string;
357
- ordinal: number;
358
- venue_id: Id;
359
- angle: number;
360
- fontSize: number;
375
+ name: TransalatableString;
376
+ description: TransalatableString;
377
+ start_date: string;
378
+ end_date: string;
379
+ venue_id: string;
380
+ feature_id: string;
381
+ local_category_ids: string[];
382
+ daily_start_time: string;
383
+ cover_image: Media;
384
+ gallery: Media[];
385
+ daily_end_time: string;
386
+ website_link: string | null;
387
+ show_always: boolean;
388
+ venue: VenueFeature;
389
+ feature: AmenityFeature | OccupantFeature;
390
+ local_categories: TaxonomyFeature[];
391
+ local_parent_categories: TaxonomyFeature[];
392
+ local_sub_categories: TaxonomyFeature[];
361
393
  };
362
- type EventFeature = ImdfFeature<EventGeometry, EventProperties>;
394
+ type EventFeature = ImdfFeature<null, EventProperties>;
363
395
  type PromotionProperties = {
364
396
  name: TransalatableString;
365
397
  category: string;
@@ -378,6 +410,11 @@ type PromotionProperties = {
378
410
  updatedAt: string;
379
411
  venue_id: Id;
380
412
  website_link: string | null;
413
+ venue: VenueFeature;
414
+ feature: AmenityFeature | OccupantFeature;
415
+ local_categories: TaxonomyFeature[];
416
+ local_parent_categories: TaxonomyFeature[];
417
+ local_sub_categories: TaxonomyFeature[];
381
418
  };
382
419
  type PromotionFeature = ImdfFeature<null, PromotionProperties>;
383
420
  type PrivilegeGeometry = null;
@@ -422,7 +459,7 @@ type ElementFeature = ImdfFeature<ElementGeometry, ElementProperties>;
422
459
  * Sponsored Content
423
460
  */
424
461
  type SponsoredContentLegacyType = "HOMEPAGE_SPOTLIGHT" | "SCREENSAVER" | "SUGGESTED_BRAND" | "SEARCH_RESULT" | "POPUP_BANNER" | "FOOTER_BANNER" | "RECOMMENDED_EVENT" | "RECOMMENDED_PROMOTION" | "RECOMMENDED_DIRECTORY";
425
- type SponsoredContentPlacementType = "HOMEPAGE_SPOTLIGHT" | "SEARCH_SUGGESTION" | "SEARCH_RESULT" | "LIST_TOPITEM" | "POPUP_BANNER" | "FOOTER_BANNER";
462
+ type SponsoredContentPlacementType = "HOMEPAGE_SPOTLIGHT" | "SEARCH_SUGGESTION" | "SEARCH_RESULT" | "LIST_TOPITEM" | "POPUP_BANNER" | "FOOTER_BANNER" | "SCREENSAVER";
426
463
  type SponsoredContentAttributes = {
427
464
  venue_id: string;
428
465
  project_id: string;
@@ -442,16 +479,14 @@ type SponsoredContentAttributes = {
442
479
  updatedAt: string;
443
480
  publishedAt: string;
444
481
  media?: Media;
445
- locale: string;
482
+ locale?: string;
446
483
  };
447
484
  type SponsoredContentStrapiV4ApiResponse = {
448
485
  id: string;
449
486
  attributes: SponsoredContentAttributes;
450
487
  };
451
488
  /** Parsed for internal use */
452
- type SponsoredContentFeature = SponsoredContentAttributes & {
453
- id: string;
454
- };
489
+ type SponsoredContentFeature = ImdfFeature<null, SponsoredContentAttributes>;
455
490
  type Page = {
456
491
  id: Id;
457
492
  attributes: Record<string, unknown>;
@@ -831,6 +866,7 @@ type UnitDistanceOptions = {
831
866
  };
832
867
  type UnitOpenings = Record<string, OpeningFeature[]>;
833
868
  type UnitKiosks = Record<string, KioskFeature[]>;
869
+ type UnitAmenities = Record<string, AmenityFeature[]>;
834
870
 
835
871
  type PrepareGraphOptions = {
836
872
  data: {
@@ -842,6 +878,7 @@ type PrepareGraphOptions = {
842
878
  kiosks?: KioskFeature[];
843
879
  anchors?: AnchorFeature[];
844
880
  amenities?: AmenityFeature[];
881
+ sections?: SectionFeature[];
845
882
  };
846
883
  unitDistanceOptions?: Partial<UnitDistanceOptions>;
847
884
  };
@@ -885,7 +922,7 @@ declare const amenityToLandmark: (amenity: AmenityFeature, findByIdSync: FindByI
885
922
  * Start ----( step )---- Waypoint ----( step )---- Waypoint ----( step )---- End
886
923
  *
887
924
  */
888
- type WaypointSourceType = "opening" | "kiosk" | "amenity" | "anchor" | "coordinate";
925
+ type WaypointSourceType = "opening" | "kiosk" | "amenity" | "anchor" | "coordinate" | "section";
889
926
  type Waypoint = {
890
927
  id?: string;
891
928
  type: 'start' | 'end' | 'between';
@@ -893,6 +930,7 @@ type Waypoint = {
893
930
  ordinal: number | null;
894
931
  point: Position;
895
932
  name: TransalatableString | null;
933
+ checkpoint?: boolean;
896
934
  source: {
897
935
  type: "occupant";
898
936
  id: string;
@@ -911,6 +949,9 @@ type Waypoint = {
911
949
  } | {
912
950
  type: "coordinate";
913
951
  raw: string;
952
+ } | {
953
+ type: "section";
954
+ id: string;
914
955
  };
915
956
  };
916
957
 
@@ -971,6 +1012,7 @@ type GetNavigateClientOptions = {
971
1012
  occupants?: OccupantFeature[];
972
1013
  openings: OpeningFeature[];
973
1014
  relationships: RelationshipFeature[];
1015
+ sections?: SectionFeature[];
974
1016
  units: UnitFeature[];
975
1017
  };
976
1018
  unitDistanceOptions?: Partial<UnitDistanceOptions>;
@@ -986,6 +1028,7 @@ type NavigateContext = {
986
1028
  occupants?: OccupantFeature[];
987
1029
  openings: OpeningFeature[];
988
1030
  relationships: RelationshipFeature[];
1031
+ sections?: SectionFeature[];
989
1032
  units: UnitFeature[];
990
1033
  };
991
1034
  findByIdSync: FindByIdSync;
@@ -1040,6 +1083,7 @@ interface FeatureQueryOptions {
1040
1083
  cacheTime?: number;
1041
1084
  enabled?: boolean;
1042
1085
  retry?: boolean | number;
1086
+ refetchOnWindowFocus?: boolean;
1043
1087
  }
1044
1088
  type InternalFindById = <T extends FeatureType>(id: Id) => Promise<FeatureResponseMap[T]>;
1045
1089
  type InternalFilterByType = <T extends FeatureType>(featureType: T) => Promise<FeatureResponseMap[T][]>;
@@ -1064,6 +1108,7 @@ declare const IMDF_UNIT_CATEGORIES: readonly ["auditorium", "brick", "classroom"
1064
1108
  declare const NONIMDF_FEATURE_TYPES: FeatureType[];
1065
1109
  declare const GEOJSON_FEATURE_TYPES: FeatureType[];
1066
1110
  declare const ALL_FEATURE_TYPES: FeatureType[];
1111
+ declare const ID_PREFIX_TO_FEATURE_TYPE: Record<string, FeatureType>;
1067
1112
  declare const defaultFeatureQueryOptionsMap: Record<FeatureType, FeatureQueryOptions>;
1068
1113
 
1069
1114
  type IMDFUnitCategory = typeof IMDF_UNIT_CATEGORIES[number];
@@ -1071,9 +1116,16 @@ type IMDFUnitCategory = typeof IMDF_UNIT_CATEGORIES[number];
1071
1116
  declare function matchFilter(value: Value | Value[], filter: Filter): boolean;
1072
1117
  declare function matchFilters<T extends Record<string, any>>(item: T, filters: Filters): boolean;
1073
1118
 
1074
- declare const findContainingUnit: (poi: KioskFeature | AmenityFeature, units: UnitFeature[]) => UnitFeature | null;
1119
+ declare const findContainingUnit: (poi: KioskFeature | AmenityFeature | SectionFeature, units: UnitFeature[]) => UnitFeature | null;
1075
1120
  declare const findContainingUnitAtPoint: (point: Position, levelId: string, units: UnitFeature[]) => UnitFeature | null;
1076
1121
 
1122
+ /**
1123
+ * Returns a Point guaranteed to lie on/within the polygon's geometry.
1124
+ * Uses centroid when it falls inside; falls back to pointOnFeature for
1125
+ * concave or multi-polygon shapes where the centroid may be outside.
1126
+ */
1127
+ declare const getPointOnFeature: (feature: Feature<Polygon | MultiPolygon>) => Feature<Point>;
1128
+
1077
1129
  declare const trace: (namespace: string, text: string, ms?: number, color?: string) => void;
1078
1130
 
1079
1131
  declare const getOccupantMainLocation: (occupant: OccupantFeaturePopulated) => UnitFeaturePopulated | KioskFeaturePopulated;
@@ -1159,12 +1211,13 @@ declare const describeVerticalStep: (fromLevel: LevelFeature, toLevel: LevelFeat
1159
1211
  };
1160
1212
  };
1161
1213
  /**
1162
- * "To traverse": "Follow the path heading toward <toward>{{toward}}</toward>",
1163
- * "To traverse on walkway": "Follow the path along the walkway",
1164
- * "To traverse on walkway toward": "Follow the path along the walkway toward <toward>{{toward}}</toward>",
1165
- * "To traverse toward": "Follow the path toward <toward>{{toward}}</toward>",
1166
- * "To traverse toward with landmark": "Follow the path toward <toward>{{toward}}</toward> near <landmark>{{landmark}}</landmark>",
1167
- * "To destination": "Head to your destination.",
1214
+ * "Follow the path along the walkway"
1215
+ * "Follow the path along the walkway toward {{toward}}"
1216
+ * "Follow the path along the walkway near {{landmark}}"
1217
+ * "Follow the path through {{intermediary}}"
1218
+ * "Follow the path through {{intermediary}} toward {{toward}}"
1219
+ * "Follow the path through {{intermediary}} near {{landmark}}"
1220
+ * "Follow the path near {{landmark}}" — when intermediary is null/empty
1168
1221
  */
1169
1222
  declare const describeHorizontalStep: (intermediary: string, toward?: TransalatableString, landmark?: TransalatableString) => StepDescription;
1170
1223
  declare const describeLastStep: () => {
@@ -1195,4 +1248,4 @@ declare const createWalkablePathService: (ctx: NavigateContext, options?: {
1195
1248
  resolution: number;
1196
1249
  }) => WalkablePathUtils;
1197
1250
 
1198
- export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, type AngleDirection, type AnyRelationshipFeature, type BaseRelationshipProperties, type CoordinateOrdinalString, type CreateStepUtilsOptions, DEFAULT_BASE_URL, type DescribableFeature, type DetailFeature, type DetailGeometry, type DetailProperties, type DistanceOptions, type ElementFeature, type ElementGeometry, type ElementProperties, type ElevatorRelationshipFeature, type ElevatorRelationshipFeaturePopulated, type ElevatorRelationshipProperties, type EscalatorRelationshipFeature, type EscalatorRelationshipFeaturePopulated, type EscalatorRelationshipProperties, type EventFeature, type EventGeometry, type EventProperties, type FeatureId, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindByIdSync, type FindParams, type FindRouteOptions, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, type GetNavigateClientOptions, type IMDFUnitCategory, type IMDFVerticalUnitCategory, IMDF_FEATURE_TYPES, IMDF_UNIT_CATEGORIES, type Id, type ImdfFeature, type Instruction, type InstructionTurn, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, type LabelFeature, type LabelGeometry, type LabelProperties, type Landmark, type LandmarkService, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, type NavigatableFeature, type NavigatableParam, type NavigateClient, type NavigateContext, type NeighborMap, type NodeId, type NodeMap, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, type OpeningTypeAndId, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrepareGraphOptions, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RampRelationshipFeature, type RampRelationshipFeaturePopulated, type RampRelationshipProperties, type RelationshipCategories, type RelationshipDirectionTypes, type RelationshipFeature, type RelationshipFeaturePopulated, type RelationshipGeometry, type Route, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type StairRelationshipFeaturePopulated, type StairsRelationshipFeature, type StairsRelationshipProperties, type Step, type StepDescription, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TransalatableString, type TraversalRelationshipFeature, type TraversalRelationshipFeaturePopulated, type TraversalRelationshipProperties, type TurnSide, type UnitDistanceOptions, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitKiosks, type UnitOpenings, type UnitProperties, type UnitTypeAndId, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, type VerticalDistanceOptions, type VerticalUnitCategory, type WalkablePathUtils, type Waypoint, type WaypointSourceType, amenityToLandmark, angleDiff, createFindByIdSync, createInstructionService, createLandmarkService, createNavigateContext, createStepService, createWalkablePathService, createWaypointService, defaultFeatureQueryOptionsMap, describeHorizontalStep, describeLastStep, describeVerticalStep, distanceToWall, fetchDeliveryApi, fetchPreviewApi, findContainingUnit, findContainingUnitAtPoint, getDataClient, getInstructionText, getNavigateClient, getSearchClient, getTurn, matchFilter, matchFilters, mergeStepsByOrdinal, mergeTwoSteps, occupantToLandmark, openingToLandmark, outerRingsToLine, outwardOpeningBearing, prepareGraph, safeFetchFeature, trace, turnSide, unitToLandmark };
1251
+ export { ALL_FEATURE_TYPES, type AmenityFeature, type AmenityFeaturePopulated, type AmenityGeometry, type AmenityProperties, type AnchorFeature, type AnchorFeaturePopulated, type AnchorGeometry, type AnchorProperties, type AngleDirection, type AnyRelationshipFeature, type BaseRelationshipProperties, type CoordinateOrdinalString, type CreateStepUtilsOptions, DEFAULT_BASE_URL, type DescribableFeature, type DetailFeature, type DetailGeometry, type DetailProperties, type DistanceOptions, type ElementFeature, type ElementGeometry, type ElementProperties, type ElevatorRelationshipFeature, type ElevatorRelationshipFeaturePopulated, type ElevatorRelationshipProperties, type EscalatorRelationshipFeature, type EscalatorRelationshipFeaturePopulated, type EscalatorRelationshipProperties, type EventFeature, type EventProperties, type FeatureId, type FeaturePopulatedResponseMap, type FeatureQueryOptions, type FeatureResponseMap, type FeatureType, type FilterParams, type FindByIdSync, type FindParams, type FindRouteOptions, type FixtureFeature, type FixtureFeaturePopulated, type FixtureGeometry, type FixtureProperties, GEOJSON_FEATURE_TYPES, type GetNavigateClientOptions, ID_PREFIX_TO_FEATURE_TYPE, type IMDFUnitCategory, type IMDFVerticalUnitCategory, IMDF_FEATURE_TYPES, IMDF_UNIT_CATEGORIES, type Id, type ImdfFeature, type Instruction, type InstructionTurn, type InternalFilterByType, type InternalFindById, type KioskFeature, type KioskFeaturePopulated, type KioskGeometry, type KioskProperties, type LabelFeature, type LabelGeometry, type LabelProperties, type Landmark, type LandmarkService, type LevelFeature, type LevelFeaturePopulated, type LevelGeometry, type LevelProperties, type Media, type MediaFile, type Model3d, type Model3dFeature, type Model3dGeometry, type Model3dPopulated, type Model3dProperties, NONIMDF_FEATURE_TYPES, type NavigatableFeature, type NavigatableParam, type NavigateClient, type NavigateContext, type NeighborMap, type NodeId, type NodeMap, type OccupantFeature, type OccupantFeaturePopulated, type OccupantGeometry, occupantHelper as OccupantHelpers, type OccupantProperties, type OpeningFeature, type OpeningFeaturePopulated, type OpeningGeometry, type OpeningProperties, type OpeningTypeAndId, type Page, type PolygonalFeature, type PopulatableFeatureType, type PopulatedParams, type PrepareGraphOptions, type PrivilegeFeature, type PrivilegeGeometry, type PrivilegeProperties, type PromotionFeature, type PromotionProperties, type RampRelationshipFeature, type RampRelationshipFeaturePopulated, type RampRelationshipProperties, type RelationshipCategories, type RelationshipDirectionTypes, type RelationshipFeature, type RelationshipFeaturePopulated, type RelationshipGeometry, type Route, type SearchClient, type SectionFeature, type SectionFeaturePopulated, type SectionGeometry, type SectionProperties, type SingleGeometry, type SponsoredContentFeature, type SponsoredContentLegacyType, type SponsoredContentPlacementType, type SponsoredContentStrapiV4ApiResponse, type StairRelationshipFeaturePopulated, type StairsRelationshipFeature, type StairsRelationshipProperties, type Step, type StepDescription, type TaxonomyFeature, type TaxonomyFeaturePopulated, type TaxonomyGeometry, type TaxonomyProperties, type TransalatableString, type TraversalRelationshipFeature, type TraversalRelationshipFeaturePopulated, type TraversalRelationshipProperties, type TurnSide, type UnitAmenities, type UnitDistanceOptions, type UnitFeature, type UnitFeaturePopulated, type UnitGeometry, type UnitKiosks, type UnitOpenings, type UnitProperties, type UnitTypeAndId, type VenueClientOptions, type VenueDataClient, type VenueFeature, type VenueFeaturePopulated, type VenueGeometry, type VenueProperties, type VerticalDistanceOptions, type VerticalUnitCategory, type WalkablePathUtils, type Waypoint, type WaypointSourceType, amenityToLandmark, angleDiff, createFindByIdSync, createInstructionService, createLandmarkService, createNavigateContext, createStepService, createWalkablePathService, createWaypointService, defaultFeatureQueryOptionsMap, describeHorizontalStep, describeLastStep, describeVerticalStep, distanceToWall, fetchDeliveryApi, fetchPreviewApi, findContainingUnit, findContainingUnitAtPoint, getDataClient, getInstructionText, getNavigateClient, getPointOnFeature, getSearchClient, getTurn, matchFilter, matchFilters, mergeStepsByOrdinal, mergeTwoSteps, occupantToLandmark, openingToLandmark, outerRingsToLine, outwardOpeningBearing, prepareGraph, safeFetchFeature, trace, turnSide, unitToLandmark };