Home / Work / TETAMUS
Travel & Hospitality Marketplace

TETAMUS

Stays, rides and local discovery for travel around Malaysia, in one marketplace

TETAMUS platform
Stays + Rides
Two Marketplaces in One
Xendit
Payments in Ringgit
KL + Sabah
Launch Regions
One
Platform, Three Services

One trip, three separate bookings

When someone travels around Malaysia, the trip is rarely one thing. They need somewhere to stay, a way to get around, whether that is an airport transfer or a car for the day, and a sense of what is actually worth doing once they arrive. Normally that means three different apps, a handful of WhatsApp chats and a lot of guesswork. Tetamus pulls all of it into one platform: stays, rides and a local discovery directory, for Malaysia, starting with KL and Sabah.

Two marketplaces, not one

The deceptively hard part is that stays and rides are not the same business wearing different labels. A stay is booked by the night, with a calendar and prices that change date by date. A ride is booked by time, with airport transfers, hourly charters and surcharges that kick in late at night. Each needed its own availability logic, its own booking flow and its own pricing rules, while still feeling like one coherent product to the guest. We built both sides properly rather than forcing one to pretend to be the other.

What we built

A custom Laravel platform running both marketplaces and a local directory, with payments, invoicing and an admin back office behind it:

  • A stays marketplace with per-property availability calendars and date-by-date pricing, and a booking flow a guest can complete without creating an account until it is time to pay
  • A rides marketplace for transfers and charters, booked by time, with configurable night surcharges set as a fixed amount or a percentage
  • A discover directory of food, attractions, experiences, markets and nightlife, with click and view tracking so the team can see what guests actually tap
  • Online payment through Xendit in Ringgit, with webhooks keeping booking status in sync and PDF invoices generated for both stays and rides
  • Photo galleries for every listing, handled with responsive image conversions so pages stay quick
  • Guest accounts with social login through Google and Apple, two-factor authentication and saved billing details
  • An admin back office for listings, vehicles, ride packages, bookings, areas and the directory, with role-based access for admins and operators and an activity log of every change

The hard part

The booking and payment path was where it had to be exactly right. A guest can browse and request without an account, then pay, and the system has to hold the booking, talk to Xendit, react to the webhook coming back, and never double-charge or double-book even if two requests land at the same moment. Getting that flow safe and predictable, across two different kinds of booking, was the real work underneath the listings.

Where it stands now

Tetamus brings stays, rides and local discovery together in one place for travel around Malaysia. A guest can find a room, arrange the transfer to reach it, and see what is worth doing nearby, then pay for all of it through one platform with proper invoices and a booking history. What usually takes three apps and a stack of chat threads now lives in a single product.

Built with: Laravel Livewire Tailwind CSS PostgreSQL Xendit
Project outcome

Built a single Malaysian travel marketplace covering stays, rides and local discovery, with date-based and time-based availability, Xendit payments in Ringgit, PDF invoices, social login and a full admin back office, so a guest can book a room, arrange a transfer and find things to do in one place.

Want results like this?

A few quick questions, no pitch. Just a clear read on what we would build for you and what it would cost.

See what we'd build for you
Chat with us