One Logo Pool Ball
AppIntents · IOS API REFERENCE

AppSchema.MapsEntity

protocol · iOS 27.0+ · SDK 27.1

protocol MapsEntity : AppSchema.Kind

Identifies entity schemas in the maps domain.

Members (6)

get · iOS 27.0+

operatingHours

Swift declaration
var operatingHours: some AppSchemaEntity { get }

An entity schema for an operating hours. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `operatingHours` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.operatingHours)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `operatingHours` schema: ```swift @AppEntity(schema: .maps.operatingHours) struct MapsOperatingHoursEntity { // MARK: Static static let defaultQuery = MapsOperatingHoursEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var monday: [<#MapsOperatingTimeRangeEntity#>] var tuesday: [<#MapsOperatingTimeRangeEntity#>] var wednesday: [<#MapsOperatingTimeRangeEntity#>] var thursday: [<#MapsOperatingTimeRangeEntity#>] var friday: [<#MapsOperatingTimeRangeEntity#>] var saturday: [<#MapsOperatingTimeRangeEntity#>] var sunday: [<#MapsOperatingTimeRangeEntity#>] var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsOperatingHoursEntityQuery: EntityQuery { func entities(for identifiers: [MapsOperatingHoursEntity.ID]) async throws -> [MapsOperatingHoursEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 27.0+

currentLocation

Swift declaration
var currentLocation: some AppSchemaEntity { get }

An entity schema for a current location. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `currentLocation` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.currentLocation)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `currentLocation` schema: ```swift @AppEntity(schema: .maps.currentLocation) struct MapsCurrentLocationEntity { // MARK: Static static let defaultQuery = MapsCurrentLocationEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsCurrentLocationEntityQuery: EntityQuery { func entities(for identifiers: [MapsCurrentLocationEntity.ID]) async throws -> [MapsCurrentLocationEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 27.0+

navigationSession

Swift declaration
var navigationSession: some AppSchemaEntity { get }

An entity schema for a navigation session. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `navigationSession` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.navigationSession)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `navigationSession` schema: ```swift @AppEntity(schema: .maps.navigationSession) struct MapsNavigationSessionEntity: UniqueEntity { // MARK: Static static let defaultQuery = MapsNavigationSessionEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var estimatedArrivalDate: Date var waypoints: [<#MapsLocation#>] var transportationType: <#MapsTransportTypeEnum#> var preferences: [<#MapsNavigationPreferencesEnum#>] var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsNavigationSessionEntityQuery: EntityQuery { func entities(for identifiers: [MapsNavigationSessionEntity.ID]) async throws -> [MapsNavigationSessionEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 27.0+

operatingTimeRange

Swift declaration
var operatingTimeRange: some AppSchemaEntity { get }

An entity schema for an operating time range. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `operatingTimeRange` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.operatingTimeRange)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `operatingTimeRange` schema: ```swift @AppEntity(schema: .maps.operatingTimeRange) struct MapsOperatingTimeRangeEntity { // MARK: Static static let defaultQuery = MapsOperatingTimeRangeEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var startTime: DateComponents var endTime: DateComponents var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsOperatingTimeRangeEntityQuery: EntityQuery { func entities(for identifiers: [MapsOperatingTimeRangeEntity.ID]) async throws -> [MapsOperatingTimeRangeEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 27.0+

place

Swift declaration
var place: some AppSchemaEntity { get }

An entity schema for a place. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `place` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.place)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `place` schema: ```swift @AppEntity(schema: .maps.place) struct MapsPlaceEntity { // MARK: Static static let defaultQuery = MapsPlaceEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var place: GeoToolbox.PlaceDescriptor var name: String? var categories: [String] var operatingStatus: <#MapsOperatingStatusEnum#>? var operatingHours: <#MapsOperatingHoursEntity#>? var phoneNumber: String? var priceRange: <#MapsPriceRangeEnum#>? var ratings: [<#MapsRating#>] var amenities: [String] var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsPlaceEntityQuery: EntityQuery { func entities(for identifiers: [MapsPlaceEntity.ID]) async throws -> [MapsPlaceEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 27.0+

rating

Swift declaration
var rating: some AppSchemaEntity { get }

An entity schema for a rating. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `maps` domain and its content matches the `rating` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .maps.rating)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `rating` schema: ```swift @AppEntity(schema: .maps.rating) struct MapsRating { // MARK: Static static let defaultQuery = MapsRatingQuery() // MARK: Properties let id: <#Identifiable.ID#> var value: Double var descriptor: <#MapsRatingDescriptor#> var count: Int? var provider: String var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct MapsRatingQuery: EntityQuery { func entities(for identifiers: [MapsRating.ID]) async throws -> [MapsRating] { <#code#> } } } ``` The schema supports the following system experiences: - Siri - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

Skipped declarations

No declarations were skipped in this snapshot.

All AppIntents types →