Skip to content

Alhuda ERP UI Specification

Superseded — kept for history only

This page was written in January 2026 and is not a description of how the system works today. It is kept so the reasoning behind early decisions stays readable. Current behaviour is described in the feature pages. Do not build from this page.

Global Layout

  • Left sidebar: modules by role.
  • Top bar: global search (customer, passport, groupId), notifications, profile.
  • Responsive tables with filters, export buttons, and status badges.

Routing Structure

  • /dashboard
  • /inventory/airlines
  • /inventory/quota-blocks
  • /inventory/slots
  • /groups
  • /groups/[id]
  • /sales/customers
  • /sales/quotations
  • /sales/bookings
  • /agents
  • /ops/approvals
  • /visa
  • /tickets
  • /finance
  • /hotels
  • /food
  • /reports
  • /admin/users
  • /admin/roles
  • /admin/audit

Screen Specs

1) Dashboard

Purpose: executive summary and alerts. Components: - KPI cards: active groups, slots remaining, pending approvals, visa statuses, dues. - Alerts: tickets due for name update, finance clearance backlog. - Quick links. Filters: date range, group.

2) Inventory (Quota Blocks -> Slots)

Components: - Airline selector, quota block table. - Quota detail drawer: slots, price, expiry. Table columns: - Airline, flight, departure, seats, available, status. Actions: - Create quota block, generate slots.

3) Groups

List columns: - Group ID, name, departure/return, capacity, booked, status. Group detail: - Members list, slot usage, leader assignments. Actions: - Assign slots, assign bookings, add leader.

4) Sales (Customers, Quotations, Bookings)

Customers table: - Name, passport, phone, agent. Quotations table: - Quotation no, customer, amount, status, expiry. Bookings table: - Booking no, customer, group, status, dues. Actions: - Create quotation, convert to booking, assign group.

5) Agents

Table: - Agent name, company, commission, total bookings. Detail: - Agent customers, bookings, commission summary.

6) Operations Approvals

Queue: - Booking no, customer, payment status, verification status. Detail: - Verification checklist, communications log, approve/reject.

7) Visa

Pipeline board: - Status columns: Applied, Under Process, Issued, Rejected. Case detail: - Status history, documents, notes.

8) Tickets

Queue: - Booking no, departure date, name update due. Detail: - Clearance indicator, exception approval upload.

9) Finance

Payments table: - Booking no, amount, method, status. Dues: - Outstanding balances, aging. Actions: - Record payment, issue receipt, clear tickets.

10) Hotels/Food

Inventory tables: - Hotels: city, rooms, availability. - Food: item, quantity. Assignments: - Group allocation and remaining capacity.

11) Orientation/Notices/Assistance

Orientation list: - Group, date, attendance. Notices: - Pre-departure communications log. Assistance: - Requests by booking.

12) Admin & Audit

Users: - Role assignment, department, status. Roles: - Permission mapping. Audit: - Action, entity, actor, timestamp.

Component Baseline

  • Forms: controlled inputs, validation errors.
  • Tables: sortable columns, row actions.
  • Modals: create/edit/approve workflows.
  • Toasts: success/failure feedback.