Skip to content
Booking & administration

Property Short Rental Booking System

A bespoke booking website and admin panel for a luxury Maltese farmhouse rental, with live availability, seasonal pricing and a permission-based back office.

Category
Booking & administration
Sector
Property
Availability
Demo on request
Technologies
  • Next.js 14
  • React 18
  • TypeScript
  • PostgreSQL
  • Tailwind CSS
  • Framer Motion
  • FullCalendar
  • Recharts
  • Nodemailer
  • Resend
  • jose (JWT)
  • bcryptjs
  • Zod

Overview

Dar it-Tramuntana is a purpose-built website for a single restored stone farmhouse (a "razzett") in Malta that sleeps ten. It combines a polished, editorial-style public site with a full back office, so the owner can take booking requests, manage pricing and keep the site fresh without a developer. It is built with Next.js and PostgreSQL and deploys to Railway with zero manual setup: tables and seed data are created automatically on first boot.

Who it's for

Holiday guests and families comparing the house, checking dates and sending a booking request. The property owner, who approves bookings, sets rates and edits site copy and photos. Optional extra staff or managers, each given only the admin permissions they need.

Problem and solution

The problem

Marketplace listings take a large commission and give the owner little control over branding, pricing or guest communication. A generic website builder cannot show live availability, apply seasonal and holiday pricing, or stop double-bookings. The owner needed one place to present the house properly and manage requests, calendar and rates, simple enough for a non-technical person to run.

The solution

A custom Next.js application with a visual design built around the property: limestone, olive and brass tones, serif display type, and a gallery, details, amenities, location and contact sections. A live availability calendar shows booked, pending, blocked and public-holiday dates. Visitors pick arrival and departure dates and send a request with an instant price estimate. Overlaps are validated on the client and again on the server. Behind it is a role-based admin panel. The owner approves or rejects requests, adds internal notes, blocks dates for maintenance, sets nightly rates and promotions, uploads and reorders photos, edits all page copy, and switches the colour theme. Guests get confirmation and reminder emails, and a 12-month occupancy chart shows how the house is performing.

Main features

  1. 01Live availability calendar with booked, pending, blocked and Malta public-holiday markers
  2. 02Booking request form with date-range selection and server-side overlap validation
  3. 03Booking references generated from a database sequence (e.g. FM-2026-000123)
  4. 04Booking workflow: pending, approved, rejected, cancelled and completed, with internal notes
  5. 05Seasonal, holiday and promo pricing rules, with per-guest surcharges and minimum-night stays
  6. 06Admin-blocked dates for maintenance or owner stays
  7. 07Email notifications and automated guest reminders before check-in
  8. 0812-month occupancy dashboard and one-click CSV export of bookings
  9. 09Editable site content: hero, house details, house rules, amenities, location and SEO fields
  10. 10Drag-and-drop photo gallery with featured images, captions and room grouping
  11. 11Selectable colour themes that restyle the whole site without a rebuild
  12. 12Permission-based admin users with a protected super admin
  13. 13Language switcher covering nine languages
  14. 14SEO: dynamic metadata, sitemap, robots.txt and LodgingBusiness structured data
  15. 15Responsive, mobile-friendly design with a floating WhatsApp and quick-booking button

Need something similar?

Let's talk about what you're building.

Next projectSuperbru Predictor