Tangui
01Case study · SaaS

Créneau

Online booking for small outdoor activity providers: sea-kayak rentals, surf schools, guided hikes. Customers book and pay a deposit, and trips close by themselves when the forecast says no.

Type
Multi-tenant SaaS
Role
Product, design, development, hosting
Stack
Go · PostgreSQL · React
Status
[STATUS, e.g. Private beta]
[Screenshot — the booking page on a phone and the day view on a laptop]

The problem

Bookings between two trips at sea

Small activity providers take bookings by phone and text message, often from the beach. Generic booking tools don't know that a kayak trip depends on the wind, so every windy morning still means calling customers one by one.

Goal

One booking page per business, deposits taken online, and weather rules that cancel and notify on their own.

How it works

From the beach to the back office

One flow, four steps. The owner only steps in when the sea says no.

  1. 1 · CustomerPicks a tripA calendar showing only trips with seats left, on any phone.
  2. 2 · PaymentPays a depositCard payment through a trusted provider. No card details touch the server.
  3. 3 · ServerChecks the seaReads the forecast each morning and flags trips above each business's wind limit.
  4. 4 · Back officeOne screen a dayToday's list, who has paid, and one button to cancel and notify everyone.

Under the hood

Three decisions that matter

Multi-tenant from day one

Each business gets its own page, branding and rules on shared infrastructure, with data isolated per tenant in PostgreSQL.

Weather as a rule

Owners set their own limits for wind and swell. A daily job compares them with the forecast and does the calling for them.

Payments without the risk

Deposits and refunds go through the payment provider's API. The server never stores a card number.

Next project · 02Papier