Reserving students rather than practice space in http://groups.drupal.org/node/16604#comment-88654 is an interesting twist that fits in well with MERCI's ability to make any content type reservable. I wonder if you have a similar clever idea for my use case: My items are rooms, and my reservations are events that can use 0, 1, or multiple rooms. There are many different types of events, requiring varying data, so I will need to create a number of different reserving (rather than reservable) content types. Is this possible out-of-the-box?

Comments

kreynen’s picture

Status: Active » Closed (works as designed)

I'm not sure I follow... what determines whether the event needs 0,1,2 rooms?

MERCI wouldn't be able to do that out of the box, but with some tweaking you might be able to get what you want by extending the merci_template content type with a max number field. Let's say you have a Session content type that people are signing up for and you have a number of different room configurations. Let say room A and B can be divided on combined. Divided each room has a max capacity of 20 people. Combined you have 40.

If you create a template call "AB40" that reserves both rooms A and B and add some UI magic to the Session content type to only show templates with more capacity than people signed up, it would show your AB40 template. Templates only prepopulate the MERCI Reservation from, so users could still adjust the rooms they were trying to reserve, but it would get you close.

If you added more UI magic and hid the select lists of reservable content types, the user could only try to find times when both room A and B were available. A conflict with either room would prevent the reservation from being made.

salvis’s picture

Status: Closed (works as designed) » Active

I'm sorry, I didn't make myself clear.

The challenge here is not the room configuration.

The challenge is to have multiple content types that represent reservations, just like we have multiple content types that are resources.

All my reservations are some sort of event, but the events are very varied, ranging from a camp that wants to book a mobile beamer for a week (needs a location field) to a gathering of a crowd in a large hall that requires lots of additional information, such as the name, phone number, etc. of the speaker, whether (and what type of) meals are being served, etc.

I could add umpteen fields to the Reservation content type (the union of all the fields anyone would ever need), but that would make it heavy and confusing, because most fields wouldn't apply in any given situation. I'd rather be able to define various specialized content types and turn them into a reservations. IOW, I'm thinking of something like this:

At the top of "MERCI Settings" on admin/content/types/add we now have
( ) Disabled
( ) Bucket
( ) Resource

and I'd like to add

( ) Reservation

With Reservation selected, the given content type would receive the field_merci_date, field_merci_member_cost, and field_merci_commercial_cost fields and act just like the Reservation content type acts now.

So, just as I can add a Date field to turn any content type into an event content type, I'd like to be able to activate Reservation and turn it into a reservation content type.

Or, to look at it from the workflow point of view: When I create an event of some type, I'd like to be able to add the required rooms to my event, resulting in a reservation of those rooms.

kreynen’s picture

The only downside I see with this is it add yet another JOIN to most queries. How would you determine which MERCI content types are available to which Reservations? Or would all MERCI content types be available to any Reservation content type based solely on permissions?

salvis’s picture

Category: support » feature

Or would all MERCI content types be available to any Reservation content type based solely on permissions?

Yes, I think so. But I do see that sooner or later someone will come along and ask to limit resource content types by reservation content types...