On the JCDecaux platform I need to manage fleet availability, and it's genuinely complex: whether a campaign can be sold in a city depends on a lot of interacting criteria, not just a headcount. How would you model that so reps can't oversell a city?

Before I propose a model, give me the full list of criteria that decide whether a vehicle is available. The shape of the data drives the whole design, so I don't want to guess it.

Here's what we have, per city:

  • A count of vehicles by type: taxi or Uber, hybrid or not.
  • The supports available on each: which wrap options can actually be sold on that vehicle.
  • Whether it's already committed to a running campaign.

The catch: these are approximations. We have rough numbers per city, not an exact, named list of every car.

Then don't model capacity as global counts, that's where this kind of problem falls apart. Materialize the fleet instead:

  • Generate synthetic vehicle records. From your approximate numbers, create one row per vehicle with a generated ID, and stamp the attributes on each: type, hybrid or not, eligible supports, current campaign. Now the fleet is concrete, not a tally.
  • Allocate against real rows. Capacity checks and campaign reservations run against those individual vehicles, so you get a live, per-vehicle view of what's free in each city instead of arithmetic on a number.
  • Reconcile to reality over time. After each campaign, affiliate each synthetic model with its real-world identity as it surfaces, license plate and the rest, so the simulated fleet converges on the true one.

You start from approximations but compute on a real, queryable fleet, and it only gets more accurate with every campaign.

Claude is an AI and can make does make mistakes. Please triple-check responses.