An entity schema for an event.
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 `calendar` domain
and its content matches the `event` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .calendar.event)` 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 `event` schema:
```swift
@AppEntity(schema: .calendar.event)
struct EventEntity {
// MARK: Static
static let defaultQuery = EventEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var calendar: <#CalendarEntity#>
var title: String
var startDate: Date
var endDate: Date
var isAllDay: Bool
var recurrence: Calendar.RecurrenceRule?
var note: AttributedString?
var travelTime: Duration?
var location: <#EventLocation#>?
var virtualLocation: URL?
var status: <#EventEntityStatus#>?
var alarms: [<#EventAlarm#>]
var organizers: [IntentPerson]
var attendees: [<#AttendeeEntity#>]
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct EventEntityQuery: EntityQuery {
func entities(for identifiers: [EventEntity.ID]) async throws -> [EventEntity] {
<#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+
attendee
Swift declaration
var attendee: some AppSchemaEntity { get }
An entity schema for an attendee.
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 `calendar` domain
and its content matches the `attendee` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .calendar.attendee)` 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 `attendee` schema:
```swift
@AppEntity(schema: .calendar.attendee)
struct AttendeeEntity {
// MARK: Static
static let defaultQuery = AttendeeEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var person: IntentPerson
var status: <#ParticipantStatus#>?
var isAttendanceOptional: Bool
var type: <#AttendeeType#>?
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct AttendeeEntityQuery: EntityQuery {
func entities(for identifiers: [AttendeeEntity.ID]) async throws -> [AttendeeEntity] {
<#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+
calendar
Swift declaration
var calendar: some AppSchemaEntity { get }
An entity schema for a calendar.
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 `calendar` domain
and its content matches the `calendar` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .calendar.calendar)` 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 `calendar` schema:
```swift
@AppEntity(schema: .calendar.calendar)
struct CalendarEntity {
// MARK: Static
static let defaultQuery = CalendarEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var title: String
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct CalendarEntityQuery: EntityQuery {
func entities(for identifiers: [CalendarEntity.ID]) async throws -> [CalendarEntity] {
<#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>.