ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Booking Appointments for a Chiropractor

August 13, 2012 4:32pm

Subscribe [5]
  • #1 / Aug 13, 2012 4:32pm

    jasonathopi

    35 posts

    I’m about to begin a new project for a chiropractor. He would like users to book appointments online and also have his assistant use the same front end to book appointments when someone calls in.

    I have dug around and found out there is no third party add on that currently does this. rEEservation is almost perfect except it doesn’t do exact times.

    I understand EE pretty well but do not know the first thing about building add ons. So my question is this…could I take something like Solspace Calendar events or Low Events and create a front end form that would just be someone creating an event (reservation) and somehow tell EE not to allow multiple events at the same exact time?

    I may be reaching here but it doesn’t look like EE has many options for this functionality.

    Any ideas?

  • #2 / Aug 14, 2012 11:05am

    Dan Decker

    7338 posts

    Hi Jason,

    Thanks for your questions!

    Solspace Calendar ties into standard channel entries, so you can build a front end in SafeCracker. As far as I know, managing overlap would be up to you. It looks like Low Events has the same limitations, meaning that you would need to work out the logic check yourself.

    This idea is certainly possible, but would require a good bit of work to make it come together.

    Would you like me to move this over to Community Help or Development and Programming to get a broader input?

    Cheers,

  • #3 / Aug 14, 2012 11:07am

    Boyink!

    5011 posts

    IMHO EE is going to be a force-fit for this.  It’s a Content Management System, not a schedule management system.

  • #4 / Aug 14, 2012 12:14pm

    Dan Decker

    7338 posts

    Hey Mike,

    Indeed. Not a walk in the park, for sure. It may be a better effort to integrate a purpose-built reservation system than to shoe-horn one into ExpressionEngine.

  • #5 / Aug 21, 2012 5:47pm

    Steven Grant

    894 posts

    You’d be surprised guys. I used EE to build something similar recently.

    It was an events site that sold events with specific workshops inside. The events were easy enough to handle with CartThrob and reducing the capacity of 1 each time but managing the workshops was a little bit more problematic.

    For that I ended up using Matrix with the workshop times and the capacity.

    That field then acted as custom data for the CartThrob order.

    From there, when an order is complete, I’m using the query module to count the entries where a specific workshop has been booked against the capacity of the workshop and allow selection (or disable if fully booked).

  • #6 / Aug 22, 2012 10:35am

    Dan Decker

    7338 posts

    Steven,

    Thanks for your insight!

    ~

  • #7 / Nov 08, 2012 8:03pm

    jasonathopi

    35 posts

    Ok so I’m revisiting this now, and I need some help.

    I’m trying to use a {query} to pull entries from my channel “appointment_days” and then my matrix field {start_time}

    I know NOTHING about “querys” so I’ve been playing around, and I can get it to work in a very basic form, but I don’t know how to get it to pull entries seperated by day (separate “appointment days entries)

    Here is the code that will pull the times from ALL entries created in “appointment_days”

    {exp:query sql="SELECT * FROM exp_matrix_data"} 
    <input type="radio" class="day_select" name="appointment_time" value="{url_title}" />{col_id_1}
    {/exp:query}

    If you’re wanting to see what I’m trying to pull off visually you can check out http://jbirdsites.org/chiropractor/index.php/appointment

    All of this is wrapped into a freeform and the office will get an email when an “appointment” is made. Eventually I want to get the times that have been selected to not display, but we will cross that when we get there.

    Any help out there?

    Thanks,
    Jason

     

  • #8 / Nov 08, 2012 10:47pm

    jasonathopi

    35 posts

    Ok so after playing with it a little more, I didn’t get what I wanted but at least I can better show what I’m trying to do. I can pull what I need using the code below.

    <div class="select_time"><!--Start Day-->
    <h3>Mon, January 2</h3>
    <p>{exp:query sql="SELECT col_id_1 FROM exp_matrix_data WHERE entry_id = '7' "}<br />
    <input type="radio" class="day_select" name="appointment_time" value="{url_title}" />{col_id_1}<br />
    {/exp:query}<br />
    </div><!--End Day--></p>
    
    <p><div class="select_time"><!--Start Day--></p><h3>Tuesday, January 3</h3>
    <p>{exp:query sql="SELECT col_id_1 FROM exp_matrix_data WHERE entry_id = '8' "}<br />
    <input type="radio" class="day_select" name="appointment_time" value="{url_title}" />{col_id_1}<br />
    {/exp:query}<br />
    </div><!--End Day-->

    Obviously the problem is the “day title” and the “entry_id” aren’t being dynamically pulled.

    How could I dynamically do what I’m doing above?

  • #9 / Nov 09, 2012 10:24am

    This is Justin Kimbrell (@objectivehtml)

    Just figured I would reply to this thread. We used EE to build a custom scheduling application that is used for dr/patient. It supports scheduling for dependents (spouse and/or children). It can create timeslots at different intervals, and users pick their appointment on the front-end based on the current availability. It’s very robust and does one job very well, and that is scheduling. It’s structured like CartThrob in the sense that it has an API of EE tags and methods to build each unique application. We have a default theme that we spent a lot of time on with a rockstar UI/UX. It’s really one of kind and people in the healthcare industry rave about it.

    Contact .(JavaScript must be enabled to view this email address) to schedule a demo. The scheduling app is standard EE module that can be installed, but due the complexity and cost of support, it will likely never be released as a public add-on. Rather, we work with developers to install the application and tweak it to each client’s needs.

  • #10 / Nov 09, 2012 5:26pm

    Robin Sowell

    13255 posts

    Hrm- your life is much easier if you can have them select the date first.  Have one entry for each day- and a matrix field that holds the time slots. 

    Pick your day- pass that in the url as a date segment- and you could use a channel entries tag to pull back the existing entry.  If it exists- embed a safecracker form for them to edit- use conditionals to display the matrix fields that are empty.  If it doesn’t exist?  New safecracker form.

    All of that CAN happen on the same page- but it’s going to take a lot of AJAX to get it working.  So I’d do it two pages first- then add in the ajax.

    Or- go with an existing solution.  It might be worth the cost/benefit analysis.

    That help generate any ideas?

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases