Full-Stack / Payments / Booking Systems

BNB Payment Gateway Integration & Hotel Booking System Upgrade

The Pema by Realm | In Progress

– Present(expected )

The Pema by Realm booking interface with check-in and check-out dates, guest counts, and room search.
Screenshot 1 of 1: Room search & reservations

I’m leading a three-person team upgrading The Pema by Realm’s existing hotel booking platform. The work connects BNB international payments with reservations while improving how rooms, availability, and administrative changes flow through the guest booking journey.

Client & programme
The Pema by Realm, Thimphu
My role
Team lead & full-stack developer
Collaboration
Three-person development team
Project status
Upgrade & integration in progress

The guiding principle

A confirmed reservation needs available inventory and a verified payment result.

The problem

Connect the booking journey from room selection to payment.

The hotel already has a guest-facing booking website and an administration interface. Our work extends that application, with BNB international payment integration as the central requirement and selected booking improvements needed to support it reliably.

The initial review showed that room information and navigation needed to work consistently across administration, listings, room details, and reservations. Availability checks and payment results also needed to connect to the backend booking process so the guest receives a clear and dependable outcome.

My contribution

Lead the integration across the whole reservation flow.

As team lead and full-stack developer, I’m leading implementation, client coordination, testing, and delivery preparation. I co-prepared the upgrade proposal with the other two developers, defining how the payment work connects to the existing application.

My development work spans payment integration, booking status handling, dynamic room functionality, availability validation, and controlled administrative workflows. The project is in progress, with testing and production acceptance still ahead.

Room management

Let hotel-managed content drive the guest experience.

A room created by an administrator should work throughout the booking journey without requiring another room-specific code path. The upgrade moves the relevant navigation and room retrieval towards dynamic identifiers and system-managed content.

The same approach applies to room-detail pages. Supported details such as descriptions, images, amenities, pricing, and capacity should reflect the information maintained through administration. This connects an operational change at the hotel to what a guest actually sees and can book.

The payment workflow

Keep the reservation and the transaction connected.

The planned payment flow associates each transaction with its booking and maintains a clear record of the result. Guests should receive an understandable outcome that reflects the verified payment and reservation status.

  1. Select and validate

    The guest selects a room and dates. The server validates the request and checks available inventory before the reservation can proceed.

  2. Prepare the transaction

    Booking details and a transaction reference connect the payment request to the corresponding reservation.

  3. Initiate payment

    The guest continues through the BNB-supported payment process, with the application tracking the pending transaction.

  4. Verify the result

    The backend verifies the provider’s result through its supported authoritative mechanism before treating the booking as paid.

  5. Update and communicate

    Booking and payment records reflect success, failure, or cancellation, and the guest receives a response appropriate to that result.

Engineering approach

Make the server responsible for accepting a booking.

The upgrade builds on an existing Node.js, Express, and MongoDB application. My work concentrates on connecting the room, booking, payment, and administrative experiences affected by the agreed changes.

Availability information helps guests choose dates, while booking validation keeps the resulting reservation consistent with available inventory. Testing considers both the ordinary booking journey and conflicting requests.

Controlled administrative access supports hotel-managed room and booking updates. The engineering focus is keeping the guest experience and operational records consistent as the application evolves.

Testing & release

Test the paths that can interrupt a guest’s booking.

The test plan covers room creation and updates, room-detail consistency, date and inventory validation, booking creation, protected operations, and the payment lifecycle. Successful, failed, and cancelled transactions each need to leave understandable and consistent records.

Integration and regression checks will cover the existing booking functionality affected by the upgrade. Release preparation and handover follow development, testing, and client acceptance.

Progress & next steps

An ongoing upgrade with a defined delivery path.

The system review and proposal establish the scope, expected booking behaviour, integration requirements, and delivery plan. Implementation is ongoing, with November 2026 listed as the expected finish. The schedule depends on integration readiness and client feedback.

The intended outcome is a connected booking platform where hotel-managed rooms, validated inventory, and verified payments stay consistent. Handover will support ongoing maintenance. The project is developing my experience in extending an existing product while coordinating technical work and external dependencies.

Tools & development direction

Node.jsExpressJavaScriptMongoDBPayment Integration