Services
A complete guide to the Services module — creating and managing clinic services, pricing, scheduling rules, and department assignments.
Written By Dev010
Last updated 19 days ago
The Services module defines the treatments and procedures your clinic offers. Services are a core dependency across the platform — they are required for booking appointments and are linked to invoices for billing. Every appointment must have a service assigned.
Accessing the Module
Sidebar → Services
Direct URL:
https://yourdomain.com/dashboard/servicesWho can access:
Only Admin accounts can create, edit, or delete services. All other roles have view-only access — they can see services when booking appointments or creating invoices but cannot modify them.
Services List
The main services page shows a complete list of all clinic services.
Each row displays:
Service name
Category
Department
Price
Duration
Max bookings per day
Status badge (active / inactive)
Action buttons (edit, delete)
Creating a Service
Click the Add Service button on the services list page. A dialog opens with the service creation form.
Required Fields
Optional Fields
Classification:
Scheduling Rules:
Status:
Saving the Service
Click Save to create the service. It appears immediately in the services list and becomes available in the service dropdown when booking appointments.
Services must be active to appear in the appointment booking form and invoice creation form. Inactive services are preserved in the database but hidden from selection dropdowns.
Editing a Service
Click the Edit button on any service row. The edit form opens with all existing values pre-filled.
Update any fields and click Save. Changes take effect immediately — existing appointments and invoices linked to this service are not affected by price or duration changes.
Changing the price of a service does not retroactively update invoices that were already created with that service. Invoice amounts are fixed at the time of creation.
Deactivating a Service
If a service is no longer offered but has existing appointment or invoice history, deactivate it rather than deleting it.
Edit the service → toggle Active to off → Save.
Deactivated services:
Are hidden from appointment booking dropdowns
Are hidden from invoice creation dropdowns
Remain in the database and preserve all historical links
Can be reactivated at any time
Deleting a Service
Click the Delete option from the service row action menu.
A confirmation dialog appears before deletion.
⚠️ Deleting a service sets
service_idto null on any linked appointments and invoices (ON DELETE SET NULL). The appointment and invoice records themselves are preserved but lose the service reference. Deactivate instead of delete when historical records exist.
Max Bookings Per Day
The Max Bookings Per Day field controls how many times a service can be booked on any single calendar day.
This is useful for procedures that require significant preparation time or specialized equipment that limits how many can be performed per day.
The max bookings limit is enforced at the UI level during appointment booking. If you need hard enforcement, verify the limit server-side when creating appointments.
Follow-up Required
Toggling Follow-up Required on a service marks it as a service that typically requires a follow-up appointment after completion.
This is a documentation flag — CareNova does not automatically create follow-up appointments. It is visible to staff when reviewing the service and can inform scheduling workflows.
Service Categories
Categories are free-text labels used to group related services for easier navigation. Common category examples:
Categories are not a separate configuration table — they are typed directly on each service. Use consistent naming across services for clean organization.
Linking Services to Departments
Assigning a service to a department creates an organizational link that helps with filtering and financial reporting at the department level.
For example:
Dental Cleaning → Dental department
Blood Test → Laboratory department
Eye Exam → Ophthalmology department
Department assignment is optional but recommended for clinics with multiple departments.
Database Schema Reference
services
An index is set on name for fast search performance.
Relationship to Other Modules
Workflow Examples
Setting up services for a new dental clinic:
Sidebar → Services → Add Service
Create: General Dental Consultation
Price: 50.00
Duration: 30 minutes
Category: Consultation
Department: Dental
Create: Teeth Cleaning
Price: 80.00
Duration: 45 minutes
Category: Cleaning
Max bookings per day: 8
Create: Tooth Extraction
Price: 120.00
Duration: 60 minutes
Category: Surgery
Max bookings per day: 4
Follow-up Required: on
Special Instructions: "Avoid eating 2 hours before"
Services are now available when booking appointments
Temporarily suspending a service:
Sidebar → Services
Find the service → Edit
Toggle Active to off → Save
Service disappears from appointment and invoice dropdowns
Re-enable when ready to offer the service again
Updating a service price:
Sidebar → Services
Find the service → Edit
Update the Price field → Save
New price applies to all future invoices — existing invoices are unchanged
Troubleshooting
Service not appearing in appointment booking dropdown:
Confirm the service is set to Active — inactive services are hidden from dropdowns
Hard refresh the browser after activating a service
Confirm at least one service exists — the dropdown is empty if no services are configured
Cannot create or edit services:
Service management is restricted to Admin role only
Doctor, Receptionist, and Nurse accounts see services but cannot modify them
Service shows wrong price on new invoices:
Confirm the service price was saved correctly — check Supabase → Table Editor → services
Invoice amounts are set at creation time — editing the service price after an invoice is created does not change the invoice amount
Max bookings limit not working:
The limit is enforced at the UI level during booking
Check that the value is set correctly on the service record
If you need strict enforcement, verify the count server-side in your booking workflow
Next Step
Continue to the Departments module guide to learn how to organize your clinic into departments and assign staff, patients, and services to them.