EMDR Consulting
Consultation Scheduling System
A custom booking system where consultants publish their availability and trainees book the consultation hours their EMDR training requires.

The problem
EMDR Consulting’s basic training requires 10 hours of consultation with an approved consultant. Those hours are included with the training, so there is nothing to pay at booking. Booking ran on SignUpGenius, and some consultants paid for their own separate accounts, so sessions were spread across tools with no connection to the company’s website.
Trainees had to browse separate listings for each consultant to find a session that fit their schedule. Everything after the booking was manual, too. A support team member checked off each trainee’s hours by hand, staff tracked who was close to finishing, and working out what each consultant was owed for the hours they ran was its own tedious process.
The client wanted to bring scheduling in house, with every consultant’s sessions in one searchable calendar.
What I built
I handled planning, database design, backend development, the calendar interface and testing for a scheduling system inside the existing WordPress site, with a side for consultants, a side for trainees, and tools for the staff who run the program.
For consultants:
- A weekly availability calendar. They drag a session length onto the calendar to create a session, and each length has its own attendee limit.
- Undo and redo, and copy and paste of a whole week’s schedule
- Per-session settings for co-hosts, meeting format, join link, and notes for attendees or for hosts only
- An attendee list for each session with the hours each person has completed
- A record of no-shows and late cancellations, and whether each has been resolved
- Exports of sessions and attendee emails for a date range
- Each consultant’s own fees, currency and capacity limits
For trainees:
- A public calendar of every open session for the next three months, filterable by specialty, population, consultant, length, format, date, time and remaining spots
- A page for each session with the consultant’s profile and cancellation policy
- A “Notify Me” option when a session is full
- Times shown in the visitor’s own timezone, which they can change in their account
- A progress tracker on their account page listing every step left before they can get their certificate of completion
For staff:
- A CSV export that calculates what each consultant is owed for a chosen date range, which the team uses for consultant payouts
- Certificates of completion. When a trainee finishes every step, they get an email with a link to download their certificate. The certificate is built from our designer’s template and filled in programmatically with FPDI.
It also sends notifications to consultants and attendees, and ties into the existing training registrations.
Hard parts
- Timezones. Consultants set availability in their own timezone and trainees book from anywhere, so I handled conversion on the server. The listing query receives the visitor’s timezone, and MySQL does the conversions, including daylight saving time, to return localized session times. A cookie stores the timezone, defaulting to the one the browser reports, and visitors can override it in their account settings.
- Training eligibility. Trainees become eligible for consultation after part one of their training ends. I tracked that eligibility in the data model so booking worked with the training registrations the business already relied on, instead of replacing them.
- Rules that block booking. No-shows and late cancellations are recorded as issues against the trainee. Two unresolved issues, of either kind, block a trainee from signing up for another session until they’re resolved.
Result
Consultation booking runs on EMDR Consulting’s own site for more than 100 consultants, and the separate scheduling subscriptions are gone. Trainees track their own progress and download their own certificates, so nobody checks off hours by hand, and consultant payouts start from an export instead of a manual tally. The public calendar brings every consultant’s sessions together in one searchable place. When the screenshot below was taken, it listed more than 1,300 sessions over the next three months.
Screenshots



