---
title: book
framework: appintents
role: symbol
role_heading: Instance Property
path: appintents/assistantschemas/booksentity/book
---

# book

The app entity describes an ebook.

## Declaration

```swift
var book: some AssistantSchemas.Entity { get }
```

## Overview

Overview Use Swift macros that generate additional properties and add protocol conformance for your app entity implementation. The following example shows an app entity that conforms to the .books.book schema: @AppEntity(schema: .books.book) struct BookEntity: AppEntity {     struct Query: EntityStringQuery {         func entities(for identifiers: [BookEntity.ID]) async throws -> [BookEntity] { [] }         func entities(matching string: String) async throws -> [BookEntity] { [] }     }

static var defaultQuery = Query()     var displayRepresentation: DisplayRepresentation { "Book" }

let id = UUID()

@Property     var title: String?

@Property     var seriesTitle: String?

@Property     var author: String?

@Property     var genre: String?

@Property     var purchaseDate: Date?

@Property     var contentType: BookContentType? } For more information about the .books app intent domain, see doc:Making-ebook-actions-available-to-siri-and-apple-intelligence. For general information about app intent domains, see doc:Integrating-actions-with-siri-and-apple-intelligence.
