Hello,
First thanks for the great work.

I'm building site for renting venues, Basically every user will have his own venue and visitors of the site will be able to book the venue based on the Availability Calendars. I integrate the calendar with commerce and everything works fine, I just come cross the following problem:

When user book venue , the system change the status for the dates between check in and checkout to booked , The problem is that venue owner have access to override booked status and change it to different status like Available status.

I think the module need at least one status that can be edited only by the system, and the node owner is not allowed to change it or override it.

Thanks

CommentFileSizeAuthor
#2 ac.jpg412.49 KBMajdi
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

fietserwin’s picture

Some remarks:
- Integrating an availability calendar with commerce sounds like you better use the rooms module. This module is not about full integration and will not head that way because of the Rooms module.

- The system automatically changes the state for the owner. Why would an owner want to change it again? We are talking serious owners (I guess) who not want to rent out double because that will hurt their business even more.

So what can be the case for them doing so? The client cancelled his booking via mail directly by the owner but "refuses" to cancel it on your site. Or they have multiple apartments to let but have only 1 add because it is far too expensive to have 6 separate ads.

We are in the holiday rental business as well, and believe me, it happens. On several occasions we have had to go through a timely process to open up again our apartments for rental. Time that our apartment showed booked while it was not.

So look carefully at what you want to prevent.

- So. all in all, I think i'm not going to change it in the module itself, but I can have a look at where hooks would be needed to make state selection more advanced.

Majdi’s picture

FileSize
412.49 KB

Room module
I check the room module one year ago , its good for manage your own rooms, when every user has its own room you will face some problems , actually I found commerce module very flexible and I face no problem in doing the integration.

Why would an owner want to change it again?
For sure the owner wont do that intent , but by mistake , when he update the Availability calendar to add unavailable period, so he may easily override the booking period by mistake, specially the normal behavior of user is to click on the calendar before he check the radio buttons

Cancel booking
I'm using a bit different workflow for booking, The status changes booked host only if host accept the booking request, and the host wont get any request if the client did not complete the process and the authorized payment, and when the host is accept we capture the payment, and both of them they have access to cancel it.
As long we holding the money the venue will show as booked, and if someone cancel the system will change the status to available again
We have policy for cancellation based time of cancellation and the side who want to cancel

I can describe the change needed:

in the field ui settings , if user has unchecked status (Booked), and that status exist in the calendar edit view, then make the all booking status days unclickable and leave the first and last day clickable (Look to the image), and prevent selecting if the period intersect the any booking period ( without consider the start date and end date)

that make sense ?

fietserwin’s picture

Let's start with solving #1451180: User can select date range with non available dates then, which seems a prerequisite to this issue.

After that I will look into defining which days are clickable and which not and how to override/influence that (Drupal hook or in custom js code).

BTW: You can remove the state "not communicated" if you are not using it at all.