
Getting the Data Model Right: Movie -> Showings -> Performances
When I started building cinema aggregation tooling — pulling listings from multiple independent cinemas — the first real decision was the data model. I've fought bad schemas before. So I sat with this one for a while before writing any code. The hierarchy I landed on is Movie → Showings → Performances , and while it might sound over-engineered at first glance, every layer earns its place. Why not just Movie → Performances? My first schema was essentially flat. A movie had a title, some overview metadata (directors, actors, duration), and an array of performances — times you could go and see it. Simple enough, and it worked fine when I was dealing with a single cinema's listings. But a cinema doesn't just show a film . It shows variants of a screening. Take Hackney Picturehouse 's 40th anniversary run of Labyrinth . They didn't just list it once with a bunch of times — they had regular showings, a "Kids' Club" baby-friendly screening, and a "Relaxed Screening" for folks needing addition
Continue reading on Dev.to Webdev
Opens in a new tab




