The booking database keeps one price per fare. The lake keeps all of them.
Every insert, update and delete on the airline's Postgres is read from the write-ahead log by Debezium, carried through Kafka and written by Spark into Iceberg tables. Nothing the source overwrites is lost. Move along the chart to see this fare at any moment of its life.
Prices climb in the last twelve hours
Average fare as a multiple of the flight's opening price, by hours left before departure. Each price counts for every hour it was on sale.
Show as a table
How full each route was, and when
Share of seats sold 72 h, 24 h and at departure. Only the last number exists in the source; the other two are read from SCD2 versions.
Confirmed revenue by route and booking day
Indian rupees, lakh. Days are IST; the first and last are partial because the simulated run starts and stops at midnight UTC.
What happened to every hold
Expired holds are deleted from the source after a day. Current state would miss them; the history does not.
Show as a table
Delays against the first published time
The source only knows the latest departure time. The delay is measured from the first version of each flight.
Change events per hour
By operation, in simulated business time (IST). The daily spikes are the next week's flights being scheduled at midnight UTC.
Data quality, last run
A failed check stops the gold run, so these pages keep the last numbers that passed.