← All projects

BUSINESS TOOLS / WEB PROJECT

Forma — Booking System

A well-planned day. More time for you.

Forma connects the people on both sides of an appointment. Customers choose a service and specialist, find an available time and manage their own visits. Staff see their assigned agenda, while the business owner controls the shared calendar, appointment records, access and working hours. English, Turkish, French and German run through the whole experience.

PROJECT SCOPE

  • Product identity and interface design
  • Customer booking and self-service
  • Staff agenda and access control
  • Business dashboard and reporting
  • Four-language experience
  • Persistent appointment management
  • Payment and email integration groundwork
Explore Forma (opens in a new tab)
oyibo.com.ng/booking-system
Forma booking application homepage with its sage and cream identity, four-language selector, customer and staff entry cards and management sign-in
The current Forma entry page, with separate customer, staff and business-owner access. Protected workspaces open through the application's canonical sign-in. Service and specialist profiles are starter demonstration content.
Open full-resolution image (opens in a new tab)

01 / THE BRIEF

A clear purpose.

Create an original booking application with the clarity of a polished service website and the depth of a practical business workspace. Connect the customer journey, staff agenda and owner dashboard around persistent appointment records, using Nigeria's time zone and currency.

02 / THE APPROACH

Design meets function.

A calm sage palette, warm neutral surfaces, editorial typography and a custom Forma wordmark give the product a recognisable identity. Separate customer, staff and owner entry points lead to focused experiences backed by server-side account permissions. Booking is broken into clear steps, operational information is organised into readable dashboards, and the four-language layouts adapt from desktop calendars to mobile appointment cards. The Oyibo address serves the current public entry page from the canonical Forma application; sign-in and protected workspaces keep their existing native identity and shared data.

03 / THE EXPERIENCE

Built around real tasks.

01

A guided booking journey

Service, specialist, date and time, contact details and a final review form one consistent reservation flow. Validation explains missing information, consent is recorded, and successful bookings receive a unique reference and a clear confirmation. Owners can also create guest appointments.

02

Availability that respects the working day

Available times account for service duration, the selected specialist, existing appointments, working hours and the lunch break. The starting rules use half-hour slots, weekdays, two hours of notice and a 60-day booking window in Africa/Lagos time. Occupied times are checked on the server before a booking is accepted.

03

A personal customer portal

Signed-in customers see their own upcoming and previous appointments, create new bookings, reschedule eligible visits and cancel within the configured deadline. A confirmation can be downloaded as an ICS calendar event. The starting cancellation and change deadline is 24 hours before the visit.

04

The business at a glance

The owner dashboard brings daily appointments, capacity, occupancy, available times and team activity together. A five-business-day view shows the rhythm ahead, while quick actions open the calendar, appointment list or booking experience.

05

One calendar, focused agendas

A day calendar displays specialist lanes, appointment durations and the lunch break. Owners can focus on an individual specialist; assigned staff receive their own agenda and only their authorised appointment records. Mobile layouts provide readable appointment cards.

06

Searchable appointment operations

Search by customer, service or reference, filter by status and open a detailed appointment panel. Confirmed, pending, completed, cancelled and no-show states remain distinct. Owners can track recorded payment status separately and export appointment records as CSV.

07

A team with clear access boundaries

Customer, staff and owner permissions are checked on the server for each operation. The owner assigns staff access to a specialist profile and can revoke it. The starter catalogue presents four example services with durations and prices, and three specialist profiles; these can be tailored in the source for a real business.

08

Reports that explain the activity

Appointment totals, completed visits, service distribution, status counts, recorded on-site payments and outstanding amounts are presented together. CSV export carries the selected interface language. Recorded on-site payments are staff-entered records rather than proof of a bank transaction.

09

Working hours under control

The owner can edit the business name, opening and closing hours, lunch break and customer change deadline. Settings are stored persistently. Changes that would conflict with existing future appointments are rejected, helping the operating schedule remain consistent.

10

Four languages, one uninterrupted flow

English is the default, with Turkish, French and German available across entry, customer, staff and management screens. Language preferences survive refreshes; switching language preserves an open form. Dates, interface labels, messages and exports follow the selected language while the workspace keeps Nigeria's NGN currency and Africa/Lagos time zone.

11

Designed for mobile and keyboard use

Long translations wrap naturally, forms collapse into readable single columns, and appointment tables become labelled cards on small screens. Large touch targets, visible focus states, Escape handling, contained modal focus and scrollable menus support a clear experience across desktop and phone layouts.

12

Reliable records behind the interface

Cloudflare D1 persists settings, appointments, access assignments and audit events. Unique time allocations and transactional writes help prevent double booking; version checks detect concurrent edits. Rescheduling preserves the existing appointment if the new time cannot be saved, and repeat requests are handled without duplicating a booking.

04 / WEB TECHNOLOGY

What makes it work.

Interface

  • React
  • TypeScript
  • CSS3
  • Lucide icons
  • Intl localisation

Application

  • Vinext
  • Next.js-compatible App Router
  • Vite
  • Cloudflare Workers

Data & delivery

  • Cloudflare D1 / SQLite
  • Drizzle ORM
  • Transactional SQL
  • CSV export
  • ICS calendar files
  • Cloudflare route Worker

05 / INTEGRATIONS

Connected where it counts.

Native ChatGPT sign-in

Implemented

The canonical Forma application establishes account identity. Server-side owner, staff and customer rules determine which records and actions each signed-in person can access; selecting a page address never grants a role.

Cloudflare D1

Implemented

A shared persistent database connects the owner workspace, staff agendas and customer portal. Appointments, time allocations, workspace settings, access assignments and audit events are stored together.

Paystack

Prepared · Not enabled

Server-side checkout, transaction verification and signed webhook handling have been prepared for Nigeria's NGN payments. Provider credentials and real-provider testing are still required. The current public version does not take online payments.

Resend email

Prepared · Not enabled

An email adapter, persistent notification outbox and signed delivery-event handling have been prepared for booking, change and cancellation events. A verified sender and provider setup are still required; automatic email delivery is not active in this version.

NEXT PROJECT / E-COMMERCE

Mambilla Premium

CURRENTLY FULLY BOOKED

Good work
takes focus.