Hospedaje — the host portal now opens a real dashboard, in three languages
Portal-02 ships: one home for every capability the host has switched on, with brand consolidation visible from the first second of every login. ES, EN, NL.
When a host signs into Hospedaje today, they no longer land on a placeholder. They land on a capabilities dashboard — a single home that shows them, at a glance, what's switched on for their property and lets them click straight into it.
For Doña Concha, who's been our first paying customer since May, that means two cards on her phone the moment she logs in: Reservas and Check-in. Tap one and she's in the booking admin. Tap the other and she's in the SES guest-registration flow. The third card, Marketing, sits below them in a quiet grey with a small label that reads No disponible — a tile that's reserved for a capability she doesn't have yet, but will when we ship it. No clutter, no upsell noise, no shouty banners promising "AI-powered insights." Just the things that work, with a clear way to reach them.
What you can't see from outside is the brand surface this lands. Hospedaje is the parent brand; Hospedo (the booking module) and Hospido (the SES check-in module) are the two products underneath it. Until today, a host who logged into the portal would see a stub home that said hello and not much else — but once she clicked through to do real work, she'd see different brands on different subdomains, and inevitably learn names she shouldn't have to care about. From now on, the host sees one brand, one URL, one home — app.hospedaje.io. The capability names on the cards are Bookings, Check-in, Marketing (or Reservas, Check-in, Marketing in Spanish, or Boekingen, Check-in, Marketing in Dutch). The product codenames don't show up in any visible string anywhere on the page.
That last point is why portal-02 is also the moment we ship i18n. The Hospedaje marketing landing — hospedaje.io — already promises Dutch support in its own copy. Until today, a Dutch host who clicked through to sign up would land in a Spanish portal the moment they were authenticated. Now the portal speaks Spanish (default for our Andalucía pilot), English (the international parity language), and Dutch (the credibility line we promise from the landing). The login screen, the dashboard, the empty-state copy, the disabled-card affordance text — all of it translates per host. A culture switcher sits in the top nav so a host can change their mind without re-typing the URL.
For builders curious about how it's wired: it's the same Mulhacen.Web.AddMulhacenLocalization extension Doña Concha's website uses, with a CultureRouteConvention("es") for the URL prefix and resx files for the strings. The hosts.json file portal-01 already used gained a per-host capabilities map — each entry carries { enabled, url, affordance? } — and the dashboard reads it on every render. Adding a new capability for a future tile (or a host who wants Marketing turned on once it ships) is a one-line config edit, no rebuild. The full Gherkin spec, the design preview HTML, and the implementation plan are all in the repo for anyone curious to see how the story landed.
The next links in the chain are portal-03 (Bookings integration: the Hospedo admin moves under the portal as a Razor Class Library) and portal-04 (Check-in equivalent for Hospido). When those two land, Doña Concha gets migrated from her per-codename admin URLs onto the unified portal, and the Andalucía Instantly campaign goes live with the throttle lifted. If you run a property in southern Spain — or you're a Dutch owner of one — and you're paying Chekin €100/month or wrestling with Booking.com commissions on your direct bookings, book a 15-minute call. The portal you'd be using opens at app.hospedaje.io.