← Back to portfolio

CRM Odinn — Ad Inventory for Shopping Malls

2017 PHP · Laravel

A company that sells advertising space inside shopping malls — elevators, escalators, lightboxes, giant banners on atriums. They had thousands of these surfaces across dozens of malls, and managing it all was a nightmare. I built them a CRM that keeps track of every single ad spot and lets managers assemble PDF commercial proposals in minutes.

Venues list

How it works

Each shopping mall is a "venue" with its own card: address, floor plans, photos, visitor traffic stats. Inside each venue — dozens of advertising surfaces, each with its own type, location, photos, and pricing.

Venue details

The killer feature was the proposal builder. A manager picks a client, filters surfaces by type (say, all escalator wraps in Moscow malls), selects the ones they want, and the system generates a polished PDF commercial proposal. Prices, photos, rental periods — everything auto-filled.

Adding surfaces to a campaign

Selected surfaces and proposal generation

The system also handled campaigns, tasks, clients, partners, and employees — a full CRM. But the real value was in that surface catalog. Before this, they had spreadsheets. Thousands of rows. Photos in random folders. Now a manager could find "all available lightboxes in Afimall City on the 2nd floor" in seconds.

Editing a venue