Files
MokoSuiteBeauty/CLAUDE.md
T
jmiller 53a99cc641
Cascade Main -> Dev / Cascade main -> dev (push) Has been cancelled
Sync Workflows to Repos / sync (push) Has been cancelled
Revert "Merge branch 'dev' into main"
This reverts commit 73250318c3, reversing
changes made to a1890da4e4.
2026-07-10 16:24:27 -05:00

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 schedule
  • ServiceMenuHelper — categorized menu, tiered pricing, add-ons, packages
  • ClientProfileHelper — color formulas, allergies, visit history, birthdays
  • StylistHelper — performance, commissions, leaderboard
  • WalkInHelper — queue management, stylist assignment, wait estimates

Key Patterns

  • Booking overlap check uses SELECT FOR UPDATE in 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 manifest
  • source/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 helpers
  • Factory::getApplication()->getIdentity() for user
  • FOR UPDATE inside transactions for race-condition-prone operations