Home / Documentation / User manual
Documentation · User manualVOXOPlan — User Manual
The VOXOPlan user guide: how to set up your workspace and run every module day to day, step by step.
Living document (updated in place; prior versioned copies removed 2026-10-01 — history in git) · Web address: https://www.voxoplan.com · Reference workspace: Tenant I — All Modules (Dubai, AED)
This guide explains every screen of VOXOPlan: what it is for, exactly how to perform each action, what happens in the rest of the system when you do it ("Impact"), and the web address (URL) of the page. It follows the same order as the VOXOPlan acceptance test plan, so a customer can use it for self-onboarding instead of a live demo.
Screenshots: each section has a marked spot — [Screenshot: …] — where the screen image is inserted.
How to read this guide
💡 Prefer learning inside the app? Open Quick tours (/tours, also in the sidebar): a guided walkthrough of the whole platform plus a detailed step-by-step tour for every module you have enabled. Each step takes you to the real screen and tells you exactly what to do there — tours never change your data, and your progress is saved so you can resume any time.
- URL — add it after
https://www.voxoplan.com. Example:/crm→https://www.voxoplan.com/crm. - Steps — the clicks and fields, in order.
- Impact — what else updates automatically. The short tags used:
- List — the new record shows in the page list
- KPI — the numbers on the page header cards change
- Calendar — the item shows on the shared calendar
- Notification — someone gets an alert (bell icon)
- Audit — the action is recorded in the audit log with your name
- Portal — the customer sees it in their self-service portal
- Public — it shows on your public website pages
- Who can do it — Owner/Admin can do everything. Manager runs operations. Employee sees their own work. If a button is missing, your role doesn't allow that action.
Part A — Getting in
A1. Public home page
URL: /
[Screenshot: public landing page]
- What it is: Your public marketing page. Visitors don't need to sign in.
- Steps: Scroll the page. Click any button (for example Get started or a module card) to open that page.
- Impact: None on your data. Visitors who submit booking or contact forms show up as leads/bookings in the matching workspace.
A2. Sign in
URL: /auth
[Screenshot: sign-in form]
- Enter your Work email and Password.
- Click Sign in. You arrive on the Dashboard (
/dashboard). - A wrong password shows a safe error message. Your account isn't locked, so check the password and try again.
- Sign out: click your initials (top right) → Sign out. Protected pages then send you back to
/auth. - Impact: Your session starts. Every action you take from here is recorded against your name (Audit).
A3. Forgot password
URL: /reset-password
- Enter your email → Send reset link.
- Open the email, then click the link and choose a new password.
- Impact: Your old password stops working right away.
A4. Create a new company (onboarding)
URL: /onboarding
[Screenshot: onboarding wizard]
- Enter the organization name, city, currency and time zone. (The form does not ask for a separate short name or country.)
- Choose the workspaces (modules) you want, for example Property, Hotel or Restaurant.
- Enter the name of your first branch (for example "Head Office") → Create organization.
- Free trial: every new company starts on a 90-day free trial that covers every module — no per-module licence is needed during the trial. The days remaining and the trial end date are shown on
/billing. - Impact: The new company appears in the company switcher (top left) with you as its Owner. Its data is completely separate from any other company you belong to; the company you were already in is untouched.
First‑run Quick Tour
The first time you open a workspace, a short Quick Tour appears (press Skip to dismiss it, or replay it later). Its 13 stops follow the same path as this guide — Welcome → Dashboard → shared Inbox → AI Employees → Approvals → your industry workspaces → CRM → Planning → Analytics → Governance → Billing & usage → Integrations → done — and each stop auto‑skips if your role or plan can't open that area. Use it as a 60‑second orientation; use this guide for the detail.
A5. Public pages your customers see
| Page | URL | What customers do | Impact |
|---|---|---|---|
| Property listings | /properties | Browse published listings | Only listings you publish appear (Public) |
| Property detail | /properties/<property> | View gallery, units, contact | Enquiries become Leads in /property/leads |
| Unit detail | /properties/units/<unit> | View one unit | — |
| Programmes | /programmes | Browse courses/activities | Only published programmes appear |
| Programme detail | /programmes/<programme> | Read details, enrol/contact | Enrolment lands in /education/enrolments |
| Module landing | /modules/<module> | Book a service (home services, car, room, table, trip) | Booking lands in that workspace's queue + Notification |
| Item detail | /modules/<module>/listing/<item> | View a car, room or package | Same data as the workspace |
| Module website (NEW) | /?org=<company>&module=<module> — or the root of a custom domain assigned to that website | Your branded mini-site for one module: hero, announcement bar, promo banners, a button into booking/browsing, your pages | Configure + publish it under Settings → Website; until you publish, nothing changes |
| Website pages (NEW) | /p/<page> (same ?org/?module rules) | Read your pages (about, terms, opening hours…) | Written as plain text under Settings → Website → Pages |
| Service page | /services/<service> | Book a service | Starts the booking flow |
| Blog | /blog/<post> | Read articles | — |
Branding tip: once a module's website is published, its look (your colours, header, footer) also wraps that module's public pages above — e.g. /properties renders inside your Property website's branded shell. Unpublished = everything stays plain, exactly as before.
Part B — Finding your way around (applies on every page)
[Screenshot: full screen with sidebar and top bar labelled]
| Element | Where | How to use | Result |
|---|---|---|---|
| Sidebar | Left | Click a group to expand it and a page to open it. Collapse (bottom) shrinks the menu to icons. | The current page is highlighted. The collapsed setting is remembered. |
| Company switcher | Top left | Click it and pick another company | Every page reloads with that company's data only |
| Search (⌘K / Ctrl+K) | Top centre | Type a customer, record or page name → press Enter | Opens the matching record |
| Ask AI | Top bar | Type a question, for example "How many rooms are free tonight?" | The AI answers from your data |
| Bell | Top bar | Open → Mark all read / View all | The unread count updates |
| Language | Settings → Organization (Interface language) | Switch English ↔ العربية and Save | The whole layout flips right-to-left for Arabic (the interface translates); switch back to English to return to left-to-right |
| Theme | Moon icon | Light / dark mode | Display only; remembered on this device |
| Your menu | Initials, top right | Profile, Organization settings, Sign out | — |
| Mobile | Screens under 1024 px | Tap ☰ to open the menu. Tap outside it or press Esc to close. | The menu closes after you pick a page. (Verified: pages stay within the screen with no sideways scrolling at phone (375 px) and tablet (768 px) widths.) |
| Dialogs | Any form | Close with Esc, the X, Cancel or by clicking outside | Nothing is saved until you click Save/Create |
| Greyed-out "Add" buttons | Lists that build on another record | Some Add buttons stay disabled until the parent exists — e.g. add a property before buildings/units, a collection before knowledge sources, a client before a project/tender | Create the parent first, then the button turns on |
| Uploads | Any file field | Drag and drop a file or click to browse | Files that are too large or the wrong type are rejected with a message |
| Form messages | Any form | — | If a value breaks a rule — too long, out of range, wrong format, or a required field left blank — the form shows a short, plain-English message that names the field (for example "Seats: Number must be less than or equal to 1000"), not a technical code block. Correct the named value and save again. |
| Wrong address | — | — | A branded "page not found" screen with a link home |
Part C — Company-wide pages
C1. Dashboard
URL: /dashboard
[Screenshot]
- What it is: Your home page. It shows live totals from every workspace you have switched on.
- Steps: Click any card to open the page behind it.
- Impact: The numbers come from your real records. For example, add a hotel booking and it counts here.
C2. Command Center
URL: /command-center
[Screenshot]
- What it is: What needs attention now: AI-detected risks, overdue work and pending approvals. Each item is marked Low / Medium / High.
- Steps: Click Review on an item to open the record behind it, then act on it there.
- Impact: Once the cause is fixed (for example the overdue rent is paid), the item disappears.
C3. Executive Center
URL: /executive
- What it is: Revenue, pipeline, occupancy and trend charts for owners and directors.
- Steps: Switch tabs and change the date range.
- Impact: Read-only. The figures match the individual workspaces.
C4. Unified Inbox
URL: /inbox
[Screenshot]
- What it is: Every customer conversation in one place: web chat, WhatsApp, email, SMS and voice.
- Steps:
- Click a conversation to read the full history.
- Type a reply → Send. You can also let the AI employee answer.
- Assign it to a colleague.
- Resolve it when the matter is finished.
- Impact: The assignee gets a Notification. New messages appear live. Resolved threads leave the open list.
C5. Tasks
URL: /tasks
[Screenshot]
- Click New Task.
- Fill in the title, description, priority (Low/Medium/High/Urgent), due date and assignee. You can also link a customer or workspace.
- Save.
- Open a task to edit it, change its status (Open → In progress → Waiting/Blocked → Completed) or delete it.
- Impact: List. The assignee gets a Notification. The task appears in their My Work, and on the Calendar if it has a due date. Workflows and AI employees also create tasks here automatically.
C6. My Work
URL: /my-work
- What it is: Only the tasks, approvals and follow-ups assigned to you.
- Steps: Tick items off as you finish them.
- Impact: Completing an item here updates the same record everywhere else.
C7. Calendar
URL: /calendar
[Screenshot]
- The month view shows every event; the Agenda on the right lists the selected day.
- Click New Event → enter Title, Date and Time → Create event. You'll see "Event created" and the event appears on that day.
- Impact: Property viewings, hotel stays, restaurant reservations, service jobs, education sessions and shared bookings appear here automatically, so the whole company works from one schedule.
C8. Notifications
URL: /notifications
- Steps: Click a notification to open the related record. Use Mark read on one or Mark all read.
- Impact: The bell count goes down.
C9. CRM — Customers
URL: /crm
[Screenshot]
- Click New Customer → choose Individual or Company → enter the name, phone, email, city and tags → Save.
- Use the search box, All Statuses and All Types filters to find people.
- Click a customer to open their profile (
/crm/<customer>). From there you can edit details, add a note or activity and upload attachments. Use Remove customer on the row to delete one.
- One shared record: a customer is the same record everywhere — a diner you add in Restaurant, a guest in Hotel, or a client on a job all appear here. The module screens let you add (and, for Restaurant, adjust loyalty points); edit and remove are always available here in the CRM.
- Tabs (Segments, Opportunities and Follow-ups are part of Growth intelligence — if your plan doesn't include it, these tabs show a "available on another plan" message with a link to Plan & Usage):
- Segments (
/crm/segments) — build a group with filters, for example "VIP + Dubai". - Opportunities (
/crm/opportunities) — create a deal, drag it through the stages, and mark it Won or Lost. - Follow-ups (
/crm/followups) — schedule a reminder and mark it done.
- Impact: There is one customer record for all workspaces. The same person can be a tenant, a hotel guest and a rental customer, and their profile shows all of that history. Follow-ups send a Notification when due. Won deals feed Analytics.
C10. Directory
URL: /directory
- What it is: Branches, departments and staff.
- Steps: Browse the tabs and open a person or branch. Add employees and assign them to a department or branch.
- Impact: Staff added here can be picked as assignees across the system.
C11. Files
URL: /files
- Click Upload (or drag files in) → add tags. Allowed types are images, PDF, Office documents, text/CSV, audio and video; anything else is rejected with a clear message (e.g. "File type not allowed").
- Search by name or tag. Click a file to open its detail panel (size, type, visibility, status, upload date).
- Open / download fetches the file through a short-lived secure link; Delete removes it.
- Impact: Files are private to your company and stored in access-controlled buckets. Files linked to a record also show on that record. Your total storage counts against your plan's file-storage limit (see §Plan & Usage) — once you reach the cap, new uploads stop with a clear "Storage limit reached — free up space or ask an owner to raise your file-storage limit." message.
C12. Documents (version control)
URL: /documents
- Click Upload and link the document to a record (customer, contract, project…).
- To revise it, choose Upload new version.
- Impact: Older versions are kept, and the newest one is marked as current. The document shows on the linked record.
C13. Knowledge Base
URL: /knowledge
- Click New Collection (your knowledge base) and give it a name.
- Add sources: Text, FAQ, Web page (URL) or Document upload.
- Delete a source you no longer want.
- Tip: Add Source stays greyed out until you've created at least one collection — make a collection first, then the button turns on.
- Impact: AI employees linked to this knowledge base answer from it. If you delete a source, the AI stops using it.
C14. AI Employees
URL: /agents
[Screenshot]
- Open an AI employee, or create one with Hire AI Employee: give it a Name, a Role, pick its Module (workspace), and set its Languages as short codes — e.g.
enoren, ar. (Keep each language code short; a long value is rejected.) You can also set its tone and allowed actions and connect a knowledge base. - Click Chat to try it, for example "Book a viewing for the Downtown 1BR tomorrow at 4pm".
- Impact: The action the AI takes (a viewing, job or reservation) appears in the matching workspace and is recorded in the Audit log. Risky actions go to AI Approvals first.
C15. AI Manager
URL: /manager
- What it is: A supervisor view of everything the AI employees have done.
- Steps: Click an activity to see the conversation and the result.
C16. AI Approvals
URL: /approvals
[Screenshot]
- Open a pending request and read what the AI wants to do.
- Click Approve or Reject.
- Impact: If you approve, the action runs, the requester gets a Notification and the decision is recorded in the Audit log. If you reject, nothing is changed.
C17. Workflows (automation)
URL: /workflows
[Screenshot]
- Click New Workflow. Enter a Name, optionally a module, and choose the Trigger: Manual or Event. (If you pick Event, you must also give it an event key.)
- Add at least one step (give it a name and pick the action: create task, send notification, AI analysis, request approval, branch and more) → Create workflow. It is saved as a draft. (Each step's config must be valid JSON — e.g.
{"title":"Follow up"}— otherwise Create is blocked with a message.) - Click the Activate button on the row. Use Test run to try it once.
- Schedule it: click the Schedules button (calendar-clock icon) on the row. Choose Repeat: Once (date & time), Daily (time), Weekly (day + time), Monthly (day of month + time) or Every… (a number of minutes, hours, days or weeks) → Add schedule. The message shows the next run time.
- Each schedule shows its Next and Last run. Use Turn off / Turn on to pause it, or the bin icon to remove it.
- Impact: Schedules only run while the workflow is active. Times use your company's time zone. The system checks for due schedules every 5 minutes, so a scheduled run can start up to about 5 minutes after its set time, and it never runs twice for the same slot. Every run appears in Run history (history icon) with the trigger "schedule".
C18. Voice AI
URL: /voice
- Steps: Pick an agent → Test call. Allow the microphone, speak, and hear the reply. You can also type instead.
- Impact: The call and its outcome appear in the Inbox. Phone numbers must be connected under Integrations first.
C19. Analytics
URLs: /analytics, /analytics/revenue, /analytics/customers, /analytics/operations, /analytics/trends
- Steps: Open a page and change the date range.
- Impact: Read-only charts. Revenue matches your invoices, Customers matches the CRM, and Operations matches the workspaces.
C20. Reports
URL: /reports
- Create a report: Click New Report → give it a Name, pick a Data source (required — e.g. Tasks by status, Customers by type, Opportunities by stage) and a Visibility (Private or Whole organization) → Save report. The report is saved as a reusable definition.
- Tip: The Data source is required — if you leave it on Select… the Save button won't complete.
- Impact: Your saved report appears in the list; open it to view the matching rows. Use Run / Generate on a saved report to re-aggregate it against the latest data (the "generated" timestamp updates).
- Note: There is currently no file export (CSV/PDF) from Reports — reports are viewed on screen. To share one with a colleague, set its Visibility to Whole organization.
C21. Planning
| Page | URL | Actions | Impact |
|---|---|---|---|
| Overview | /planning | View rollups | — |
| Objectives | /planning/objectives | New objective: title, owner, period, target date, priority | Shows in the list |
| Objective detail | /planning/objectives/<id> | Link KPIs and initiatives, update progress % | Progress rolls up |
| KPIs | /planning/kpis, /planning/kpis/<id> | Create a KPI, record a value, see its history | Trend chart updates |
| Initiatives | /planning/initiatives | Create one, link it to an objective, set status | The objective's progress changes |
| AI Workforce | /planning/workforce | Review AI employee capacity | — |
| Reviews | /planning/reviews | Record a periodic review | Recorded in the Audit log |
C22. Governance and audit
| Page | URL | What you do |
|---|---|---|
| Governance home | /governance | Cards linking to each area |
| Audit log | /governance/audit, /audit | Filter by person, action or date. AI-employee actions, approvals, and key changes — settings, domains, website, security, compliance and tasks — are listed (each with who and when). |
| AI activity | /governance/ai-activity | Inspect each AI employee run |
| AI policies | /governance/ai-policies | Set how much the AI may do on its own — the maximum autonomous risk level, the approval threshold, and a set of toggles (financial and destructive actions always require human approval; four-eyes for critical actions; review for sensitive actions; etc.). Editing is part of the Advanced governance plan feature — on plans that include it you can change and Save the policy (the AI follows the new setting straight away, and the change is recorded in the Audit log); on other plans the page shows your effective policy read-only with a short note and a link to Plan & Usage. A policy can only tighten the built-in safety floors, never weaken them. |
| Data governance | /governance/data | Data retention and data-subject requests |
| Security | /governance/security | Security overview |
| Access review | /governance/access | Review who has access to what |
C23. Resources and Bookings (shared booking engine)
URLs: /resources, /bookings
- Resources: choose a Type (vehicle, room, table, meeting room, classroom, equipment and more), type the Resource name → Add resource. It appears in the list as Active and bookable. Filter the list by type.
- Adoption tab: shows, for Car Rental, Hotel and Restaurant, how many existing cars, rooms and tables are linked to the shared resource list.
- Bookings: lists every booking made against a shared resource by any workspace (for example hotel stays), with start, end and status. Use Cancel to cancel one. Bookings are created from the workspace pages (for example Hotel › Bookings).
- Impact: One shared check refuses a booking that overlaps an existing one for the same resource, or falls in a closed period. Back-to-back bookings (one ends exactly when the next starts) are allowed. Another company can never check or book your resources. Bookings show on the Calendar.
C24. Contracts
URL: /contracts
- Choose a Type, optionally a Number (left blank, one is made automatically) → New contract. It is added as Draft.
- Use the Set status menu on the row to move it to active, pending signature, expired, terminated or renewed. You'll see "Contract updated".
- Filter by status with the buttons above the list.
- Impact: A single register of agreements across all workspaces. Property leases also appear here as lease-type contracts.
C25. Integrations
URL: /integrations
- Steps: Pick a channel or provider (WhatsApp, email, SMS, voice…) → Connect → enter the credentials. You can Rotate credentials, Disconnect, and view the connection's health.
- Impact: Messages from connected channels arrive in the Inbox. Credentials are stored securely and never shown again.
C26. Billing
URL: /billing
- What it shows: Your plan and (on a trial) the days remaining with the trial end date — a new company's trial runs 90 days and covers every module. The Module licenses card lists one row per workspace: during the trial it says the trial covers every module; on a paid/lifetime company each row shows its licence state (for example LIFETIME, with copy that renewals are arranged with VOXOPlan — online payment is not enabled). Below that, the Resource usage card shows file storage, Database, AI, Network, team members, monthly active users and customers, each with how much you've used and what remains.
- Licence states you may see: a module row can read covered by trial, Active (with an end date), Lifetime, Expiring, or Expired — the Expiring state appears as a module nears its end date (within about two weeks) and shows the days left (for example "Expiring — until 6 Oct (4d)"); you also get a Notification that the licence is expiring. Once a licence's end date passes (or it is withdrawn by VOXOPlan) the row reads Expired. A company can be licensed for several modules at once through a pack (a bundle) — those rows show the pack as their source. If a module licence ever lapses, that workspace shows a renewal screen ("your data is safe — renew from Billing"); no data is deleted, and access returns the moment it is re-licensed.
- Limits: Your plan's numbers are real: rows marked "Enforced limit" block the action at the cap — file storage (uploads stop with a clear "Storage limit reached" message; the free-trial cap is 500 MB) and team members (activating someone over your plan's user limit is refused with "You've reached your plan limit…"); likewise adding knowledge sources past your plan's limit is refused. The storage cap is enforced in the database itself (so it can't be bypassed); once your usage reaches the cap, new uploads are refused until you free up space or your limit is raised. The other rows (Database, AI, Network, monthly active users, customers) are informational — signing in is never blocked. Any active licence lifts the free-trial caps. Need more? Limits are adjustable per company — the platform team can set individual allowances above your plan (e.g. extra storage or team seats as part of your agreement); contact support. The Resource usage card always shows the limits that actually apply to you.
- Steps: View plans to compare plans and upgrade.
- Impact: Workspaces you are licensed for appear in the sidebar.
C27. Organizations, Settings, Users, Roles
| Page | URL | Actions | Impact |
|---|---|---|---|
| Organizations | /organizations | List your companies, switch between them | Each company only ever sees its own data |
| Settings | /settings | Company profile, logo upload (drag it in, preview, Clear, or paste a URL), tagline, accent colour, notification preferences, language/time zone. Website tab (NEW): pick a module → set colours, announcement, hero (headline, image, button), banners, navigation links and pages → Publish → "View site". Domains tab: connect your own domain (A record + Mark live) and choose what it Serves — your whole organization or ONE module website (e.g. restaurant.yourcompany.com → the restaurant site) | The logo appears on the customer portal and on exported documents; published websites appear to your customers at the URLs in §A5 |
| Users | /users | Invite user (email + role), suspend, remove | The invitee gets an email and can then sign in |
| Roles & Permissions | /roles | See or adjust what each role can do | The sidebar and buttons change for that role |
Part D — Industry workspaces
D1. Property Suite (AI concierge "Aria")
[Screenshot: /property]
| Page | URL | How to | Impact |
|---|---|---|---|
| Listings | /property | New listing: reference, title, address, rent/sale, residential/commercial, bedrooms, bathrooms, size (sq ft), price, owner, description. Add a virtual tour by upload or tour link. Set the status (Available / Reserved / Leased / Sold). You can edit, delete and compare listings. | List and KPI (available listings, occupancy) update. Published listings appear on /properties (Public). |
| Media | inside a listing | Upload photos, set the main photo, remove photos | The main photo is used on public pages |
| Leads | /property/leads | New lead: name, phone, email, budget, rent/sale, listing, source. Move it through the stages New → Qualified → Viewing → Offer → Won/Lost. | Pipeline value KPI updates |
| Viewings | /property/viewings | Schedule viewing: pick the lead and listing, date/time and agent. Then mark it Completed or Cancelled. | Shows on the Calendar. The agent gets a Notification. |
| Tenants | /property/tenants | Add a tenant: listing, lease start/end, monthly rent | Linked to the contract and payments |
| Owners | /property/owners | Add an owner (name, phone, email) | Selectable on listings |
| Contracts | /property/contracts | Create a contract that links listing + tenant + owner. Terminate ends it. | Shows on the listing and the tenant |
| Payments | /property/payments | Record payment against a contract (amount, date, method) | Collected/overdue KPI updates |
| Maintenance | /property/maintenance | Raise a request → assign it → mark Resolved | Assignee gets a Notification. Tenant sees the status in the Portal. |
| Commissions | /property/commissions | Record a deal commission (calculated from %) | Commission totals update |
| Mortgage | /property/mortgage | Enter price, deposit, rate and years | Shows the monthly instalment |
| Analytics | /property/analytics | View charts | Matches the data above |
D2. Property Operations (buildings and portfolio)
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /property-ops | View KPIs | — |
| Properties | /property-ops/properties, /property-ops/properties/<id> | New property, then edit it, add photos and attach documents | Top of the building structure |
| Buildings | /property-ops/buildings | Add a building under a property | Structure: Property → Building → Floor → Unit |
| Units | /property-ops/units, /property-ops/units/<id> | Add a unit and assign a lease | Unit status and occupancy |
| Leases | /property-ops/leases | New lease (unit + tenant picked by name + rent + dates). End lease. | A rent schedule is created automatically |
| Rent | /property-ops/rent | Record rent, mark it Paid or Overdue, log cheques | Arrears KPI and owner statements update |
| Owners | /property-ops/owners | Add an owner and assign properties | — |
| Statements | /property-ops/statements | Generate owner statement for a period | Income minus expenses minus fees |
| Payouts | /property-ops/payouts | Record a payout to an owner (search owner by name) | The statement shows it as paid |
| Maintenance | /property-ops/maintenance | Ticket: open → assigned → done | Notification |
| Preventive | /property-ops/preventive | Create a recurring schedule (for example "AC service every 3 months") | Future visits appear on the Calendar |
| Analytics | /property-ops/analytics | View charts | — |
D3. Home Services
| Page | URL | How to | Impact |
|---|---|---|---|
| Jobs | /home-services | New job: customer, category (AC, plumbing, electrical, painting, cleaning, pest control), description, address, time, price, emergency flag → assign a technician → Pending → Confirmed → In Progress → Completed | List and KPI update. The customer sees progress live in the Portal. |
| Technicians | /home-services/technicians | Add or edit technicians, their skills and availability | They can be picked on jobs |
| Customers | /home-services/customers | Add a customer | Same record as the CRM |
| Billing | /home-services/billing | Invoice a completed job → Mark paid | Revenue KPI and Analytics update |
| Inventory | /home-services/inventory | Add parts. Use them on a job. | Stock goes down |
| Reports | /home-services/reports | View | — |
D4. Auto Services (workshop)
| Page | URL | How to | Impact |
|---|---|---|---|
| Job cards | /auto-services | New job card: customer, vehicle, category, description, estimate → assign a mechanic or bay → status chain (Confirmed → In Progress → Awaiting Parts → Completed) | List and KPI update live |
| Mechanics | /auto-services/mechanics | Add, edit or remove mechanics | Assignable to job cards |
| Customers | /auto-services/customers | Add, edit or remove customers and their vehicles | — |
| Inventory | /auto-services/inventory | Add parts. Use them on a job card. | Stock is recalculated |
| Billing | /auto-services/billing | Invoice the job card (parts + labour) → Paid | Revenue KPI |
| Reports | /auto-services/reports | View | — |
D5. Car Rental
| Page | URL | How to | Impact |
|---|---|---|---|
| Fleet | /car-rental | Add vehicle: make, model, year, category, plate, seats, daily/monthly rate, insurance expiry | Available count. Insurance expiry is also tracked in Compliance. |
| Bookings | /car-rental/bookings | New booking: vehicle, customer, pick-up/drop-off place and time, insurance plan → Confirm → Pick-up → Return | Booking the same car for overlapping dates is rejected. The customer sees the booking in the Portal. |
| Customers | /car-rental/customers | Add, edit or remove | — |
| Drivers | /car-rental/drivers | Add chauffeurs with licence expiry | Expiry is tracked in Compliance |
| Maintenance | /car-rental/maintenance | Log damage on return. Create a maintenance record. | The car can't be booked while it is in service |
| Reports | /car-rental/reports | View | — |
D6. Hotel (AI receptionist "Zeno")
[Screenshot: /hotel]
| Page | URL | How to | Impact |
|---|---|---|---|
| Rooms | /hotel | Add room: number, type, floor, rate/night, max guests, beds, view, amenities. Set the status. | Available rooms and occupancy KPI. Note: adding a room makes it bookable in your admin Bookings screen; the public /portal/hotel catalogue uses a separate availability/opt-in check, so a brand-new room may still show "no rooms available" to customers until it's made publicly available. |
| Bookings | /hotel/bookings | New booking: guest, room, check-in/out, adults/children → Check in → Check out | Overlapping stays in the same room are rejected. Room status changes Occupied → Cleaning → Available. Arrivals and revenue KPI update. |
| Guests | /hotel/guests | Add or edit guests | Linked to their bookings |
| Housekeeping | /hotel/housekeeping | A Checkout Clean task is created automatically on check-out (or add one yourself) → move it Pending → In Progress → Completed → Inspected | The room returns to Available once inspected |
| Staff | /hotel/staff | Add, edit or remove staff | — |
| Maintenance | /hotel/maintenance | Mark a room Out of order → fix → close | That room can't be booked while out of order |
| Billing | /hotel/billing | Add charges to the guest bill → Settle at check-out | Revenue KPI |
| Reports | /hotel/reports | View | — |
D7. Restaurant
| Page | URL | How to | Impact |
|---|---|---|---|
| Orders | /restaurant | New order: table or delivery, items → Send to kitchen | Appears live on the kitchen screen |
| Kitchen display | /restaurant/kds | Bump each ticket through the kitchen: New → Confirmed → Preparing → Ready → Served | The order page and KPIs update live |
| Menu | /restaurant/menu | Add or edit categories, items and options. Change prices. Mark items sold out. | New orders use the new price |
| Tables | /restaurant/tables | Add tables (seats, section). Seat guests. | Table status colours |
| Reservations | /restaurant/reservations | New reservation (guest, party size, time, table) → Seat or No-show | Shows on the Calendar |
| Delivery | /restaurant/delivery | Delivery order: preparing → out for delivery → delivered | — |
| Customers | /restaurant/customers | Add, edit or remove | — |
| Loyalty | /restaurant/loyalty | Enrol a guest | Points are earned on each order |
| Coupons | /restaurant/coupons | Create a code (% or fixed amount, validity). Apply it on an order. | The discount is taken off the bill |
| Inventory | /restaurant/inventory | Stock items | Stock goes down as orders are made |
| Billing | /restaurant/billing | Settle the bill | Revenue KPI |
| Reports | /restaurant/reports | View | — |
D8. Travel
| Page | URL | How to | Impact |
|---|---|---|---|
| Bookings | /travel | New booking from a package → Confirm or Cancel | KPI. The customer sees it in the Portal. |
| Packages | /travel/packages | Create or edit packages with images and prices | Shown on your public module page |
| Customers | /travel/customers | Add, edit or remove | — |
| Visas | /travel/visas | Create a visa case → move it through the statuses | Notification on each change |
| Itineraries | /travel/itineraries | Build a day-by-day plan and attach it to a booking | Shows on the booking |
| Reports | /travel/reports | View | — |
D9. Construction
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /construction | View contract value, progress and risks | — |
| Projects | /construction/projects | New project: code, name, type, client, consultant, project manager, dates, contract value, retention %, location. Update progress %, attach drawings/documents, then Close the project. | Shows in the list. Files and changes are recorded in the Audit log. |
D10. Tender & Bids
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /tender | Win rate, bids due | — |
| Tenders | /tender/tenders | New tender: number, title, client, type, sector, value, due date, owner → Bid / No-bid → build the proposal → Export (with your company logo from Settings) → Submit → Awarded or Lost | The proposal file downloads. Status changes are recorded in the Audit log. |
D11. Fleet & Local Logistics
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /fleet | View active trips and on-time rate | — |
| Jobs | /fleet/jobs | Create job: choose the Customer (optional — search by name), and enter the Description, Pick-up and Delivery. | The job shows in the list with the customer's name. A job assigned to a customer appears in that customer's Deliveries portal (/portal/fleet), where they can track its progress and see proof of delivery. |
| Dispatch | /fleet/dispatch | Assign a job to a driver and vehicle | The driver sees it immediately in the Driver app (/driver) |
| Trips | /fleet/trips | Open a trip to assign a vehicle/driver, add stops, and confirm pickup / confirm delivery on each stop. | Confirming delivery records proof of delivery for that stop (recipient + time). The signed POD — a captured photo + signature — is added by the driver in the Driver app (/driver). |
| Vehicles | /fleet/vehicles | Add or edit vehicles (plate, type, capacity, odometer) | — |
| Drivers | /fleet/drivers | Add drivers with licence and expiry | Driver app login. The licence is tracked in Compliance. |
| Maintenance | /fleet/maintenance | Service record | The vehicle is unavailable during the service |
| Incidents | /fleet/incidents | Log an incident | Notification and Audit |
| Analytics | /fleet/analytics | View | — |
D12. Education & Facilities
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /education | View KPIs | — |
| Campuses | /education/campuses | Add, edit or remove campuses | — |
| Facilities | /education/facilities | Add a hall, pool or classroom and link it to a campus | Bookable |
| Programmes | /education/programmes | Create a programme (code, name, capacity, duration, waitlist, visibility) → Publish | Appears on /programmes (Public) |
| Sessions | /education/sessions | Schedule sessions (date, facility, instructor) | Shows on the Calendar and in the instructor app |
| Enrolments | /education/enrolments, or a Session page | Enrol a participant — on a session, pick them from Enrol participant; the Roster then lists each person as Confirmed or Waitlisted #n. | When the session is full, new people go on the waitlist (you'll see "Enrolment waitlisted (#1)"). They move up automatically when a place frees — e.g. cancelling a confirmed enrolment promotes the next person ("Cancelled · waitlist promoted"); Promote waitlist does it on demand. |
| Participants | /education/participants | Register a participant by searching the customer by name; edit or remove | — |
| Instructors | /education/instructors | Add an instructor and assign them to sessions | /instructor shows their schedule |
| Analytics | /education/analytics | View | — |
D13. Compliance
[Screenshot: /compliance]
| Page | URL | How to | Impact |
|---|---|---|---|
| Overview | /compliance | See active, expired, due in 7/30/60/90 days, missing evidence and high-risk items | Counts are calculated from your register |
| Register | /compliance/register | New item: category (licence, permit, insurance, certificate), authority, reference no., issue/expiry dates, renewal window, owner, risk | Status changes automatically: Active → Expiring → Expired. The owner gets a reminder task and Notification. |
| Requirement library | /compliance/requirements | Define what you must hold (for example "Trade licence — yearly") and link it to register items | Missing items are highlighted |
| Inspections | /compliance/inspections | AI checklist advisor: describe the inspection (e.g. "annual fire check of a 3-storey building with car park") → Recommend checklist → review templates, questions and uncovered risks → Use this template. Then create the inspection: published template → subject Customer (search by name) or Other subject → Create inspection → complete the checklist | AI uses only your published templates and never invents questions. Failed answers become findings |
| Findings | /compliance/findings | Log a finding (severity) | Leads to corrective actions |
| Actions (CAPA) | /compliance/actions | Create a corrective action with an owner and due date → close it | Status chain and Notification |
| Evidence requests | /compliance/evidence-requests | Request a document from a customer or supplier | They get an upload link in their Portal |
| Evidence review | /compliance/evidence | Approve or Reject each uploaded file | The item becomes Verified. The submitter is notified. |
| Instruments | /compliance/instruments | Guarantees, bonds and policies with expiry dates | Expiry reminders |
| Templates | /compliance/templates | Build a checklist template and use it in inspections | — |
| Analytics | /compliance/analytics | View | — |
Part E — Customer portal and staff apps
Customers sign in at /portal (customer portals have their own separate sign-in from your staff workspace). The first time a customer opens a portal, it looks for a record that matches their email: if you have already added them (as a customer/diner/traveller in the relevant module), they tap "Link my account" to connect and the portal opens; if not, they see a friendly "we could not find a record matching your email — contact us to be registered" message. So the flow is always: you add the customer first → they sign in and link → they can self-serve. Each portal shows your branding (name, logo, colours). They only see the workspaces your company uses.
| Portal page | URL | What the customer does | What you see |
|---|---|---|---|
| Portal home | /portal | Tiles for each service | — |
| Property (tenant) | /portal/property, /portal/property-hub | View contract and payments, raise maintenance | The request lands in /property/maintenance |
| Home services | /portal/home-services | Book, track the technician, rate the completed job | The rating shows on the job |
| Auto services | /portal/auto-services | Book, track the job card | — |
| Car rental | /portal/car-rental | Book, view the reservation | — |
| Hotel | /portal/hotel | Book, view the stay | — |
| Restaurant | /portal/restaurant | Order, reserve | The order appears on the kitchen screen |
| Travel | /portal/travel | Book a package, view the itinerary | — |
| Education | /portal/education | View programmes and enrolments | — |
| Fleet | /portal/fleet | Track a delivery and view proof of delivery | Create the job in /fleet/jobs with the customer assigned — it then appears here for them to track. |
| Compliance | /portal/compliance | Upload the requested evidence | It goes into your Evidence review queue |
| Documents | /portal/documents | Open shared documents through a secure link | — |
| Notifications | /portal/notifications | Their alerts | — |
Driver app — /driver: the driver accepts a job, captures a photo and signature as proof of delivery, then taps Complete. The job shows as completed in /fleet live. Instructor app — /instructor: the instructor sees their schedule and marks attendance for each session.
Part F — Platform administration (VOXOPlan staff only)
Only platform administrators see these pages, at /platform/*. They manage all customer companies, plans, module licences, usage and platform activity. Customers don't see this area.
- Plans & entitlements (
/platform/plans): define what each plan includes — every feature capability (knowledge, workflows, Manager AI, Command Center, advanced reporting, external channels, white-label, advanced governance, strategic planning, advanced analytics, growth intelligence), every limit (users, branches, AI employees, modules, workflows, storage, knowledge sources) and every permitted industry module (all 12, including construction, tender, fleet, education and compliance). Changes apply live to every organization on that plan, and the save shows how many organizations are affected. - Organizations (
/platform/organizations/<id>): per-company subscription (assign a plan), module licences (grant/revoke/extend), resource-limit overrides, and the read-only "included capabilities" summary. - Module packs, Usage, Activity, Admins and Settings round out the console.
Appendix — Test status on the reference workspace
Reference company Tenant I — All Modules (account voxiralabs@gmail.com, 12 workspaces switched on). Sample business data was loaded so every screen has realistic content: 14 customers, 5 staff, 9 tasks, 8 property listings with leads, viewings and tenants, 6 rental cars and 8 rental bookings, 10 hotel rooms and 8 stays, restaurant menu, tables and reservations, home-services technicians and jobs, workshop job cards, 3 construction projects, 3 tenders, 5 fleet vehicles with drivers and 8 delivery jobs, 3 education programmes, 6 compliance items, and 2 objectives.
| Area | Result |
|---|---|
| Sign in / sign out | Passed |
| Company opened by default | Fixed: a platform-admin account used to open another company's workspace by default. It now opens the account's own company first. |
| Every main page opens for this account | Passed (45 pages) |
| Sample data shows on CRM, Tasks, Planning, Dashboard, Command Center | Passed |
| Workspace pages (Property, Hotel, Car Rental, Compliance, etc.) | Data loads, but these pages were slow to finish loading in the test environment. Retest on the live site. |
| Full create/edit/delete run of every row in the test plan | Create flows: largely verified on the live site — customers, tasks, collections, jobs, reports, employees, coupons, plus module creates (Property listing, Restaurant order, Hotel room & booking, Car-rental booking, Travel booking, Home-services & Auto job, Construction project, Tender) and all 10 customer portals (restaurant/car-rental/travel/home-services/auto/compliance end-to-end). Remaining for a manual pass: in-row status changes (the dropdown "state" pickers — e.g. confirm/cancel, workflow stages), the right-to-left (Arabic) check, and features that need external keys (email send, card payments, voice/WhatsApp, custom-domain DNS). |
| AI governance policy editing (Advanced governance plans) | Passed — on a plan that includes Advanced governance, /governance/ai-policies shows the editable policy; changing the risk level / toggles, Save, persists and is recorded in the Audit log. On plans without it, the page is correctly read-only. |
Plans & entitlements admin (/platform/plans) | Fixed & verified live: the plan editor lists all plan features (including advanced governance, strategic planning, advanced analytics, growth intelligence) and all 12 modules, and Save entitlements now works correctly — saving a plan preserves every toggle (confirmed on Free Trial and Enterprise after a save + reload), with no duplicate-key error and no data loss. |
| Licence timers & expiry display (Billing / platform) | Passed — the trial countdown ("90 days remaining · Ends …"), the Expiring licence badge with days-left, the Expired state, the platform "licences expiring" overview, and the matching customer Billing rows all display correctly; a licence nearing its end also logs an audit event. (The automatic lock at period end is only active on a staging environment with enforcement switched on, so it isn't exercised on the live site.) |
| Demo-readiness of the reference workspace | Substantially ready — the cross-module demo path (dashboard → property → fleet → compliance → executive) renders cleanly in both light and dark themes, and most areas have realistic data (30 customers, property pipeline, fleet, compliance obligations, bookings across modules). Before a live demo, top up: consider tidying the Tasks board (it currently has a large number of auto-generated follow-up tasks). Opportunities/Segments and white-label branding only appear on higher plans. (The Education module was previously thin; it is now demo‑seeded — 2 campuses, 4 facilities, 3 instructors, 5 sessions this week, 7 confirmed enrolments, and a live waitlist (3 Confirmed + 2 Waitlisted) on the cap‑3 Swim Academy session.) |
Appendix — Choosing a customer
Wherever a form asks for a customer, tenant, owner or participant, type part of their name, email or phone in Search customers… and click the right person. The box then shows their name; click Change to pick someone else. Only customers of your own company appear. This applies to Leases, Ownerships, Owner statements, Payouts, Education participants, Compliance inspections and inspection schedules.
Appendix — Connecting an AI agent (Claude, ChatGPT, Cursor)
Where: https://voxoplan.com/integrations → Developer API tab (owners and admins only).
Steps:
- On the Developer API tab, create an API key and tick only what the agent should be allowed to do:
- Read customers
- Read tasks
- Create & update tasks
- Read hotel bookings
- Read property leases
- Copy the key. It is shown only once.
- In your agent app, add a new MCP (remote) server with the address https://voxoplan.com/api/v1/mcp, and put the key in as a Bearer token.
- Ask the agent things like "find customer UAT", "list my open tasks", "create a high-priority task in Hotel", or "show this month's hotel bookings".
What to expect:
- The agent only sees your own company's data, and only what the key allows.
- Tasks the agent creates or changes appear in the activity log, marked as agent actions.
- A key without permission for an action is refused. You can delete a key at any time to cut off the agent straight away.
Appendix — How AI requests and approvals work
- Ask an AI employee from inside a workspace, for example Restaurant → Chat with Remy or Hotel → Chat with Zeno.
- Low-risk actions (for example adding a hotel guest) run straight away, and the chat shows a tick and the result.
- Sensitive actions (for example adding a restaurant diner) wait for approval, and the chat shows "Submitted for approval".
- Go to https://voxoplan.com/approvals, find the request under Pending, and press Approve to run it or Reject to cancel it. Once approved, the record appears in the workspace.
Appendix — Automatic schedule timer
VOXOPlan checks every 5 minutes for due workflow schedules and compliance reminders, and runs them. Confirmed working on voxoplan.com from 29 Sep 2026. A schedule can start up to about 5 minutes after its set time. You don't need to do anything to keep it running.
