BookingBug Services

Hi Everyone,

I've been looking at the sport activities offered by some of our clients
here at BookingBug. There are activities ranging from Coasteering to Aerial
Yoga to Pole Dance Fitness. I'll work on collating a full list to share.

With regards to modelling opportunity data I'd like to outline how we model
bookable activities. At BookingBug we support two main types of bookings;
events and services.

Events occur at a set date & time with a specified duration. They can be
configured as one-off or occurring regularly according to a repeat rule.
They can also be set up as part of a course, where all the occurrences are
booked and paid for collectively.

It was interesting for me to see in 4.3.1 in 'Modelling Opportunity Data'
that a recurrence rule is being seen as possibly required. While we use a
recurrence rule for the creating of events we haven't generally needed to
expose that in our APIs for booking events. We just return the available
events between the requested dates along with the number of spaces
remaining or spaces remaining on the wait list if configured.

Services are continuously available and allow time slots (appointments) of
variable duration to be booked for them. We allow configuration of the
schedules of associated staff and resources.

I'm concerned that our services aren't going to fit into the event
definition. It could've been entirely possible that none of our sport
activity clients had services configured but having had a look I can see
that this isn't the case. In a small set of 10 clients I looked through
there were a couple that have services configured. One was a volleyball
court, the other a football pitch. These are both resource based
organisations but I wouldn't be surprised if we also had staff based
organisations such as a personal trainer.

Here's an example of how we represent the bookable times of a service:

[{
 "start": "2017-03-06T09:00:00+00:00",
 "durations": ["PT60M", "PT120M", "PT180M"],
 "prices": [10, 20, 30]
}, {
 "start": "2017-03-06T10:00:00+00:00",
 "durations": ["PT60M", "PT120M", "PT180M"],
 "prices": [10, 20, 30]
}, {
 "start": "2017-03-06T11:00:00+00:00",
 "durations": ["PT60M", "PT120M", "PT180M"],
 "prices": [10, 20, 30]
}, {
 "start": "2017-03-06T12:00:00+00:00",
 "durations": ["PT60M", "PT120M"],
 "prices": [10, 20]
}, {
 "start": "2017-03-06T13:00:00+00:00",
 "durations": ["PT60M"],
 "prices": [10]
}, {
 "start": "2017-03-06T15:00:00+00:00",
 "durations": ["PT60M"],
 "prices": [10]
}]

Can the specification be expanded to support this kind of data? Or do we
just indicate that the day is available and the consumer of the OpenActive
data redirects the user to our booking journey for them to find out
available times?

Regards,

Ed
BookingBug

Received on Monday, 6 March 2017 14:09:48 UTC