CLIENT: Sotobosque Hoteles🇨🇷Costa Rica

Almendro - Direct Booking Engine and Rates Console for a Costa Rican Hotel Group

Direct Booking Engine for Seven Boutique Hotels and Eco-Lodges

Designed and built a clickable hotel console for a Costa Rican group of seven boutique hotels and eco-lodges: a dashboard of direct business, every booking with its price, payments and policy snapshot, a rates and availability grid where derived plans follow the best available rate, and a refund queue with approval limits.

Scope of Work
Product design, UI build and clickable demo
Industry
Travel & Hospitality / Hotel Booking Engine
SaaSEnterprise
Compliance & Certifications
Law 8968 (Costa Rica)Law 7472 (Costa Rica)GDPR and UK GDPRPCI DSSPSD2 SCA and EMV 3-D Secure

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, bookings list, booking detail with 5 tabs, the rates and availability grid and the refund queue. Every one of the 26 demo bookings opens its own detail page.

5 Derived Plans
Priced from one base rate

Non-refundable at BAR -12%, breakfast at +$28.00 per night, member rate at -10% and two packages. Change BAR in the grid and every derived price follows, with the rule on hover.

$150
Goodwill limit per agent

Agents may refund up to the policy amount or $150.00 of goodwill alone. Anything above is highlighted for finance approval, and nobody can approve a refund they requested.

26 Bookings
Realistic demo data

7 properties, 17 room types, 6 rate plans, 15 add-ons, 22 guests, 12 refunds and 7 staff users, with web, member, agent and OTA bookings in every status.

The Problem

About 70% of Sotobosque's room nights came through online travel agencies, each taking a commission. Its own website sent guests to a generic booking widget that did not know its packages, could not sell an airport transfer or a night tour, and showed the price before tax. Staff re-typed email bookings into the PMS, package deposits were chased by WhatsApp, refunds were made by hand with no record of which policy applied, and head office could not say what share of revenue was direct.

Our Solution

Almendro is the group's own booking engine and the console behind it. Guests book a room, a rate and add-ons with the full price shown up front and pay with 3-D Secure; staff manage rates, inventory and restrictions in one grid that pushes to the channel manager, work every booking from one page, and control refunds through fixed approval limits.

The Challenge: Selling Direct Across Seven Small Hotels

Sotobosque runs a 24-room hotel in San José and six eco-lodges and boutique hotels between 9 and 32 rooms, from Monteverde to the Osa Peninsula. Every property has its own rooms, seasons, add-ons and suppliers, but one group sets the prices and the policies.

A Widget That Could Not Sell the Stay

The generic booking widget sold rooms only. Packages, boat and airport transfers and tours were booked by email, and the total jumped at the last step when tax was added, which pushed guests back to the OTAs.

One Price Structure, Many Channels

Rates, seasons, minimum stays, closed-to-arrival nights and tour operator allotments have to stay in step across seven properties, the channel manager and the PMS. A missed update means a wrong price on an OTA or a room sold twice.

Payments That Depend on the Rate

A flexible rate takes a card guarantee, a package takes a 30% deposit with the balance 21 days before arrival, and a non-refundable rate is charged in full. Cards from the EEA and UK need strong customer authentication, and later charges run on a stored credential the guest agreed to.

Refunds and Guest Data Without a Record

Cancellations were refunded by hand from the payment gateway. Costa Rica's Law 8968 requires informed consent and gives guests rights to access, correct and delete their data, and many guests are European, so GDPR is treated as the baseline.

Our Approach: From Hotel Rules to a Clickable Console

01

Spec and Rules Research

Mapped 9 user roles, from revenue manager and reservations agent to finance, data protection lead and guest, and 40 screens: 13 mobile-first guest screens and 27 console screens. Modelled properties, room types, inventory, allotments, seasons, base and derived rate plans, restrictions, versioned policies and taxes, add-ons, promo codes, carts with a 15-minute hold, bookings, payments and refunds. Wrote down the rules the design follows: Law 8968 and GDPR, Law 7472 on clear prices, IVA set per property, PCI DSS, PSD2 and 3-D Secure, and US dollar rates with a colón estimate.

02

Clickable Demo on a Production UI Kit

Built 5 key console screens on a production dashboard kit: the dashboard with 4 KPI cards, 90-day pickup against last year, today per property and a needs-attention list; the bookings list with filters and a quick view; the booking detail with price, payments, add-ons, messages and activity; the rates and availability grid with bulk update and undo; and the refund queue. A property switcher scopes every screen, and all actions run on local state.

03

What a Production Build Adds

The 13 guest screens in Spanish and English, the remaining console screens and reports, and integrations with a channel manager such as SiteMinder or D-EDGE, a PMS such as Cloudbeds, Mews or OPERA Cloud, and Stripe or Adyen hosted card fields with 3-D Secure. Also the Banco Central de Costa Rica exchange rate, Postmark and Twilio messages, staff sign-in by role and property, an audit log of every change, the guest data requests queue and inventory locking against overbooking.

Why It Works: The Price and the Policy Are Never a Surprise

Every Line of the Price Is Visible

In the designed guest flow, guests see the total with taxes and fees from the first screen. In the console, each night shows the BAR base, the plan price, any promo discount, the net and IVA as separate lines, with add-ons, the total and a colón estimate labelled as one.

The Policy Is Frozen at Booking

Each booking keeps a snapshot of the cancellation, deposit and no-show policy versions in force when the guest booked, so later changes do not apply. The page shows what cancelling now would cost before anyone presses Cancel.

One Grid Drives Every Channel

The revenue manager edits rooms to sell and BAR prices inline, and derived plans update in italics. Season bands, weekend shading and restriction chips sit in the same grid, and each save shows a push status per cell until the channel manager acknowledges it.

Money Back Under Control

Refunds sit in Awaiting approval, Processing, Completed and Failed tabs. Goodwill above the policy amount is highlighted, the requester cannot approve their own refund, a rejection needs a reason and a failed refund can be retried.

Related case studies

View all: Travel & hospitality
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab