Loading
Loading
Case study · Studio study
Hospitality booking without a carnival of widgets.
Studio study with a working title. Not a named-client claim.
Overview
Velvet Stay is a booking and guest portal study: rooms as inventory, rates as rules, guests as people with stays. The brand is quiet luxury; the system underneath is dates, holds, and payments.
The challenge
Hospitality sites sell a mood and then trap the guest in a datepicker from 2014. Ops still runs on a printout. We wanted one inventory, two surfaces.
Objectives
A booking flow that states total cost early
Holds that expire
A guest portal for the stay that already exists
Staff console for exceptions (late checkout, room move)
Strategy
Inventory is a calendar of inventory units, not a marketing grid. Brand photography is large; the form is small and sequential. No upsell modal before the guest has a date.
Discovery
We watched a front-desk workaround: a sticky note on sold-out weekends. That became a constraint in the rate engine.
UX
Search → stay summary → guest details → pay. The summary is sticky. Portal: upcoming stay, house info, a request that becomes a ticket.
Design
Warm off-white, wine, and charcoal. Photography bleeds. UI is hairline and serif for headlines only. Buttons stay sharp.
Engineering
Availability queries that cannot overbook under concurrency. Stripe for capture. IBE-like API for the site and a modest staff UI.
Architecture
Public site
Brand + booking.
Technology
Frontend
Backend
Payments
Infra
Implementation
Result
Overbook protection
Transactional
Cost shown
Before pay
Portal
Stay-scoped
Replace with measured results after a client engagement.
Voice
“Replace with a GM: guests stop calling to ask what they already paid for.”
Start
Tell us what you are trying to ship. We will come back with questions, a shape, and whether we are the right studio for it.