Branch Management
The Branch Management module allows administrators to configure and manage restaurant branches.
Each branch defines operational settings such as location, regional details, supported payment methods, and POS configuration.
Index Page
The Branches index page lists all available branches in a tabular view.

Filters
- Activation – Filter by active or inactive branches.
- From / To – Filter branches by creation date range.
Actions
- Create Branch – Add a new branch.
- Row Actions:
- Edit Branch – Update branch details.
- Delete Branch – Remove branch (disabled for the main branch).
- Bulk Actions:
- Delete Branches – Delete multiple branches (only if not the main branch).
CRUD Attributes
| Attribute | Description | Required |
|---|---|---|
| Name | Translatable name of the branch | ✅ Yes |
| Phone | Contact phone number | ❌ No |
| Contact email | ❌ No | |
| Address | Physical address of the branch | ❌ No |
| Active | Status toggle for branch (active/inactive) | ❌ No |
| Country | Country of operation | ✅ Yes |
| Registration Number | Tax registration number | ❌ No |
| Currency | Default branch currency (used for transactions & reporting) | ✅ Yes |
| Timezone | Branch operating timezone | ✅ Yes |
| Location (Lat, Lng) | Geographic coordinates for mapping | ❌ No |
| Order Types | Available order types for POS (e.g., Dine-in, Takeaway, etc.) | ✅ Yes |
| Payment Methods | Supported POS payment methods (e.g., Cash, Card) | ✅ Yes |
| Cash Difference Threshold | Allowed difference when closing POS sessions (validation rule) | ✅ Yes |
Create Page
When creating a new branch:

- Fill in branch information (name, phone, email, address).
- Configure regional settings:
- Country, currency, timezone, optional registration number.
- Latitude/longitude for mapping if available.
- Define POS Settings:
- Select available order types.
- Select available payment methods.
- Set cash difference threshold (used for validating cash count during POS session close).
- Mark the branch as Active or leave it inactive for setup-only purposes.
- Click Create to save.
Edit Page
When editing an existing branch:

- Name, currency, and timezone cannot be left blank.
- The main branch cannot be deleted.
- Update POS order types or payment methods as needed.
- Adjust the cash difference threshold if your closing process rules change.
- Updating branch details will immediately reflect across POS and reporting modules.
⚠️ Important Note on Currency Updates
Warning: Updating the branch currency after the branch has existing requests/orders may cause errors in reports and requests.
- Any previously created request linked to the old currency will not automatically update.
- Reports may display incorrect totals or mismatched values.
- Requests created before the change will remain in the old currency unless manually corrected.
Best Practice: Always define the correct branch currency during branch creation and avoid modifying it afterward once transactions exist.
