Multi-day schedules

Donate to this project

Development Project Status: Completed

Total cost estimate (ex-Tax): 
Due date for completion of this stage: 
Current Percentage Funded: 
Project funding: 

Pledges can be made by email by clicking here.
Development will not commence until fully funded.

Project description: 

This project will add a multiple-day scheduling view to OpenVPMS, in order to better support boarding.


This view will be selected like the other scheduling views from the Workflow|Scheduling screen.

The view will have the:

  • columns displaying the days
  • the rows displaying the appointment slots. There is one row for each schedule, e.g. "Cat Cage 1", or "Dog Run 3".

When entering appointments, the existing appointment editor will be used. This will be modified to display the number of days that an appointment spans.

1. Navigation

The view will use the same navigation buttons as the single-day schedule view.

2. Display

The view will be able to display the following date ranges:

  • Day - same as single day view
  • Week - displays Sun-Mon
  • Month - displays days 1-28..31, depending on the selected month.

This is selected via a drop-down list.

2.1 Week View

The view heading will be of the form <View Name> - <Start Date> - <End Date> <End Date Month>. E.g.

Cages - 22 - 28 Sep

Cages - 29 - 5 Oct

  • each column displays the day and date e.g. 29 Mon
  • current date column is highlighted
  • the > button moves forward 1 day
  • the < button moves back 1 day
  • the >> button moves forward 1 week
  • the << button moves back 1 week
2.2 Month View

The view heading will be of the form <View Name> - <Month> <Year>. E.g.

Cages - September 2013

  • each column displays the day and date e.g. 3 Tue
  • current date column is highlighted
  • the > button moves forward 1 day
  • the < button moves back 1 day
  • the >> button moves to the start of the next month
  • the << button moves back to the start of the month, or the start of the previous month if the 1st is selected

2.3 Appointments

Appointments will display the same as they do in single day view.

Appointments that span days that aren't in the selected date range will include a:

  • '<' indicating the appointment starts on a prior date
  • '>' indicating the appointment ends on a future date


Craddock, S - Sadie - Boarding - Checked In  >

3. Configuration

A multiple-day schedule will utilise the existing archetypes. The entity.organisationScheduleView will have a new node, "multipleDayView" which when true, displays the view in the multiple-day layout.

Note that in this view, schedule blocking will not be possible. This would be implemented by the Schedule Blocking project.

4. Moving and Copying appointments

Appointments may be moved and copied as per the existing single day schedule view. i.e using Ctrl-X and Ctrl-V to move, and Ctrl-C and Ctrl-V to copy.

5. Overlapping Appointments

If appointments overlap, or two appointments fall on the same day (e.g. a patient leaves, and a new one comes in), the schedule will be displayed on two lines.

If there are multiple overlaps, then the schedule will only be repeated as many times as is required to display the appointments so that they don't overlap. E.g. given 4 appointments for the same schedule:

  • Appointment A: 1/12 - 2/12
  • Appointment B: 2/12 - 5/12
  • Appointment C: 7/12 - 9/12
  • Appointment D: 9/12 - 15/12

These will display as:

  • Row 1: Appointment A  ... Appointment C
  • Row 2: Appointment B ... Appointment D




Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Multi-day schedules

A generous supporter has pledged $950 to this project. If you can see where this would help streamline the booking process for hospital or cage space in your clinic why not pitch in to help get this project completed?

Re: Multi-day schedules

Overlapping appointments is going to need to represented because when a pet checks out one one day, and another pet checks in the same day, the kennel/cage is fully utilized. This needs to be represented somehow to accurately represent the booking activity. 

Re: Multi-day schedules

Good point. I've included this in section 5, and added a mockup of the month view.

Re: Multi-day schedules

The mock up looks good, however just a few questions.

1. Will the multi day scheduling have the ability to add the charges to the invoice based on the time that they are there. I assume they can be checked into and out of boarding; when they are checked out does it automatically add the charge to the invoice instead of the team having to count out days an manually add them on.

2. On that note, if it does auto add the charges, will it account for the pet either going home early or extending the stay without having to modify the reservation? In most PM systems if they are scheduled to leave a certain day and go home early or late, it will autocorrect the charges when adding them to the invoice regardless of the reservation having been modified or not.

3. We also have practices that charge for boarding differently. Some by the day, some by the night, then we have a 24 hour practice that pro-rates the day based on the hours that the pet is there. Is there a way to account for this in the charges, especially if the software will add them in automatically?

4. Is there any limit to the number of kennels that can be added in? We have some that have a capacity of over 200 pets.

5. Is there a way to add notes to the reservation on this page so they can easily see special alerts, instructions, warnings, etc?

6. Is it possible to add weight restrictions to the different cage sizes? For example if the small kennel should not have a pet in it that weighs more than 15#, can that either deny the reservation or alert the person making it? Not a vital part of the program but a plus to some systems. Same would go for species; not adding a cat into a dog kenel and vice versa.

7. If the system does add the charges automatically for the nights boarded, can each kennel size have it's own associated cost?

Re: Multi-day schedules

1-3. The Boarding invoicing project was created to address invoicing. I'll try and address your comments there.

4. There is no limit to the number of cages you add, although for large numbers of cages it may be better to have multiple views (e.g. one for cats, and another for dogs), to improve display times.

5. Its a bit hard to see in the mockup, but it works the same way as the appointment day view - you can add edit the appointment to add notes and they will appear when you hover the mouse over the information balloon icon as shown below.

You can see warnings and alerts by clicking on an appointment. They will be displayed in the customer/patient summary on the left hand side of the screen.

6. I can add these, but they will increase the scope and cost of the project. Is the weight restriction all that useful? If you haven't seen the patient before, there won't be a weight record in the system when the booking is made. If the patient hasn't been seen for a while, then the weight record may not be relevant. I think if it was required, there would need to be a boarding workflow that:

  • prompts for the current weight of the patient (customer might give this over the phone if there isn't one already)
  • displays a list of cages that match the weight and date criteria
  • makes an appointment

7. See Boarding invoicing.



Re: Multi-day schedules

Another valuable member of our user community has donated towards this project. If you would like to have this available to you in the next version of OpenVPMS you can donate and make it happen. Remember that most practitioners who pay for projects such as this will be able to claim the payment as a legitimate business expense (subject to advice from your accountant!).

Re: Multi-day schedules

This project has finally been fully funded. Thank you to all of the community members who made donations and have patiently waited for this moment to eventuate.

Proposed changes to specification

I'd like to make some minor changes to the above specification.

1. Currently the specification has the following for Week View:

  • current date column is highlighted
  • the > button moves forward 1 week
  • the < button moves back 1 week
  • the >> button moves to the start of the next month
  • the << button moves to the end of the previous month

Instead, I think the:

  • the first column should display the selected date - this saves scrolling, and means that a weeks worth of future appointments are displayed
  • the < and > buttons should move back/forward one day
  • the >> button moves forward 1 week
  • the << button moves back 1 week

2. Currently the specification has the following for Month View:

  • current date column is highlighted
  • the > button moves forward 1 month
  • the < button moves back 1 month
  • the >> button moves forward 1 year
  • the << button moves back 1 year

Instead, I think the:

  • the first column should display the selected date - this saves scrolling, and means that a months worth of future appointments are displayed
  • the < and > buttons should move back/forward one day
  • the >> button moves to the start of the next month. E.g.
    • if schedule displays March 2015, >> displays April 2015
    • if schedule displays 15 March - 15 April 2015, >> displays April 2015
  • the << button moves the the start of the previous month

3. The selected View and Date should be moved from above the query to above the appointments.

I think this is clearer, and also means that info bubbles aren't cropped (as is currently the case in 1.8)

Screenshot of changes below:

If no-one has objections, I will update the specification with these changes.


Re: Multi-day schedules

Changes sound good to me

Re: Multi-day schedules

Good evening Tim. 

I would like to propose a couple changes to the next release of the boarding module:

- When the schedule is very crowded, it is hard to distinguish when boarders are arriving and/or departing. It would be nice if there was a bold box around the boarder's complete stay, or if their first day stood out by making the text bold. 

- I am very concerned that the additional kennel location that is created for the overlapping stays (i.e. when one boarder checks out in the morning and another checks-in in the afternoon) will lead to errors. I foresee a staff member not being aware that this a phantom boarding location and incorrectly scheduling a pet in that space when it isn't available. It would be great if there was a way to split an existing location/cell versus creating a new row of cells. 

Thanks for considering my input.


Re: Multi-day schedules

Can you send a screenshot of a crowded schedule to tanderson at ?

There may be some stylesheet changes that can be made to improve the view.

For your second issue, you can prevent double booking by unticking the Allow Double Booking box on the Schedule.



Re: Multi-day schedules

Good evening Tim. 

Sorry that it has taken me a little while to double back to this. 

I think we came up with a fairly good work around to the congested boarding schedule issue. We set up five appointment types and assigned each a different color to each to break up the view (I have attached an image of our test environment). With a little attention, two appointments of the same color should never be scheduled back-to-back making everything much easier to view. 

The option to tick/untick the Allow Double Booking box solves one problem while creating another. Our hospitals will be very full for Thanksgiving, Christmas and New Year's Eve. If we have to leave a kennel unbooked for a night between reservations, that will result in a loss of revenue. It isn't an every day situation, but we will house 180+ pets at both Windmill and Frisco each night during those periods. 


Boarding calendar.jpg 363.58 KB
Syndicate content