I'm trying to determine if this module will do what I need:

I think this module might work but I want to make sure. The West
Virginia Nursing Center is looking for an application that will handle
clinical bookings for Schools/Colleges. Here's the use case.

Multiple Hospitals with floors that can be assigned/reserved for a period of
time to a school/college

[Hospital A]
[2E] //Second Floor East
[ICU] //Intensive Care Unit
[Hospital B]
[2E]
[4W]
etc. there can be a lot of floors per hospital that can be reserved/booked

[School A] needs to reserve 2E at [Hospital A] No other school can use that
floor for given period of time.
[School B] tries to book the same floor at the same hospital for the same
time period, but gets a warning that the floor for the that frame is already
booked.
etc.

Is this the correct module to use?
I apologize if this isn't the correct spot to ask questions.
Warm Regards,
Chris

Comments

chriscriswell created an issue.

darrick’s picture

MERCI will work well for your use case. You can create a content type called rooms. Then create all the rooms. You can use Taxonomy to categorize them by hospital. I believe the one limitation is MERCI currently only supports one location (hours of operation.) If all the rooms are reservable only during the same hours across hospitals it shouldn't be an issue. But if some close at 5pm and others at 8pm, etc. then you would have to do some slight customization.

silurius’s picture

But if some close at 5pm and others at 8pm, etc. then you would have to do some slight customization.

I have a similar use case. Would you mind elaborating a bit on what sort of customization would be required? E.g. forking the module and adding code?

darrick’s picture

It wouldn't involve forking. You would want to implement hook_node_validate and validate the reservation dates are within bounds. Possible you could group your resources by hospital and then have hours of operation per hospital. For the hours of operation on the merci settings page just put in 24 hours so it won't throw an error.