Skip to content
PRESEODIGITAL
LiveWebsite2026

Bill Kent Family House

A booking website for a family holiday cottage: availability, pricing rules and confirmations, with an admin dashboard for the owner.

This project is live and in use.

Visit the live site
billkentcottage.co.za
Bill Kent Family House homepage with the booking calendar visible
Client
The Bill Kent family
Private holiday cottage
Services
StrategyUX/UIWeb developmentSoftwareIntegrations
Built with
Next.js 16, TypeScript, Tailwind CSS 4, Supabase, PostgreSQL, Zod, Resend, pdf-lib, Vitest, Vercel

Overview

The Bill Kent Family House is a private cottage near St Lucia that family members and invited guests can book. The website replaces messages and a shared calendar with a single place to check availability, book a stay and receive a confirmation, while the owner manages every booking from a simple admin dashboard.

The challenge

Bookings were being arranged by hand, which made double-bookings and unclear pricing a constant risk. Family stays and guest stays are priced differently, children under two stay free, and the cottage sleeps a fixed maximum. The owner needed those rules enforced automatically, plus a way to record payments that happen outside the website by EFT or cash.

What PRESEO did

PRESEO designed and built a Next.js booking site backed by Supabase. Availability is shown on a public calendar, the booking form calculates the price live as guests and dates change, and overlapping bookings are made impossible both in application code and by a PostgreSQL exclusion constraint. The owner signs in to an admin dashboard to search bookings, create or edit them on a guest's behalf, mark them paid, upload proof of payment and block out dates. Confirmations can be downloaded as a PDF or emailed to the guest.

What was delivered

  • Public homepage with availability calendar and things-to-do guide
  • Booking form with live pricing for family and guest stays
  • Confirmation screen with downloadable and emailable confirmation documents
  • Admin dashboard with calendar and list views
  • Manual booking creation, editing and cancellation for the owner
  • Paid/unpaid tracking with proof-of-payment upload
  • Blocked-date management for staff leave
  • First-run admin setup and Supabase-authenticated admin team
  • Row-level security, migrations and unit tests

Key features

  1. Live availability

    A public calendar shows which nights are free, booked or blocked, fed by a sanitised availability endpoint.

  2. Pricing rules built in

    Family bookings are priced per night, guest bookings per paying guest, under-twos stay free and occupancy is capped. The total updates as the form changes.

  3. No double bookings

    Overlaps are rejected in the application and by a database exclusion constraint, so two simultaneous bookings cannot both succeed.

  4. Owner dashboard

    Search, filter and edit bookings, mark payments received and manage blocked dates from a calendar or list view.

  5. Confirmation documents

    Guests receive a confirmation they can download as a PDF or have emailed, generated from the booking record.

  6. Editable site settings

    Rates, descriptions and share text are stored in a settings table so the owner can change them without a code deployment.

Screens

billkentcottage.co.za
Homepage of the Bill Kent Family House booking site on desktop
Homepage and availability
billkentcottage.co.za
Rates section with the per-person nightly price and the family rate explained
One price, explained once
billkentcottage.co.za
Things-to-do page with a lake view and places to visit around St Lucia
Things to do around St Lucia
billkentcottage.co.za
Booking page with the availability calendar and an empty booking summary
Booking starts with the calendar
billkentcottage.co.za
Booking page with four nights selected and the total worked out in the summary
The total is worked out before anything is confirmed
billkentcottage.co.za
Full-length homepage showing the cottage introduction, calendar and area guide
One page, everything a guest needs
Homepage on a phone
Built for phones first
Booking form on a phone
Booking on the go