I have a client that is asking if it would be possible to allow equipment to be selected when the reservation is unconfirmed even if it's not in the inventory. They rent additional equipment from other shops sometimes when their inventory is low. What would be the easiest way to approach this? I've considered adding a button which emails the staff with a list of requested items, or adding a field to node and skipping validation. I don't want things to totally break, however.

Could you respond with some guidance, and I will be able to implement the changes you suggest. I don't need to see this adopted into the project, but would appreciate some assistance in coming up with a solution. I will provide a patch eventually.

Comments

darrick’s picture

Have you thought about just adding the items which are rentals as regular items. You could use taxonomy to tag some the ones which are in the inventory and which ones are from the other shops. I'm sure the other shops have a limit on quantity on hand so this will help keep items from being overbooked. You can also note which items are from other shops within the title (i.e. DV Camara (offsite)) so it's easier to select the items to assign during checkout.

arosboro’s picture

The problem is that they might not add an item from another shop until it is requested... How can I handle reservations for items that are not in the inventory yet?

arosboro’s picture

Thinking about this a little more... It makes sense to add a new item to the inventory like you suggested. It is acceptable to let a reservation request come through even if unavailable items have been selected. If the bucket for an item is empty, the staff would have to decide whether they would lease a new item or remove the item from the request and notify the customer that it is unavailable.

To make it easier, would it be possible to add a link to create the specific item next to the rows that have empty buckets?

To allow authenticated users to bypass validation but turn it back on by default for the staff role, I imagine it would make sense to define a new permission like "validate reservation item availability". Although, I'm not sure which validation function I would override in api.inc.

Could bypassing validation by default cause issues? I can imagine that it would get hairy if there is a sudden surge in requests and the inventory got claimed quickly.