### Address JSON Examples Source: https://register.apple.com/resources/imdf/types/address Examples of unqualified and unit-qualified address objects. ```json # unqualified building address { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "address", "geometry": null, "properties": { "address": "123 E. Main Street", "unit": null, "locality": "Anytown", "province": "US-CA", "country": "US", "postal_code": "12345", "postal_code_ext": "1111" } }, # unit-qualified address { "id": "22222222-2222-2222-2222-222222222222", "type": "Feature", "feature_type": "address", "geometry": null, "properties": { "address": "123 E. Main Street", "unit": "1A", "locality": "Anytown", "province": "US-CA", "country": "US", "postal_code": "12345", "postal_code_ext": "1111" } }, ... ``` -------------------------------- ### IMDF Manifest JSON Example Source: https://register.apple.com/resources/imdf/apple/apple_guidance Example of a valid IMDF manifest file including the mandatory origin property for tracking re-exported archives. ```json { "version": "1.0.0", "created": "2020-09-09T12:34:56", "generated_by": "FME 2019.0 b19238", "language": "en-US", "extensions": [ "imdf:extension:big-company:internal#1.0.0" ], "origin": "03a2113f-8296-4f64-b089-c512ffc6d5fb" } ``` -------------------------------- ### Venue Address Example Source: https://register.apple.com/resources/imdf/types/address Example of an address object for a venue that does not possess a street address. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "address", "geometry": null, "properties": { "address": "Buckingham Palace", "unit": null, "locality": "London", "province": "GB-ENG", "country": "GB", "postal_code": "SW1A 1AA", "postal_code_ext": null } }, ... ``` -------------------------------- ### Geofence JSON Object Example Source: https://register.apple.com/resources/imdf/types/geofence A complete example of a Geofence feature object including geometry and properties. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "geofence", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "geofence", "restriction": "employeesonly", "name": { "en": "Employee Parking" }, "alt_name": null, "correlation_id": null, "display_point": { "type": "Point", "coordinates": [100.0, 0.0] }, "building_ids": ["2222222-2222-2222-2222-222222222222"], "level_ids": [ "33333333-3333-3333-3333-333333333333", "44444444-4444-4444-4444-444444444444" ], "parents": null } } ``` -------------------------------- ### Declare Extension in Manifest Source: https://register.apple.com/resources/imdf/reference/extensions Example of including an extension identifier within the extensions array of an IMDF manifest. ```json { "version": "1.0.0", "created": "2020-09-09T12:34:56", "language": "en-US", "generated_by": null, "extensions": [ "imdf:extension:big-company:internal#1.0.0" ] } ``` -------------------------------- ### Fixture Feature JSON Example Source: https://register.apple.com/resources/imdf/types/fixture A standard JSON representation of a Fixture feature including required properties and geometry. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "fixture", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "desk", "name": null, "alt_name": null, "anchor_id": null, "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "level_id": "2222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Define a Venue Feature Source: https://register.apple.com/resources/imdf/types/venue Example of a JSON object representing a Venue feature with required properties and geometry. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "venue", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "shoppingcenter", "restriction": null, "name": { "en": "Test Venue" }, "alt_name": null, "hours": "Mo-Fr 08:30-20:00", "website": "http://example.com", "phone": "+12225551212", "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "address_id": "22222222-2222-2222-2222-222222222222", } } ``` -------------------------------- ### Define a Section Feature Source: https://register.apple.com/resources/imdf/types/section Example of a valid Section feature object including required geometry and property fields. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "section", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "parking", "restriction": "restricted", "accessibility": "wheelchair", "name": { "en": "Parking" }, "alt_name": null, "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "level_id": "22222223-2222-2222-2222-222222222222", "address_id": null, "correlation_id": null, "parents": ["44444444-4444-4444-4444-444444444444"] } } ``` -------------------------------- ### Opening Feature JSON Object Source: https://register.apple.com/resources/imdf/types/opening A complete example of an Opening feature object, including required geometry and optional property fields. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "opening", "geometry": { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }, "properties": { "category": "pedestrian", "accessibility": [ "wheelchair", "tactilepaving" ], "access_control": [ "badgereader" ], "door": { "automatic": true, "material": "glass", "type": "sliding" }, "name": { "en": "Door A" }, "alt_name": null, "display_point": null, "level_id": "22222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Kiosk Feature JSON Example Source: https://register.apple.com/resources/imdf/types/kiosk A standard JSON representation of a Kiosk feature including required geometry and property fields. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "kiosk", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "name": null, "alt_name": null, "anchor_id": null, "display_point": null, "level_id": "2222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Define a Door object Source: https://register.apple.com/resources/imdf/reference/type_designators Example of a JSON object representing a door with type, automatic status, and material properties. ```json { "type": "sliding", "automatic": true, "material": "glass" } ``` -------------------------------- ### Occupant JSON Object Example Source: https://register.apple.com/resources/imdf/types/occupant A standard JSON representation of an Occupant feature, including required fields and property attributes. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "occupant", "geometry": null, "properties": { "category": "restaurant", "name": { "en": "Example Restaurant" }, "phone": "+12225551212", "website": "http://example.com", "hours": "Mo-Fr 08:30-20:00", "validity" : { "start": "2018-03-01T00:00:00+05:00", "end": "2018-10-01T11:59:59+05:00", "modified": "2018-01-01T12:34:56+05:00" }, "anchor_id": "22222222-2222-2222-2222-222222222222", "correlation_id": null } } ``` -------------------------------- ### Define a Feature reference Source: https://register.apple.com/resources/imdf/reference/type_designators Example of a JSON object used to reference a feature using its ID and feature type. ```json { "id": "11111111-1111-1111-1111-111111111111", "feature_type": "unit" } ``` -------------------------------- ### Apply Extension Property to Unit Feature Source: https://register.apple.com/resources/imdf/reference/extensions Example of a Unit feature utilizing a custom 'office_id' property defined by an extension. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "unit", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "office", "office_id": "O-72551", "restriction": null, "accessibility": null, "name": { "en": "Ball Room" }, "alt_name": null, "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "level_id": "22222223-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Relationship Feature JSON Structure Source: https://register.apple.com/resources/imdf/types/relationship Example of a directed relationship between two units via an opening. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "unit" }, "intermediary": [{ "id": "33333333-3333-3333-3333-333333333333", "feature_type": "opening" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` -------------------------------- ### Define Entity Labels Source: https://register.apple.com/resources/imdf/reference/type_designators Examples of JSON objects used to capture lexical labels for entities across multiple languages. ```json { "en": "red", "es": "rojo", "fi": "punainen", "fr": "rouge", "it": "rosso", "jp": "赤" } ``` ```json { "en-US": "Center Pavillion", "en-GB": "Centre Pavillion" } ``` -------------------------------- ### Amenity JSON Object Example Source: https://register.apple.com/resources/imdf/types/amenity A standard JSON representation of an Amenity feature, including required geometry and property fields. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "amenity", "geometry": { "type": "Point", "coordinates": [1.0, 2.0] }, "properties": { "category": "phone", "accessibility": ["tdd", "trs"], "name": null, "alt_name": null, "phone": null, "website": null, "hours": null, "unit_ids": ["22222222-2222-2222-2222-222222222222"], "address_id": null, "correlation_id": null } } ``` -------------------------------- ### Define an IMDF Level feature object Source: https://register.apple.com/resources/imdf/types/level Example of a valid Level feature object including required geometry and properties. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "level", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "parking", "restriction": null, "ordinal": 0, "outdoor": false, "name": { "en": "Ground Floor" }, "short_name": { "en": "1" }, "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "address_id": null, "building_ids": ["2222222-2222-2222-2222-222222222222"] } } ``` -------------------------------- ### Anchor JSON Object Example Source: https://register.apple.com/resources/imdf/types/anchor A standard representation of an Anchor feature including required ID, type, geometry, and property references. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "anchor", "geometry": { "type": "Point", "coordinates": [1.0, 2.0] }, "properties": { "address_id": "22222222-2222-2222-2222-222222222222", "unit_id": "33333333-3333-3333-3333-333333333333" } } ``` -------------------------------- ### Detail Feature JSON Structure Source: https://register.apple.com/resources/imdf/types/detail Example of a valid Detail feature object including the required ID, feature type, geometry, and level_id property. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "detail", "geometry": { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }, "properties": { "level_id": "22222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Define Temporality Object Source: https://register.apple.com/resources/imdf/reference/type_designators Example of a JSON object representing temporal availability using ISO-8601 formatted date-time strings. ```json { "start": "2018-06-01T00:00:00+05:00", "end": "2018-12-31T11:59:59+05:00", "modified": "2018-03-01T12:34:56+05:00" } ``` -------------------------------- ### Multiple Undirected Ramp Relationships Source: https://register.apple.com/resources/imdf/types/relationship Demonstrates capturing multiple distinct undirected ramp relationships separately when an origin connects to multiple destinations. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "ramp", "direction": "undirected", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` ```json { "id": "99999999-9999-9999-9999-999999999999", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "ramp", "direction": "undirected", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "77777777-7777-7777-7777-777777777777", "feature_type": "opening" } } } ``` -------------------------------- ### Model an accessible Opening feature Source: https://register.apple.com/resources/imdf/glossary Represents an Opening feature configured for wheelchair accessibility. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "opening", "geometry": { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }, "properties": { "category": "pedestrian.principal", "accessibility": [ "wheelchair"], "door": { "automatic": true, "material": "glass", "type": "revolving", }, "name": { "en": null, "alt_name": null, "display_point": null, "level_id": "22222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Building Feature JSON Object Source: https://register.apple.com/resources/imdf/types/building Represents a standard Building feature record with required and optional properties. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "building", "geometry": null, "properties": { "category": "parking", "restriction": "employeesonly", "name": { "en": "Parking Garage 1" }, "alt_name": null, "display_point": { "type": "Point", "coordinates": [1.0, 2.0] }, "address_id": "2222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Model an Opening feature with a revolving door Source: https://register.apple.com/resources/imdf/glossary Represents an Opening feature using a LineString geometry and a revolving door property configuration. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "opening", "geometry": { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }, "properties": { "category": "pedestrian.principal", "accessibility": null, "door": { "automatic": true, "material": "glass", "type": "revolving", }, "name": { "en": "7" }, "alt_name": null, "display_point": null, "level_id": "22222222-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Define an IMDF manifest object Source: https://register.apple.com/resources/imdf/manifest A standard manifest.json structure containing required metadata fields for an IMDF archive. ```json { "version": "1.0.0", "created": "2020-09-09T12:34:56", "generated_by": "FME 2019.0 b19238", "language": "en-US", "extensions": [ "imdf:extension:big-company:internal#1.0.0" ] } ``` -------------------------------- ### Escalator Relationship Data Structures Source: https://register.apple.com/resources/imdf/types/relationship JSON representations of escalator relationships under various operational scenarios. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "escalator", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "escalator", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" }, { "id": "77777777-7777-7777-7777-777777777777", "feature_type": "unit" }, { "id": "88888888-8888-8888-8888-888888888888", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "escalator", "direction": "directed", "hours": "Mo-Su 05:00-11:59", "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "escalator", "direction": "directed", "hours": "Mo-Su 12:00-04:59", "origin": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" } } } ``` -------------------------------- ### Define Multi-Step Traversal Relationships Source: https://register.apple.com/resources/imdf/types/relationship Represents a traversal path involving multiple intermediaries, where each segment is captured as a separate relationship record. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "unit" }, "intermediary": [{ "id": "33333333-3333-3333-3333-333333333333", "feature_type": "opening" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` ```json { "id": "99999999-9999-9999-9999-999999999999", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "unit" }, "intermediary": [{ "id": "55555555-5555-5555-5555-555555555555", "feature_type": "opening" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` -------------------------------- ### Define a Ground Level Footprint Source: https://register.apple.com/resources/imdf/types/footprint Represents a single building footprint at ground level using a Polygon geometry. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "footprint", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "ground", "name": null, "building_ids": ["22222222-2222-2222-2222-222222222222"] } } ``` -------------------------------- ### Define Unidirectional Traversal from Unit to Outside Source: https://register.apple.com/resources/imdf/types/relationship Use this structure for directed traversal from an origin unit to a location outside the map scope via an opening. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "unit" }, "intermediary": [{ "id": "33333333-3333-3333-3333-333333333333", "feature_type": "opening" }], "destination": null } } ``` -------------------------------- ### Undirected Ramp Relationship Source: https://register.apple.com/resources/imdf/types/relationship Defines a two-way ramp relationship between two openings. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "ramp", "direction": "undirected", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` -------------------------------- ### Elevator Relationship Data Structure Source: https://register.apple.com/resources/imdf/types/relationship Represents a vertical traversal capability between levels using an undirected relationship with elevator units as intermediaries. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "elevator", "direction": "undirected", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "unit" }, "intermediary": [{ "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` -------------------------------- ### Unit Feature JSON Object Source: https://register.apple.com/resources/imdf/types/unit A standard representation of a Unit feature, including required geometry and property fields. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "unit", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "category": "room", "restriction": null, "accessibility": null, "name": { "en": "Ball Room" }, "alt_name": null, "display_point": { "type": "Point", "coordinates": [ 100.0, 1.0 ], }, "level_id": "22222223-2222-2222-2222-222222222222" } } ``` -------------------------------- ### Define Bidirectional Traversal between Outside and Unit Source: https://register.apple.com/resources/imdf/types/relationship Use this structure for undirected traversal between a unit and a location outside the map scope via an opening. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "undirected", "hours": null, "origin": null, "intermediary": [{ "id": "33333333-3333-3333-3333-333333333333", "feature_type": "opening" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` -------------------------------- ### Directed Ramp Relationship Source: https://register.apple.com/resources/imdf/types/relationship Defines a one-way ramp relationship between two openings with intermediary units. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "ramp", "direction": "directed", "hours": null, "origin": { "id": "22222222-2222-2222-2222-222222222222", "feature_type": "opening" }, "intermediary": [ { "id": "55555555-5555-5555-5555-555555555555", "feature_type": "unit" }, { "id": "66666666-6666-6666-6666-666666666666", "feature_type": "unit" } ], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "opening" } } } ``` -------------------------------- ### Define Extension Identifier ABNF Source: https://register.apple.com/resources/imdf/reference/extensions The ABNF rule for constructing valid IMDF extension identifier strings. ```text extension_identifier = "imdf:extension:" provider ":" name "#" version extension_part = (ALPHA / DIGIT) [ *VALIDCHAR (ALPHA / DIGIT) ] provider = extension_part name = extension_part version = extension_part VALIDCHAR = ALPHA / DIGIT / "." / "-" / "_" ``` -------------------------------- ### Define Unidirectional Traversal from Outside to Unit Source: https://register.apple.com/resources/imdf/types/relationship Use this structure for directed traversal from outside the map scope to a destination unit via an opening. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "relationship", "geometry": null, "properties": { "category": "traversal", "direction": "directed", "hours": null, "origin": null, "intermediary": [{ "id": "33333333-3333-3333-3333-333333333333", "feature_type": "opening" }], "destination": { "id": "44444444-4444-4444-4444-444444444444", "feature_type": "unit" } } } ``` -------------------------------- ### Define a Composite Aerial Footprint Source: https://register.apple.com/resources/imdf/types/footprint Represents an aerial footprint associated with multiple buildings using a MultiPolygon geometry. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "footprint", "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [180.0, 40.0], [180.0, 50.0], [170.0, 50.0], [170.0, 40.0], [180.0, 40.0] ] ], [ [ [-170.0, 40.0], [-170.0, 50.0], [-180.0, 50.0], [-180.0, 40.0], [-170.0, 40.0] ] ] ] }, "properties": { "category": "aerial", "name": { "en": "East Wing" }, "building_ids": [ "22222222-2222-2222-2222-222222222222", "33333333-3333-3333-3333-333333333333" ] } } ``` -------------------------------- ### Shared Correlation ID for Occupant Business Entities Source: https://register.apple.com/resources/imdf/glossary Occupant features representing the same business entity across multiple floors sharing a correlation_id. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "occupant", "geometry": null, "properties": { "category": "cinema", "name": { "en": "Regal Solomon Pond Stadium 15" }, "phone": "+12225551212", "website": "http://example.com", "hours": "Mo-Fr 08:30-20:00", "anchor_id": "22222222-2222-2222-2222-222222222222" "correlation_id": "44444444-4444-4444-4444-444444444444" } } ``` ```json { "id": "55555555-5555-5555-5555-555555555555", "type": "Feature", "feature_type": "occupant", "geometry": null, "properties": { "category": "cinema", "name": { "en": "Regal Solomon Pond Stadium 15" }, "phone": "+12225551212", "website": "http://example.com", "hours": "Mo-Fr 08:30-20:00", "validity" : { "start": "2018-03-01", "end": "2020-10-01", "modified": "2018-01-01T12:34:56" }, "anchor_id": "66666666-6666-6666-6666-666666666666" "correlation_id": "44444444-4444-4444-4444-444444444444" } } ``` -------------------------------- ### Shared Correlation ID for Parking Amenities Source: https://register.apple.com/resources/imdf/glossary Two amenity features sharing the same correlation_id to represent the same service across different floors. ```json { "id": "11111111-1111-1111-1111-111111111111", "type": "Feature", "feature_type": "amenity", "geometry": { "type": "Point", "coordinates": [1.0, 2.0] }, "properties": { "category": "parking", "accessibility": null, "name": null, "alt_name": null, "phone": null, "website": null, "hours": null, "unit_ids": "22222222-2222-2222-2222-222222222222", "address_id": null, "correlation_id": "33333333-3333-3333-3333-3333333333333" } } ``` ```json { "id": "44444444-4444-4444-4444-444444444444", "type": "Feature", "feature_type": "amenity", "geometry": { "type": "Point", "coordinates": [1.0, 2.0] }, "properties": { "category": "parking", "accessibility": null, "name": null, "alt_name": null, "phone": null, "website": null, "hours": null, "unit_ids": "66666666-6666-6666-6666-666666666666", "address_id": null, "correlation_id": "33333333-3333-3333-3333-3333333333333" } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.