An aggregate root is the domain object through which modifications to an aggregate are managed. Group domain objects within one consistency boundary when their business invariants must hold during a single transaction. section 12.3.2
Allocating one seat per ticket
To prevent one seat from being allocated to multiple tickets, encapsulate Seat, Row, and ScheduledMovieSeating in an aggregate and manage changes through ScheduledMovieSeating. A ScheduledMovie aggregate similarly enforces limits such as available capacity and no more than eight requested tickets. section 12.3.2


