Let's talk

Out-of-home media

Out-of-Home Media Booking Software Case Study

Gold Sign Media

Out-of-home media — the application in use
Sazinga AdBoard on a media owner's laptop. The screen is a real capture of the application; the surroundings are illustrative.

The challenge

Inventory at Gold Sign Media, an out-of-home media operator in Maharashtra, lived in a spreadsheet that was copied, emailed and edited by several people at once, so the authoritative list of which sites were free in a given fortnight existed only in whichever version the sales team happened to open. Proof of display was a folder of photographs named by date, with no reliable link between an image and the campaign it evidenced, which meant assembling a client report was an afternoon of manual matching and occasionally produced the wrong picture. Invoicing was rebuilt by hand from booking notes, so a shortened campaign or a site swapped mid-flight only reached the invoice if somebody remembered to mention it. The result was routine double-booking, disputes that could not be settled with evidence, and revenue that quietly leaked between the booking and the bill.

The approach

We modelled the business around the smallest unit that actually gets sold, a single face of a single structure for a defined period, and made availability something derived from live bookings rather than something a person maintains. Every site was recorded once with its dimensions, illumination, coordinates and municipal permission details, and the booking calendar reads from those records so a face cannot be committed twice for overlapping dates. The field application captures mounting and monitoring photographs with location and timestamp attached at the point of capture, and each image attaches to the campaign line it evidences rather than to a folder. Invoicing was then generated from the campaign itself, so the period actually served, any mid-flight site change and any agreed adjustment are the things the bill is built from.

The outcome

Availability is now a consequence of the bookings that exist, so the same face cannot be sold twice by two people working at the same time, and a query about a given fortnight is answered from the calendar rather than from whoever last saved the sheet. Proof of display arrives as photographs already bound to the campaign line, with coordinates and time recorded when the picture was taken, so a client report is produced rather than assembled and a disputed display can be settled with evidence rather than argument. Because invoices are generated from campaign lines, a shortened flight or a swapped site changes the bill automatically instead of depending on somebody remembering, which closes the gap between what was delivered and what was charged.

Out-of-home media is an inventory business that has historically been run on documents. The asset is physical and finite, the sales cycle is fast, and the moment two people are quoting from separate copies of the same list the operator is committing to something it cannot deliver.

What is the smallest thing an outdoor media operator actually sells?

Not a site. A single face of a single structure, for a defined run of dates. That is the unit the whole system is built on, and getting it wrong is what makes spreadsheets fail: a row per hoarding cannot express that one face is committed in the first fortnight and free in the second.

So the booking line carries its own start and end date, and it is that window — not the campaign header’s — that availability is checked against. A campaign is a wrapper holding the client, the name and the dates a salesperson talks in; the per-face lines are the bookings.

A billboard is not booked. A face of it is booked, for a window, and everything else is paperwork about that fact.

How availability stops being something a person maintains

Availability is a query, not a column. Two date ranges overlap when the first starts on or before the second ends and ends on or after the second begins, and that single predicate against the existing face lines is the whole of it.

What differs is capacity. A static hoarding has a capacity of one, so any overlap is a clash. A digital screen carries several concurrent adverts, so it has a slot capacity, and the honest answer is how many slots remain rather than a yes or no.

A clash is refused rather than warned about, and overriding it is a deliberate act recorded as one. That distinction matters more than it sounds: an operator sometimes genuinely does need to double-commit a face while a client decides, and the difference between a system that permits it knowingly and one that permits it accidentally is the whole argument for having a system.

Why the photograph’s timestamp is the one that has to be right

Proof of display fails on a detail that looks trivial. A field officer photographs a hoarding somewhere with no signal, the picture sits in the app’s queue, and it uploads when they get back into coverage. If the record stamps the time it was received, it says the board was photographed on the day the image happened to reach the server.

That is exactly the fact a client disputes, and exactly what the geotagged, dated photograph exists to settle. So each queued photograph carries its own capture time and its own coordinates, taken at the moment the shutter fired, and the upload time is a separate field. Coordinates are stored only as a pair, because a latitude stored without its longitude renders as a point on the prime meridian, which is a plausible-looking coordinate and a false one.

Photographs are typed by what they evidence — installation, night, mid-campaign monitoring, end of campaign, uninstallation — so a proof pack is a query rather than a folder someone assembles.

How monitoring becomes a schedule instead of a good intention

An operator who has promised monthly photographs needs to know which checks are outstanding, and that requires a cadence the system understands: daily, weekly, every so many days, or anchored to the start or end of the month.

Each cadence needs its own tolerance for what counts as satisfying a check, and the tolerances are not the same. A tight window is right for a daily check. Half the gap is right for an interval check. Applying half the gap to a monthly cadence would give a fortnight either side, and one photograph would satisfy two months. A tolerance that is generous enough to be forgiving is generous enough to hide a missed month.

Whether a campaign is complete also depends on the structure: a night photograph is required where the hoarding is illuminated and is meaningless where it is not.

Where the invoice comes from

The bill is generated from the campaign’s face lines — one invoice line per face, carrying the site and the dates actually served — rather than rebuilt from booking notes. Withholding tax is taken from the client record rather than typed per invoice, and overdue is derived from the due date rather than stored as a status somebody has to remember to change.

What we would be careful about doing again

The predicate that decides which bookings count towards availability is the one to watch. A campaign status derived from today’s date — planned, active, expired — is exactly right for a dashboard and exactly wrong as a filter on an availability check, because a campaign starting next month is not active and its faces are still committed.

The safe rule is that availability considers every booking that has not been cancelled. That is the model Sazinga AdBoard is built around, and the general point behind it holds across out-of-home media: making availability a derived fact rather than a maintained one, and evidence a by-product of the field visit rather than a separate administrative task performed afterwards.

Tell us what yours looks like.

Out-of-home media is where this one ran, and Gold Sign Media had one particular set of constraints. Describe how the same work runs for you — what is done by hand, what arrives late, and what it costs when it goes wrong — and we will say which part of this transfers and which part was specific to them.

A person reads every enquiry and replies within one working day.