Preparing chapter
Loading your data design lesson
The curriculum shell is ready while the requested chapter is being prepared. You can wait here or return to the design library.
Preparing chapter
The curriculum shell is ready while the requested chapter is being prepared. You can wait here or return to the design library.
BookMyShow · Data Engineering · Follow one booking
Trace a hold through payment, outbox, Kafka, streaming, and the lakehouse.
End-to-end big-data architecture
Follow BookMyShow data through five layers. Hover, focus, or click a component to see its exact responsibility and boundary.
Authoritative seat lifecycle
Select a state to see how a BookMyShow seat enters it, leaves it, and which rule protects ownership.
SELECTED STATE · AVAILABLE
HOW IT ENTERS
New show inventory, an expired hold, or an approved release returns the seat to AVAILABLE.
HOW IT LEAVES
A conditional database update assigns one hold_id only if the seat is still AVAILABLE.
BOOKMYSHOW SAFETY RULE
A seat-map cache may display this state, but the hold transaction must recheck it in Postgres.
Critical trace
The booking response depends on the DB commit—not on Kafka availability.
Failure path
The callback is evidence of money movement; the database still decides whether a ticket exists.