An entity schema for an alarm.
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 `clock` domain
and its content matches the `alarm` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .clock.alarm)` 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 `alarm` schema:
```swift
@AppEntity(schema: .clock.alarm)
struct AlarmEntity {
// MARK: Static
static let defaultQuery = AlarmEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var time: DateComponents
var isEnabled: Bool
var label: String?
var recurrenceDays: Calendar.RecurrenceRule?
var canSnooze: Bool
var triggerState: <#AlarmTriggerState#>
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct AlarmEntityQuery: EntityQuery {
func entities(for identifiers: [AlarmEntity.ID]) async throws -> [AlarmEntity] {
<#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+
timer
Swift declaration
var timer: some AppSchemaEntity { get }
An entity schema for a timer.
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 `clock` domain
and its content matches the `timer` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .clock.timer)` 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 `timer` schema:
```swift
@AppEntity(schema: .clock.timer)
struct TimerEntity {
// MARK: Static
static let defaultQuery = TimerEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var duration: Duration
var durationRemaining: Duration
var state: <#TimerState#>
var label: String?
var isSleepTimer: Bool
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct TimerEntityQuery: EntityQuery {
func entities(for identifiers: [TimerEntity.ID]) async throws -> [TimerEntity] {
<#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+
stopwatch
Swift declaration
var stopwatch: some AppSchemaEntity { get }
An entity schema for a stopwatch.
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 `clock` domain
and its content matches the `stopwatch` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .clock.stopwatch)` 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 `stopwatch` schema:
```swift
@AppEntity(schema: .clock.stopwatch)
struct StopwatchEntity {
// MARK: Static
static let defaultQuery = StopwatchEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var laps: [Duration]
var startTime: Date
var pauseTime: Date?
var state: <#StopwatchState#>
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct StopwatchEntityQuery: EntityQuery {
func entities(for identifiers: [StopwatchEntity.ID]) async throws -> [StopwatchEntity] {
<#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>.