generated from MokoConsulting/Template-Joomla
2.3 KiB
2.3 KiB
MokoSuiteBeauty
Salon and spa management for Joomla 6 — booking, service menus, stylist scheduling, client profiles, walk-in queue.
Quick Reference
| Field | Value |
|---|---|
| Package | pkg_mokosuitebeauty |
| Layer | 4 (requires: Client → CRM → ERP → POS + HRM) |
| Language | PHP 8.3+ |
| Branch | develop on dev, merge to main (protected) |
| Wiki | MokoSuiteBeauty Wiki |
Architecture
Joomla package (pkg_mokosuitebeauty) — Layer 4 add-on extending MokoSuitePOS.
Dependencies
- MokoSuiteClient (Layer 0) — base platform
- MokoSuiteCRM (Layer 1) — contacts, deals
- MokoSuiteERP (Layer 2) — inventory, accounting
- MokoSuitePOS (Layer 3) — touch POS, transactions
- MokoSuiteHRM (Layer 3) — employee scheduling, payroll (optional)
Helpers (5)
BookingHelper— availability slots, overlap prevention (FOR UPDATE), daily scheduleServiceMenuHelper— categorized menu, tiered pricing, add-ons, packagesClientProfileHelper— color formulas, allergies, visit history, birthdaysStylistHelper— performance, commissions, leaderboardWalkInHelper— queue management, stylist assignment, wait estimates
Key Patterns
- Booking overlap check uses
SELECT FOR UPDATEin transaction to prevent double-booking - Service pricing is tiered by stylist level (junior, senior, master)
- Walk-in wait estimate excludes already-in-service rows
Source Directory
source/pkg_mokosuitebeauty.xml— package manifestsource/packages/— sub-extensions
Rules
- Never commit
.claude/,.mcp.json,TODO.md,*.min.css/*.min.js - Attribution:
Authored-by: Moko Consulting - Workflow directory:
.mokogitea/ - Wiki: documentation lives in the Gitea wiki, not
docs/files - Standards: MokoStandards
- Changelog:
[Unreleased]only — release system assigns versions - No upstream references: never reference competitor products
Coding Standards
- PHP 8.3+ / Joomla 6 patterns
$this->getDatabase()in models,Factory::getContainer()->get(DatabaseInterface::class)in helpersFactory::getApplication()->getIdentity()for userFOR UPDATEinside transactions for race-condition-prone operations