Let's talk
product

The digital board said not available while it stood empty

Every digital screen refused a booking for any dates, even with nothing on it. A missing slot count was read as zero. Two future bookings were also accepted.

·

A media owner in an office checking the booking calendar in Sazinga AdBoard on a laptop.

You sell space on a digital screen. A client wants it for a month, you open the booking screen, and the system says the board is not available for those dates. You look at the calendar. Nothing is on it.

That was true of every digital board in the system. Creating a campaign on an empty screen failed, and the person trying had no way to tell why. A board you cannot book earns nothing, and “not available” on an empty calendar is the software being wrong.

What was actually going on

A digital screen can carry several advertisers at once, each taking a slot in the loop. The rule for this existed: a board is available while the slots in use are below its capacity. But the capacity came from a setting, and where the setting was empty the rule read it as zero.

Both real digital boards had the setting empty. Zero slots means “used is below capacity” can never be true, so both were permanently full. No test had ever created a digital board, so nothing had noticed.

It got worse. Nobody could fix it from a screen. The board form had no control for whether a board is static or digital, and none for how many slots it holds. The setting could not be set by anyone.

What we changed

A missing capacity now means one slot, never zero. The site form gained both controls: the media type, and, for digital boards only, the number of concurrent slots. Tests now cover a digital board, including the case where the setting is missing, and there is an automated browser check of the form.

While writing those tests we found a second and larger fault. A campaign’s status follows its dates, so a booking in the future is stored as “planned”. The availability check counted only campaigns that were running now. Two campaigns for the same hoarding over the same future dates were therefore both accepted. A check against production on 8 September had found no actual double-bookings, but six current or future faces on draft campaigns were invisible to the check.

What it did not fix

The future-booking gap was left as it was. We wrote a passing test that records the behaviour, so the next person knows it is deliberate, and did not change booking rules the night before a release. Whether to refuse future overlaps is a commercial decision for the client.

Until that decision is made, two bookings for the same hoarding over the same future dates can both be accepted.

The pattern, for anyone who sells inventory

Ask what your booking system does when a setting is blank. If it reads blank as zero, then anything you have not configured is closed for sale, and the first sign is a salesperson who cannot book.

Then ask which statuses the availability check counts. A check that looks only at what is running today will miss everything booked for next month.

Where this ends up

Availability on digital and printed boards is decided in AdBoard, the system that runs for Gold Sign Media, an outdoor media operator. A digital board with no limit set now takes one advertiser at a time until somebody says otherwise.

This came out of building Sazinga AdBoard

Every site, every booking, every invoice — in one place. The problem above is one we met while building it, and what we did about it is in the product.

If you run something like this, there is one thing you can do without a call: tell us your board count.