Case study · Livin Stays Algarve
Direct bookings, from the click to a ready room.
A website in three languages that sells with the same prices and availability as the channel manager, takes payment on the site itself and hands the booking to the team without anyone touching it. Behind it, Camila keeps the team up to date every morning on WhatsApp.
The screenshots are of the website’s public pages, in October 2026 — they show no guest data.
- Client
- Livin Stays Algarve, holiday rentals in Tavira
- Used by
- Guests from around the world and the team
- In production
- Direct bookings since August 2026
- Stack
- Astro · React · Node · Supabase · Stripe
-
9
properties, from the estate to apartments and villas
-
141
pages in Portuguese, English and Spanish
-
40
server routes for bookings, payments and the guest area
-
212
share images generated
-
280+
automated tests
The website’s figures in October 2026.
Context
Where it started
Livin Stays Algarve sold mostly through the platforms — Booking.com, Airbnb, Expedia — and the channel manager’s portal. Every sale paid a commission and the guest belonged more to the platform than to the house.
The new website was built to sell direct: the same prices and availability as the channel manager, payment on the site itself and a booking that reaches the channel manager and the operations app on its own. In August 2026 the booking links moved to the website.
Booking
Find, choose, pay.
Stays with filters and a map, pages with galleries and live availability, and at Quinta da Capelinha booking several rooms at once. Payment happens on the site: all at once or a deposit, with the balance charged automatically on arrival day.
- Availability and prices read from the channel manager, with extras and custom fields
- Stripe with cards, wallets, MB WAY and Klarna; payouts split by owner
- Promo codes, flash promos and gift vouchers
- Seasonal notices and booking rules per property
After booking
Guests handle everything with one link.
The confirmation carries a signed link to the guest area: the booking status, online check-in per room, cancellation with the refund the policy allows and a request to erase the data. On the other side, the booking is already in the team’s app.
- E-mails for confirmation, balance charged, failed payment, cancellation and voucher
- The booking sent to the channel manager and the operations app by a signed webhook
- After check-out, the link leads to the feedback form
Content and SEO
Edited in the app, found on Google.
Stays, experiences, articles, FAQs and reviews are edited inside the operations app; a “Publish” button rebuilds the site. Every page ships with its three languages linked, structured data and its own share image.
- hreflang, sitemap, structured data for lodging and offers
- Old addresses handled so rankings are not lost
- Consent-based analytics and campaign attribution
- A WhatsApp button for those who would rather talk to someone
AI agent
Camila keeps the team in the loop.
Camila is the team’s AI agent, on our own server, on WhatsApp and Telegram. Every morning she sends the operations briefing and, through the day, the reports someone used to compile. Her polls in the housekeeping group close tasks and fill in the HACCP log.
- Nine scheduled reports: the 07:00 briefing, weather, check-in forms, transfers to confirm, front-office close, invoicing, arrivals revenue, tasks and repairs
- For sales: availability, price and a quote with a payment link
- Portuguese, English and Spanish; escalates to management whatever needs a decision
- Every data access goes through a gateway with a token, limits and a log
Integrations
Connected to the channel manager, the payments and the team.
-
Avaibook
Availability, prices and bookings from the channel manager; website bookings go in on their own.
-
Stripe
Checkout with a deposit and automatic balance, payouts per owner, refunds and vouchers.
-
LivinStays PRO
Content edited in the operations app and bookings delivered by signed webhook.
-
Supabase
Content, bookings and storage, with row-level security.
-
E-mail transacional
Confirmations, charges, cancellations and vouchers in three languages.
-
Google
Consent-based Analytics, campaign attribution, Maps and Search Console.
-
n8n
Camila’s connections: availability, prices, quotes and payments.
-
WhatsApp e Telegram
Camila, the team’s AI agent.
Engineering
How it is built
- 01
Astro with static pages and React islands; a Node server handles bookings, payments and the guest area
- 02
141 pages generated from the database, rebuilt when the team publishes
- 03
Idempotent Stripe webhooks: one payment never creates two bookings
- 04
WebP images in several sizes and a share image for every page
- 05
Unit and end-to-end tests over the booking flow
Outcome
Since August 2026 the booking links lead to the website: the booking is paid there, with no platform commission, and reaches the team without anyone touching it.
Next step
Want to sell direct, without platform commission?
A 30-minute conversation is enough for us to say what to automate first, what it costs and when it is ready.