Contents
System Overview
Castle Checkers Service Portal is a two-part web application built for a caretaker and home watch service business in Naples, FL. It consists of a public-facing website where clients submit service requests, and a private admin portal where the business owner manages those requests, clients, appointments, and invoices โ all from a single URL.
| Part | Who Uses It | URL |
|---|---|---|
| Public Site | Clients & prospective customers | castlecheckers.sonandigital.com |
| Admin Portal | Business owner / admin | Same URL โ click Admin Login |
The portal runs entirely in the browser with no app to install. It works on desktop and mobile.
Public Website
What Clients See
The public home page presents the business name, a description of services offered, and a prominent call-to-action button to submit a service request. The content shown (business name, service types, contact info) is all pulled live from the admin Settings โ no code changes needed to update it.
The public site has one primary action for visitors: submitting a service request through the wizard. There is no login, no account creation, and no payment on the public side. Everything is handled by the admin after a request is received.
Service Request Wizard
The wizard walks a visitor through a multi-step form to submit their request. Each step is clearly labelled and the visitor can go back to any previous step before submitting.
Step 1 โ Contact Information
- Full Name โ required
- Email Address โ required
- Phone Number โ required
- Preferred Contact Method โ Phone, Email, or Text
Step 2 โ Service Type
The visitor selects one or more services they need. The available options are configured by the admin in Settings. Default service types:
| Service | Description |
|---|---|
| Airport Transport | Drop-off or pickup to/from the airport. Collects flight details in the next step. |
| Home Watch Visit | Scheduled visit to check on the property while the owner is away. |
| Property Check | A specific inspection or check of the property. |
| Call Back | The visitor just wants to be called to discuss their needs. |
| Other | Anything not listed โ visitor can describe in the notes field. |
Step 3 โ Details
If Airport Transport was selected, additional fields appear:
- Flight Number โ e.g. AA123
- Arrival / Departure Date
All request types include a Notes free-text field for any additional context.
Step 4 โ Review & Submit
The visitor sees a summary of everything entered before submitting. Clicking Submit Request saves the request to the database and shows a confirmation message. The admin sees the new request immediately in the Service Requests inbox.
Admin Login
- Go to castlecheckers.sonandigital.com
- Scroll to the bottom of the public site and click Admin Login
- Enter your admin password and click Log In
- The admin portal loads โ you are now in the private dashboard
To log out, click the Sign Out button in the sidebar or the top bar on mobile. Your session ends immediately.
Default Password Warning Banner
If the admin password has never been changed from the factory default, an amber warning banner appears at the top of every page immediately after login:
Click Change Password in the banner or navigate to Settings โ Change Password to set a new password. The banner disappears permanently once the password has been successfully changed. If it reappears after signing back in, the previous change did not save โ try again.
Dashboard
The dashboard is the first screen after login. It provides a live snapshot of the business:
| Card | What It Shows |
|---|---|
| New Requests | Number of unreviewed service requests in the inbox |
| Total Clients | All clients in the system |
| Upcoming Appointments | Appointments scheduled for the next 7 days |
| Outstanding Invoices | Invoices in Draft or Sent status (not yet paid) |
Use the sidebar navigation on the left to move between modules. On mobile, tap the โฐ hamburger icon in the top-right corner to open the navigation menu.
Service Requests
Every submission from the public site lands here as a new request. This is your primary inbox for incoming business.
Viewing Requests
The list shows each request's client name, service type(s), and the date submitted. Click any row to expand the full request detail.
Editing a Request
- Click the pencil (Edit) icon on the request row
- An inline edit panel opens directly below the request with labelled fields
- Edit any field: name, email, phone, service types, flight number, dates, notes
- Click Save to apply changes, or Cancel to discard
Converting a Request to a Client
- Open the request detail
- Click Convert to Client
- A new client record is created with the name, email, and phone pre-filled
- You are taken to the Clients module to complete their profile
Checking Flight Details
If the request includes a flight number, it appears as a clickable badge. Clicking it opens FlightAware in a new tab with the flight pre-searched โ useful for confirming arrival times.
Deleting a Request
- Open the request detail
- Click Delete
- Confirm the deletion in the dialog
- The request is permanently removed from the inbox
Clients
The Clients module is your customer database. Every person you do business with should have a client record so you can link appointments and invoices to them.
Client Fields
| Field | Description |
|---|---|
| Name | Full name โ required |
| Primary email address | |
| Phone | Primary phone number |
| Service Address | The property address being cared for |
| Emergency Contact | Name and phone of someone to call in an emergency at the property |
| Notes | Any internal notes about this client (not visible to them) |
๐ Secure Notes
Each client record has an encrypted Secure Notes panel for storing sensitive information โ alarm codes, gate PINs, key safe combinations, emergency access instructions, or any information you would not put in the plain Notes field.
- Open a client record and click their name to view the detail
- Go to the Profile tab
- Click View / Edit next to the ๐ Secure Notes label
- Enter your admin password to unlock โ required every time you access notes
- Read or edit the note in the text area that appears
- Click Save Note (enter your password again to confirm)
- Click Hide to lock the panel when done
Adding a Client Manually
- Go to Clients in the sidebar
- Click + New Client
- Fill in the fields (Name is required; all others are optional but recommended)
- Click Save
Editing a Client
- Click the client name in the list to open their record
- Click the Edit button
- Update any fields
- Click Save
Deleting a Client
Open the client record and click Delete. Confirm the dialog. The client and all associated records are removed.
Viewing History
The client detail page shows two tabs: Appointments and Invoices โ showing all historical records linked to that client. This gives you a full picture of the relationship at a glance.
Appointments
Schedule and track all visits and services for your clients. The Appointments list shows all upcoming and past appointments in reverse-chronological order.
Appointment Fields
| Field | Description |
|---|---|
| Client | Select from your client list โ required |
| Type | Airport Drop-off, Airport Pickup, Home Watch Visit, Property Check, Call Back, Other |
| Date | Date of the appointment |
| Start Time | Time the appointment begins |
| Status | Scheduled / Completed / Cancelled |
| Notes | Internal notes for this appointment |
Airport Transport โ Extra Fields
When the appointment type is Airport Drop-off or Airport Pickup, additional fields appear:
| Field | Description |
|---|---|
| Airline | e.g. American Airlines |
| Flight Number | e.g. AA123 โ shown as a badge linking to FlightAware |
| Departure Date | Date the flight departs |
| Departure Time | Scheduled departure time |
| Arrival Date | Date the flight arrives |
| Arrival Time | Scheduled arrival time |
| Client Pickup Time | When you need to pick up / drop off the client |
Creating an Appointment
- Go to Appointments in the sidebar
- Click + New Appointment
- Select the client, type, date, time, and status
- For airport types, fill in the flight fields
- Add any notes and click Save
Editing an Appointment
- Find the appointment in the list
- Click the Edit button
- The edit form appears inline โ update any fields
- Click Save
Updating Appointment Status
Use the Status field in the edit form to mark an appointment as Completed or Cancelled once it has passed. This keeps your active list clean and provides an accurate history.
Deleting an Appointment
Open the appointment edit form and click Delete. Confirm the dialog. This permanently removes the appointment.
Calendar
The Calendar view gives you a visual monthly overview of all scheduled appointments. It is an alternative to the list view โ both show the same data.
Navigating the Calendar
- Use the โ Previous and Next โ buttons to move between months
- Click Today to jump back to the current month
- Each appointment appears on its scheduled date as a coloured entry
Adding an Appointment from the Calendar
- Click + New Appointment at the top of the calendar page
- Fill in the form (same fields as the Appointments module)
- Click Save โ the appointment appears on the calendar immediately
Editing from the Calendar
- Click an appointment entry on the calendar
- The edit form opens
- Make changes and click Save
Deleting from the Calendar
Click the appointment on the calendar, then click Delete in the form and confirm.
Blocked Days
Blocked days are dates when no appointments should be scheduled (e.g. holidays, personal time off). They appear on the calendar as unavailable. To manage blocked days, go to Settings โ Blocked Days.
Invoices
Create and track invoices for services rendered. The invoice number increments automatically based on the starting number configured in Settings.
Invoice Status Workflow
| Status | Meaning |
|---|---|
| Draft | Created but not yet sent to the client. Can be edited or deleted. |
| Sent | Delivered to the client. Can be deleted but not automatically re-sent. |
| Paid | Payment received. Cannot be deleted โ it becomes a permanent financial record. |
Creating an Invoice
- Go to Invoices in the sidebar
- Click + New Invoice
- Select the Client
- Set the Invoice Date and Due Date
- Add line items: click + Add Item for each service โ enter description, quantity, and unit price
- The total calculates automatically from all line items
- Add any footer notes (pre-filled from Settings)
- Click Save
Line Items
Each line item has three fields: Description (what you did), Quantity (hours, visits, units), and Unit Price (price per unit). The row total and invoice total update in real time as you type.
Editing an Invoice
Click an invoice in the list, then click Edit. You can change any field including adding or removing line items. Only Draft and Sent invoices are editable.
Printing an Invoice
Open the invoice and click Print. The browser's print dialog opens with a clean, formatted invoice view ready to save as PDF or send to a printer.
Changing Invoice Status
Open the invoice and use the Status dropdown. Move it from Draft โ Sent when you deliver it to the client, and from Sent โ Paid when payment is received.
Deleting an Invoice
- Open the invoice (must be in Draft or Sent status)
- Click Delete
- Confirm the dialog
- The invoice and all its line items are permanently removed
Settings
Settings control how the entire portal looks and behaves โ both the public site and the admin. Changes take effect immediately with no code changes or redeployment needed.
Business Information
| Setting | Where It Appears |
|---|---|
| Business Name | Public site header, invoice header |
| Phone | Public site contact section |
| Public site contact section | |
| Address | Public site contact section, invoice footer |
Service Types
The list of services shown in the public request wizard is stored as a JSON array in Settings. Edit it to add, remove, or rename service options. Each entry is a text label (e.g. "Home Watch Visit"). Changes appear immediately on the public site.
Task Checklist
A customisable checklist that appears during service visits. Stored as a JSON array of task descriptions. Edit to reflect your standard visit procedures.
Invoice Settings
| Setting | Description |
|---|---|
| Invoice Footer Text | Text printed at the bottom of every invoice (e.g. payment terms, thank-you note) |
| Invoice Next Number | The number assigned to the next new invoice. Increments automatically after each invoice is created. Adjust only if you need to re-sync with an external numbering system. |
Blocked Days
Add dates when you are unavailable. Each blocked day appears on the Calendar as unavailable. To add a blocked day: enter the date and click Add. To remove one: click the ร next to the date in the list.
Changing the Admin Password
- Go to Settings
- Scroll to Change Password
- Enter your current password
- Enter a new password โ must be at least 8 characters with at least one letter, one number, and one special character (e.g.
! @ # $ %). A strength hint appears below the field. - Re-enter the new password in the Confirm New Password field. A red error appears immediately if the two passwords do not match โ the Save button stays disabled until they match.
- Each field has a ๐ show/hide toggle โ click the eye icon to reveal what you are typing and verify it before saving.
- Click Save Password
Tips & FAQ
| Question | Answer |
|---|---|
| Can I use the portal on my phone? | Yes โ the portal is fully responsive. The sidebar collapses behind the โฐ menu, client details open full-screen, and all forms are touch-friendly. |
| A client gave the wrong phone number. Can I fix it? | Yes โ use the Edit icon on the request to correct any field before converting them to a client. |
| I accidentally deleted an invoice. Can I get it back? | No โ deletions are permanent. Only Draft and Sent invoices can be deleted. Mark an invoice Paid to protect it. |
| How do I add a new service type? | Go to Settings โ Service Types. Edit the JSON array and save. The new option appears immediately in the public wizard. |
| What does the flight badge do? | Clicking it opens FlightAware with the flight pre-searched so you can check live arrival/departure status. |
| I forgot the admin password. | Contact your SONAN DIGITAL developer to reset it. There is no self-service recovery on the login page. |
| Are blocked days enforced? | Blocked days are a visual indicator on the Calendar โ the system does not currently prevent saving an appointment on one. |
| Why do I see a yellow banner after login? | That is the default password warning. Go to Settings โ Change Password and set a new password. The banner disappears permanently after the change. |
| Why does Secure Notes ask for my password every time? | Each access requires re-authentication to prevent someone from reading sensitive notes if you step away from an unlocked browser session. |
| I typed my new password twice but Save is still grey. | The two passwords don't match, or the password doesn't meet the requirements (8+ characters, letter, number, special character). Check for the red error below the Confirm field. |