Directory / plugin

Terminy – Appointment Booking Calendar & Staff Scheduling

v1.3.3 · by amitry

Set up in five minutes, book in three clicks. The calendar shows how full each day is, and your team sees every appointment on their phone.

About this plugin

Try the live demo: book an appointment like a customer would and watch it arrive in the dashboard and on the iPhone.

Terminy turns a WordPress site into an appointment booking system. Three things set it apart from a plain slot list.

Set up in five minutes. Pick an industry – hair salon, tattoo studio, physiotherapy, car workshop and six more – and the wizard proposes the services, the staff and the opening hours that go with it. Adjust what you want, pick a colour scheme, and your booking page is created for you.

Your visitor books in three clicks. Every day in the calendar carries that day’s occupancy as a liquid level, so a visitor sees which days are quiet before clicking anything. The exact number of free slots is printed next to it, and the nearest free appointment is offered before a day is even picked.

Your team carries the calendar around. Every staff member gets a personal calendar feed URL for Google, Outlook or Apple Calendar, so the day’s appointments are on their phone without anyone logging in anywhere. With the free Terminy app for iPhone, the owner sees the whole team and every staff member sees their own day.

Your appointments live in your own database and stay there. There is no external booking service, no account to create and no fee per booking. This plugin makes no outbound HTTP requests of any kind.

Terminy app for iPhone

The free app puts the calendar on the team’s phones. It is currently available in German and needs iOS 17 or later. Get it on the App Store.

  • Today’s appointments and the week ahead, always at hand
  • Add, move and cancel appointments on the go
  • Customer details with every appointment
  • The owner sees the whole team, every staff member sees their own appointments
  • Paired with a QR code: no account, no password
  • The app talks only to your own website, and your data stays there

The app connects through the Terminy Pro add-on, which is available separately: see what Terminy Pro adds. This free plugin contains no device pairing, so the app alone is not enough.

Setup wizard

Pick an industry preset (hair salon, medical practice, physiotherapy, beauty, tattoo, driving school, car workshop, coaching, veterinary, personal training), adjust the services and staff it proposes, choose a colour scheme. The booking page is created for you. Running the wizard a second time does not duplicate anything.

Booking logic

  • Working hours per staff member, or business defaults, including split shifts
  • Buffer time before and after each service
  • Lead time and booking horizon
  • Absences and holidays per staff member or for the whole business
  • Timezone and daylight-saving safe
  • Double-booking protection with database locking
  • “Anyone” assignment that spreads bookings across the team

Calendar and widget

  • Flat day cells whose liquid level shows how busy the day is, with the number of free slots next to them
  • Choose whether a full cell means “fully booked” or “lots of free slots”
  • The nearest free appointment is offered before a day is even picked
  • Six colour schemes
  • Respects prefers-reduced-motion, ARIA labels, full keyboard navigation
  • On a phone, picking a day swaps the month view for that day’s times instead of stacking them

Notifications

Confirmation, reminder, reschedule and cancellation emails with editable placeholder templates and an ICS calendar attachment. Staff members get their own notification and a personal ICS feed URL for Google, Outlook or Apple Calendar.

Calendar in WordPress

The week calendar shows every appointment as a card in the staff member’s colour, with the week’s numbers on top. Click a card and a panel opens on the right: customer with email and phone, service and duration, price and where the booking came from. Confirm it, mark it as completed or as a no-show, move it to another free time or cancel it, without leaving the week.

The staff page shows a card for every team member: job title, appointments this week, how much of their working time is booked, and their hours. The edit form opens in a panel on the same page.

Waiting list

When a day is full, customers can join a waiting list and are notified automatically as soon as a slot frees up.

Cancellation and rescheduling

Every confirmation email carries a secure manage link. The customer can cancel or move the appointment within a deadline you set. A cancellation triggers the waiting list.

Editor integration

A native block with live controls, a native Elementor widget, and the [terminy] shortcode.

Privacy

A consent checkbox is required on every booking. Terminy registers with the WordPress personal-data export and erasure tools, and anonymizes inactive customer records after a retention period you choose.

Payments

“Pay on site” is built in and records the payment state on each appointment. Additional gateways register themselves through the terminy_payment_gateways filter.

For developers

Over 60 documented actions and filters, listed in docs/HOOKS.md inside the plugin folder. Add-ons can attach a whole feature area through terminy_admin_menu, terminy_register_rest_routes and terminy_wizard_result without patching core files.

Shortcode

[terminy] with optional attributes: `service="3" staff="2" skin="rose" water="on|off" water_mode="booked|free" parallax="on|off"`

Plugin tags