Q. When is an available bike not available?  
A. When it belongs to a product line that is already full.

Imagine you have 2 full carbon road bikes in your fleet.
On a given weekend, let's say 1 is booked out.
The other one looks available.
You do a search, by:
  1. choosing Road Carb category
  2. put in your dates
  3. search availability, bike 22 appears to be available.....

So you happily choose bike 22, and then BAM you get:

How can this be?  BRM told you it was available, didn't it?

Well, yes and no.  BRM told you that there was no reservation allocated to that bike for that time, but you didn't ask it about whether the product line (or parent) to which it belongs was full.  But in this case an online booking had been taken, which had promised an Eddy Merckx, without specifying a specific one.

If you had asked the right question you would have gotten this answer:

this question is 'show me the Eddy Merckx product line'   (N.B. product lines are also referred to as 'generics' or 'buckets' in BRM)
It shows that the product line as a whole is full. (by the red border around the cue-balls) The cue-balls show that both of the two bikes are accounted for, one as a specific booking and one as a generic booking.
you can see that if you took bike 22 in isolation it might look available.
But someone has made an online booking and so the second bike has also been promised.

Please note that this same scenario can also occur if you try to swap in an asset that appears to be available, but actually its parent is full.  This is even harder to understand.

So what can you do about it?

First of all you have to understand that this scenario can only occur if you allow reservations to exist as generic bookings.  By generic booking we mean a reservation that contains un-allocated bikes.  These can come about either:
  1. because you have enabled your OBW - online booking wizard, but you haven't enabled automatic allocation.  This means you have promises out to supply bikes on dates, but BRM doesn't yet know WHICH bikes are to be used.
  2. because you use GBAL in the admin console.  That is to say, you make generic bookings, planning to allocate specific bikes nearer the time.
  3. because you have taken bookings against bikes that are no longer in service.
So you can limit the chances of ever seeing this by:
  1. turning on auto-allocate if you take OBW bookings
  2. if you get a warning about a reservation containing a broken / non-operational bike you should address it quickly
Meanwhile, we are working on ways of making it much more obvious when this happens;
  1. to reduce the chances of this happening
  2. to make it more obvious how to resolve it, if it does happen
see also:
restaurant analogy