How can i build appointment management system?

Hello I am trying to make an appointment management system. Where anyone can make a doctors appointment. Doctor work 7 days in a week, but in different time slot, like on Friday he is available from 7 pm to 10pm, on Saturday he is available from 4pm to 8pm. And so on. So how can i make that time stot for 7 days. And each slot will be for 15 minutes.

Would this help?

class Slot < ApplicationRecord
  attribute :start_date_time
  attribute :end_date_time

You know the start and the end of the slot.

This is more of a project than a “how do I” question. You will want a table for each doctor that describes his availability (e.g Mon 8-5, Tue 8-5, etc.) – you may need something more complicated if the doctors have different availability from week to week (or you could just handle that by booking “ghost” appointments that fill the time they’re off. Then you will want a table for appointments that have been made, and you’ll create a form that allows the user to select from the unbooked times on a given day.

But more importantly, you should really be designing this at a high level before you sit down to write the first line of code. This is not a “print the Fibonacci sequence” type of program that you can just write off the top of your head (well, most people couldn’t).

1 Like

Calendaring and Appointment books have been solved many times over in Ruby on Rails. I’d definitely start my journey by hitting the Ruby Toolbox’s Calendar category here:

and also the Ruby gems site and hunt for calendar or appointment to see what comes up.

Once you have some good starting tools, it’s just a matter of building out the ActiveRecord models you need to represent Doctors, calendars, availability, and appointment slots and leveraging the appropriate libraries for the UX.


You can sort of do both. Use WordPress as an app framework. Scheduling/Booking can be a big build - if you find a plugin that does what you want, use that (always go with paid plugins though, worth it for support alone). Customer review and contact form are easy to build yourself. Bootstrap adds nothing but CSS and JS you could write yourself MyMileStoneCard