Oleada — Technology to bring Acapulco back
Acapulco's smart travel guide, built with SECTUR Acapulco for the economic recovery after hurricanes Otis and John. Local guide, bookings, coupons and travel agencies in a single product.
Constraints
- Acapulco did not need another pretty app; it needed the port's economy to move.
- Working with a tourism secretariat means official roles, institutional identity and public accountability.
- Local businesses are small and non-technical; an onboarding that needs training never gets finished.
- Money flows three ways — business, travel agency and influencer — and none of it can be recalculated backwards.
- WhatsApp Business imposes its 24-hour window and template rules, not the other way around.
The problem
The context
Acapulco lives off tourism, and in two years it took two hits that no slogan fixes: Otis in 2023 and John in 2024. The port’s recovery is not a marketing topic, it is the economy of thousands of small businesses: restaurants, cafés, bars, hotels, guides, boat operators, diving schools.
Oleada started as the port’s local guide and became the infrastructure that puts that recovery online: the visitor discovers, books and redeems; the business shows up, configures itself and gets paid; the travel agency assembles packages; and SECTUR has a place where its team operates.
I am working on this with SECTUR Acapulco. In the platform that is not a mention: it is a profile with roles, just like a business has its own.
What makes this project hard
It is not the technology. It is that four actors with different interests share the same data.
The small business. A restaurant in the port has no technology team and no time for onboarding. If configuring its bookings takes twenty minutes and a phone call, it gets abandoned on the third screen. Anything that can be solved by default, is.
The travel agency. It does not sell its own inventory: it sells the port’s, at its own margin. That forces a business to be in two channels at once — public and agency — without duplicating itself in information or history.
SECTUR. It is not just another user. It has directors, deputy directors and operators, with official departments and positions, and its operation inside the platform represents an institution.
The visitor. Who knows nothing about the port, arrives on a phone, and decides in thirty seconds whether to stay or go elsewhere.
The decisions that hold up everything else
Every vertical rests on the same business. A restaurant, a medical clinic, a tour guide and a travel agency are the same business seen from different sides. That is what allowed the health vertical, then travel agencies, then tour guides to be added without migrating data or splitting histories. A system that keeps a copy of the business per vertical looks cleaner in month one and is the reason the third vertical never ships.
A booking is confirmed based on how far away it is. Under four hours: it confirms itself. Further out: the business approves it. They are two different product problems dressed as one, and a single mode forces you to choose between friction and no-shows.
Commission freezes when it is earned. An agency’s coupon stores the percentage in force at the moment it was issued. Changing the rate tomorrow does not rewrite what anyone is owed for what they already sold. It is the rule of every business that handles money, and it is the one that breaks when someone “simplifies” the calculation and leaves it depending on today’s rate.
The coupon is born as a scavenger ticket. When the visitor obtains a coupon it is not a printed discount: it is a ticket they are going to redeem. It sounds cosmetic and it is not — a passive coupon gets printed and forgotten, a ticket gets used. And a coupon nobody redeems is not a discount, it is a row in a list.
The part a demo never shows
The project grows with several hands, and that is governed by a written contract: one defining where each piece of the system lives, and one per area defining how it is written.
The rule that makes it work is the hierarchy between them: the first rules on location, the others on implementation, and they cannot contradict each other. Without that constraint, the documents contradict each other within two weeks and nobody knows which one rules.
It sounds bureaucratic and it is the opposite: it is what lets the product grow without every new person writing it their own way.
About the team
I founded Oleada and I lead it. The architecture, the data model and the domain rules are my design; the implementation is my team’s, with pull-request review.
And one thing I want to be clear about: the impact of this project is not something I measure. That Acapulco recovers is not a platform indicator. What I can state is what the system does, who it was built with, and who it exists for.
Decisions
- 01
Booking confirmation is hybrid, driven by a time window
A booking within four hours confirms itself; one for next week gets approved by the business. They are two different problems: the customer looking for a table in two hours walks away if they have to wait for an answer, and the business booking ahead needs to decide.
RejectedOne single mode for every case. Auto-confirm fills you with no-shows; manual approval loses today's sale.
- 02
Each business configures its bookings, with defaults that already work
Auto-confirm window, max guests per slot, advance days, minimum notice, deposit, cancellation hours and operating hours, all configurable per business. Every restaurant in the port operates differently, but configuring everything from scratch in onboarding is why an onboarding never gets finished. The defaults have to work without touching anything.
- 03
Every vertical rests on the same business, not on copies
A restaurant, a clinic, a tour guide and a travel agency are the same business seen from different sides. Everything else hangs off that same piece instead of duplicating it. When the system keeps a copy of the business for each vertical, the first one that signs with two forces you to migrate data by hand and split their history in two.
- 04
The secretariat's team is a role with hierarchy, not a label
SECTUR staff inside the platform have their own profile, with director, deputy-director or operator roles, their department and their official position. A simple "this user is government" mark cannot express hierarchy or per-area permissions, and eventually someone puts that knowledge in the account name.
- 05
The caravan is a condition of the business, not a separate list
A business marked as part of the SECTUR caravan can offer exclusive promotions to travel agencies. It is a condition on the business with its rule written next to it, not a parallel list that drifts the moment someone deactivates a business.
- 06
Commission freezes when it is earned
When an agency issues a coupon, the commission percentage is stored on that coupon. Changing the rate tomorrow does not rewrite what anyone is owed for what they already sold. It is the same rule that applies to any business dealing with money: what is accrued is historical, not recalculated with today's conditions.
- 07
The coupon is born as a scavenger ticket
The coupon is obtained on the business listing and starts life as a ticket. It is not decoration: it turns a passive discount into something the visitor wants to redeem, which is exactly the behaviour that reactivates local spending. A coupon nobody redeems is not a discount, it is a row in a list.
- 08
The project is governed by a written contract
There is a contract defining where each piece lives and one per area defining how it is written, with an explicit hierarchy between them: the first rules on location, the others on implementation, and they cannot contradict each other. Without that constraint the documents contradict each other within two weeks and nobody knows which one rules. It is what lets the project grow with several hands without the style falling apart.
Outcome
- Collaboration with SECTUR Acapulco, with government profiles by role, department and official position inside the platform.
- A caravan of businesses from the port offering exclusive promotions to travel agencies.
- A single product serving businesses, travel agencies, tour guides and the secretariat's team, without four separate systems.
- An official invitation landing page with SECTUR and Oleada identity, a QR code and a short link, plus an executive presentation for business owners and government.
- Search, bookings, redeemable coupons, vendor commissions, travel agencies and tour guides living on one platform.