SP

Surveyor POS — Documentation

Welcome to the Surveyor POS documentation. This application is a full-featured Point of Sale and management platform built for equipment rental businesses (survey equipment, instruments, field gear, etc.) with support for multi-branch operations, project management, and a dedicated customer portal.


Table of Contents

Guide Description
Setup & Installation Server requirements, environment config, first-run steps
Features Overview Every feature explained in one place
Admin Guide Complete guide for system administrators
Worker Guide Day-to-day operations guide for staff
Customer Guide Self-service portal guide for customers
FAQ Frequently asked questions and troubleshooting

System Overview

Surveyor POS is a Laravel 10 application with three distinct user roles, each with their own authentication guard and portal:

/admin/dashboard   → Administrators
/worker/dashboard  → Workers (staff)
/user/dashboard    → Customers

Core Modules

Rental Management Two parallel rental systems run side by side:

  • Day Rentals — equipment is rented by the day at a daily rate (price_per_day)
  • Point Rentals — equipment is rented using a point-based pricing system (price_per_point)

Booking Requests Customers submit equipment booking requests from their portal. Admins and workers review, approve (which auto-creates a rental), or reject with a reason. SMS notifications are sent to the customer at every stage, and to all branch workers immediately when a request is submitted.

Project & Task Management Projects can be created and assigned to customers, with tasks delegated to workers. File uploads and comment threads keep everyone in sync.

Financial Tracking Every rental tracks total price, payments made, late fees, damage fees, discounts, and deposits. Outstanding balances are surfaced in reports and the customer dashboard.

Audit Trail Every significant action (rental created, booking approved/rejected, deposit returned, etc.) is recorded in the audit log with the actor and timestamp.


Tech Stack

Component Version
PHP 8.2
Laravel 10
Database MySQL
Frontend Tailwind CSS v3, Alpine.js v3, Bootstrap (admin theme)
PDF Generation barryvdh/laravel-dompdf 3.x
SMS Wigal SMS API (frogapi.wigal.com.gh)
Auth Laravel Breeze + Sanctum, multi-guard
Testing PHPUnit 10

Quick Links