Clinic appointment scheduling software that does the front desk's job
Avinya Plus is clinic appointment scheduling software with a five-state status lifecycle (scheduled, in visit, completed, cancelled, no-show), filtering by doctor, date, patient, or status, and a color-coded badge on every appointment. The list feeds a live today's-schedule dashboard, and any appointment becomes an invoice in one click. India-first with GST billing; in early access.
The phone, the paper diary, and the double-booking
Front desk runs the day off a phone log and a paper register. Nobody knows who's a no-show until the patient doesn't show, billing starts from scratch after every visit, and a finished appointment can quietly get reopened. Avinya Plus puts the whole schedule on one screen so the day stays in order and nothing gets lost between booking and bill.
Built for how clinics actually work.
A real status lifecycle, not just a free-text field
Every appointment moves through scheduled, in visit, completed, cancelled, or no-show. The API validates each transition against a fixed map before writing, so a completed, cancelled, or no-show appointment can't be reopened and you can't jump straight from scheduled to completed. The status filter exposes exactly these five states.
Filter the schedule by doctor, date, patient, or status
Every query is scoped to the clinic and narrows by doctor, date, patient, or status, with sorting by date-time, patient, doctor, or status. The list page surfaces a search box, a status dropdown, and a date picker; the doctor and patient cuts power the doctor and patient-detail views. The appointments table is indexed on doctor, date, and status so lookups stay fast.
One-click invoice straight from an appointment
Choose Create Invoice on any appointment and it opens the billing flow with the patient and the appointment already attached. The invoice stores that appointment id via a foreign key, so the bill is permanently linked to the visit. No re-typing the patient, no copy-paste.
Appointment types you configure per clinic
Each clinic gets its own appointment-type list, seeded with Consultation, Follow-up, Treatment, Check-up, and Procedure. You rename, add, delete, or drag-to-reorder them; reordering runs through a dedicated routine and a deferrable unique constraint makes duplicate ordering structurally impossible.
Today's numbers on the dashboard, color-coded everywhere
The appointments view shows live counts for Total, Arrived, Waiting, In Consultation, and Completed for the current local date. Each status carries a fixed color and icon: scheduled is amber, in visit is blue, completed is green, cancelled and no-show are red. The same legend drives the list badges.
Every change is logged and tenant-isolated
Create, edit, status change, and delete each write an audit record, and you can pull a per-appointment history. PostgreSQL Row Level Security scopes every appointment to its own clinic, so one branch can never read another's bookings.
At a glance
- Five appointment statuses (scheduled, in visit, completed, cancelled, no-show) with API-layer transition validation: terminal states can't be reopened.
- Five default appointment types per clinic (Consultation, Follow-up, Treatment, Check-up, Procedure), fully editable and drag-to-reorder.
- Default appointment length is 30 minutes, with a 5-minute floor enforced by a database constraint.
- A live dashboard shows Total, Arrived, Waiting, In Consultation, and Completed counts for the current date.
- Any appointment becomes an invoice in one click, permanently linked by an appointment-id foreign key.
- Color-coded statuses (scheduled amber, in visit blue, completed green, cancelled & no-show red); every appointment is isolated per branch with PostgreSQL Row Level Security.
See how it stacks up.
| Feature | Paper / Excel | Legacy EMR | Avinya Plus |
|---|---|---|---|
| See the whole day's schedule in one screen | Partial | Yes | Yes |
| Validated status flow (no reopening a no-show) | No | Partial | Yes |
| Filter by doctor, date, patient, or status | No | Partial | Yes |
| One-click invoice linked to the appointment | No | Partial | Yes |
| Appointment types you configure yourself | No | No | Yes |
| Per-appointment change history (audit log) | No | Partial | Yes |
| Strict per-branch data isolation | No | Partial | RLS |
Questions, answered.
What appointment statuses does Avinya Plus support?
Five: scheduled, in visit, completed, cancelled, and no-show. The API validates every transition, so a completed, cancelled, or no-show appointment can't be reopened and you can't jump straight from scheduled to completed.
Can I create a bill directly from an appointment?
Yes. Create Invoice on any appointment opens the billing flow with the patient and appointment pre-attached, and the resulting invoice is permanently linked to that visit by an appointment-id foreign key.
Can I set my own appointment types?
Yes. Every clinic gets its own list, seeded with Consultation, Follow-up, Treatment, Check-up, and Procedure. You can rename, add, delete, and drag-to-reorder them, and a database constraint keeps the ordering unique.
Can I filter appointments by doctor or date?
Yes. The platform filters by doctor, date, patient, and status; the list page gives you a search box, a status dropdown, and a date picker, with sorting by date-time, patient, doctor, or status.
Will staff from one branch see another branch's appointments?
No. PostgreSQL Row Level Security scopes every appointment to its own clinic, so branches stay isolated even when staff are shared.
How much does it cost?
Avinya Plus is in early access. It's India-first today with GST-ready billing, and the architecture is built to go global.
Run your clinic on Avinya Plus.
Patient records, billing, and scheduling in one system your team will actually use.