* the version of PHP you are using: 5.2
* the version of drupal you are using: 6.15
* the version of Bookings API (and any "Bookings API"-using module like "Public Bookings") 6.x-1.0-alpha
* the version of Views 6.x-2.6
* the version of CCK 6.x-2.5
* the version of Date API 6.x-2.4
* the version of any module, that might be related to the problem. n/a

In the form at /publicbookings/request/add, the way a user picks a time seems counter-intuitive. The user enters a preferred time and then is only told that there are conflicts or no conflicts. Wouldn't it be more helpful to display possible openings, by subtracting strictly unavailable times and existing, confirmed bookings and displaying the remainder based on time granularity (preferably set by resource)?

Ideally the user would be able to leave some of the date/time information blank, as well, so the system could use wildcard matching to list available openings that match the user's criteria, e.g. "any time January 15, 2010," or "any 2pm appointment in January, 2010." Then the system could return, for example, the 5 open appointments (or blocks of time) that most closely match what the user entered.

We might be able to fund this development if that would help.

Comments

Anonymous’s picture

Version: 6.x-1.0-alpha5 » 6.x-3.x-dev
Assigned: Unassigned »
Status: Active » Postponed

Thanks for your feedback. Regarding your offer of funding - thanks for the offer! I will first have to check back with my employer.

I am going to implement a cache of free/available time slots for Bookings API 3.x, but so far I haven't planned to port it back to 1.x. So far I haven't planned for wildcard searches, but we can talk about the exact list of features :)

What exactly do you mean with "any 2pm appointment"? A listing of any resource that is free at that time?

emdalton’s picture

Sorry I didn't get back to you right away -- I must have missed the notification for your response. I meant availability of a particular resource, or a particular group of resources (all resources with a specified parent).

I was confused, because not all the columns in the Resource Schedule view were showing on our site due to a fixed-width layout. The "edit" link we want our users to use to convert an availability to a booking is present, but using it changes the entire "availability" entry to one "booking." This includes all repetitions. If repetitions are altered for that booking, they are removed from the availability list.

How can we set up appropriate repeating availability slots for a resource, e.g. every Monday 1-1:30, 1:30-2, etc. and have these convert to a single booking instance each when clicked on by the users? It would be especially helpful to be able to set the granularity for appointment slots for a whole block of time, e.g. every Monday, 1pm-5pm, in 30 minute increments.

emdalton’s picture

Version: 6.x-3.x-dev » 6.x-1.x-dev
Category: feature » support
Status: Postponed » Active

Changing status to active and category to Support Request, because I'm hoping this is something I'm doing wrong in 1.x, not a new feature request.

emdalton’s picture

Title: Display available times to user in /publicbookings/request/add » /admin/content/publicbookings/booking/n/edit converts whole availability to booking

Fixed title to reflect issue

(Maybe this link isn't supposed to be accessible to users? But it would be very handy....)

Anonymous’s picture

Converting a single availability to a booking is not possible at the moment.
ATM it would only be possible to display a list of availabilities (e.g. set the resource to unavailable, add a couple of availabilities, create a view of availabilities). Then users could add a booking with an available time. Alternatively you could add a (relatively simple) publicbookings-module adding a new link (e.g. publicbookings/reserve/slot/%i ) where %i would be the schedule-id and the booking form would be pre-filled with the given times.

emdalton’s picture

What I think would work best under the current version would be to pre-populate the system with multiple (non-repeating) "unconfirmed" bookings in the available slots, display a list of those to users, and allow them to click a link to edit the one they want and set it to "finalized." The problem is that users are likely to forget to set the status. I suppose they would then get an email, but if they didn't confirm, that would leave the booking there for other users to see and even edit.

Was this system originally designed for resources that would only be lightly used? It seems that it would start to have problems as soon as the resources started to be booked more than a few times.

Anonymous’s picture

I dont know the reasoning behind the original concept.

It is true, that providing a "select your time and then I'll tell you whether its free"-approach is problematic once we have lots of bookings or only sparse free times - that is one of the reasons why 3.x will provide a cache of available timeslots. With 3.x it will be possible to simply display a list of available times and let the user select one of those.
I'm working on it - and with 3.x it e.g. would be easy to say "select x units" instead of letting the user select a given resource (the needed submodule would need to implement 2 or 3 Bookings API hooks and be done with).
I'm sorry - but 3.x needs some time. It will be good once its done :)

emdalton’s picture

Fair enough. I think I'm going to try a home-grown CCK solution for now. Hopefully we'll be able to switch to this module when 3.x is ready.

Anonymous’s picture

Version: 6.x-1.x-dev » 6.x-3.x-dev
Category: support » feature

Just marking this as feature request for 3.x.

arski’s picture

subscribing

stephanieshea’s picture

would you be able to give me some hints on how to enter available times for resources in bookings api? I have set up two community rooms in our libraries and the rooms will be available during open hours which vary day to day. I assume I need to use views but can't figure out the hows...thanks

Anonymous’s picture

Hi,

after upgrading to the latest version of 3.x you will find a link to availabilities on the resource-overview page ( content > publicbookings > resources, availability link on each resource). In your case it would be best to set the resources to "Default availability: Unavailable" and add a couple of availabilities.

regards,

Tirsales

Anonymous’s picture

Status: Active » Fixed

No activity for 3 month, setting this to fixed - feel free to reopen :)

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.