New: free 45-minute AI readiness call for UK teams. Book a slot
Equality Software
Case study · Own product

Good Hours: an hourly marketplace with safe AI agents

How we built and launched goodhour.shop, where people book rooms, cars and travel services by the hour, with AI agents that price, negotiate and assist inside hard limits.

Type
Consumer marketplace, live
Stack
Next.js 15, React 19, Fastify 5, BullMQ, Prisma, PostgreSQL, Redis, Stripe
Hosting
Oracle Cloud, Docker Compose, Caddy with automatic HTTPS
Status
Live at goodhour.shop, in active development

This is one of Equality Software’s own products, built in-house with our ADLC method. It is not a client engagement.

The problem

Hotels, car hire and travel services are sold by the night or by the day, yet many people need them for a few hours: a room between flights, a van for an afternoon, a guide for a morning. Hosts also have idle hours they cannot sell. We wanted a marketplace for hourly bookings where AI helps both sides without ever being trusted blindly with money.

What we built

A modular monolith in one TypeScript codebase: a Next.js web app, a Fastify API split into modules with enforced boundaries, a BullMQ worker for background agent jobs, and a Prisma data layer on PostgreSQL. Travellers can pay instantly or post a request and run an AI reverse auction; hosts get verified listings, reviews, per-booking messaging and receipts.

Pricing agentRecommends an hourly rate from live demand and occupancy signals. The recommendation is always clamped to the host’s minimum and maximum on the server, whatever the model returns.
Negotiation agentRanks supplier offers on a traveller’s request. Any offer ID the model invents is discarded, and the top pick is only recommended: a person accepts it unless the traveller opted in to auto-accept within a budget they set.
Exchange agentQuotes time-credit swaps between categories. The rate is anchored on real average prices, and the model can only adjust it by up to 25%. With no inventory it refuses to quote rather than guess.
Auctions and conciergeAn AI drafter turns one sentence into a complete auction, priced from comparable listings, and an on-page concierge helps people find what they need.

How governance is built in

  • Every agent call is logged. Each agent has exactly one function that calls the model, and it writes a decision log row on success and on fallback, so real and fallback decisions can be told apart.
  • Hard limits on the server. Prices, budgets and exchange rates are bounded in code, never left to the model.
  • Safe fallbacks. If the model times out or is unavailable, each agent falls back to a deterministic rule (static rate, lowest price or market rate) and the marketplace keeps working.
  • Honest localisation. Forty locales are registered, each with a status that tests enforce, so the app never claims a translation it does not have.

Delivery

Good Hours runs on an Oracle Cloud server with Docker Compose and Caddy for automatic HTTPS. Pushing to the main branch deploys automatically within minutes. The same server now also hosts this website.

What it shows for clients

AI can make real commercial decisions safely when the boundaries are in code: clamp what the model can change, verify what it returns, log every decision and keep a human in the loop where money moves. We apply the same approach in agentic AI development.

Putting AI agents near money?

We can help you design agents with hard limits, verification and audit trails. Start with a free discovery call.

Book Free Discovery Call →

Stay ahead of the AI curve

Monthly insights on agentic AI, ADLC methodology, and enterprise AI governance. No spam, unsubscribe any time.