Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The calculated price at Review booking Plan is correct, but after booking the room, the commerce checkout has price at $1.00. No explanation of what changed as this has been working for over 6 months. Now suddenly a price checkout issue.
Comments
Comment #1
scalas89 CreditAttribution: scalas89 commentedHello - there is a page for this issue (https://www.drupal.org/node/2224019). You have to downgrade Rules to 7.27
Regards.
Comment #2
scalas89 CreditAttribution: scalas89 commentedComment #3
mbhaney CreditAttribution: mbhaney commentedThanks!
Downgrading Rules to 7.x-2.7 fixes it.
Regards,
MBHaney
Comment #4
GiorgosKits fixed on 18th of February as per
#2324587: Rules might be triggered too early in the bootstrap
so upgrading to the latest dev version also fixes this
Comment #5
renee_nistler CreditAttribution: renee_nistler commentedHello
I am also having this problem. I am using Rooms version = "7.x-1.3" with Rules version = "7.x-2.7".
When I use the Search Availability date fields I get rooms results with accurate BASE PRICE that is for all dates specified. However, when I click BOOK THIS, I am taken to the confirmation page where the PRICE is $1.00. I need the PRICE to reflect the BASE PRICE that was provided on the search availability result.
Any help you can provide is greatly appreciated as I have a client going live in 2 weeks.
Thanks much
Renee
Comment #6
renee_nistler CreditAttribution: renee_nistler commentedPer the note above, I upgraded to Rules 7.x-2.7 and still have the same issue. The Booking Confirmation/Checkout page shows $1.00.
Comment #7
acrollet CreditAttribution: acrollet commentedHi renee_nistler, rooms 1.3 is an older version - have you tried 1.4, or the dev version if that doesn't work?
Comment #8
renee_nistler CreditAttribution: renee_nistler commentedHello acrollet,
Yes. In my TEST environment I have Rooms 1.4 with Rules 2.8. I upgraded to Rules 2.9 recently to see if this new version solved the issue. It did not. So, I installed a clean version on a new instance with the previous Rooms version 1.3 and the older recommended Rules 2.7 to see if the problem exists there...and it does.
It appears that no matter what room dates I select in search availability, the checkout/booking confirmation PRICE is using the $1.00 value set in the STORE/PRODUCTS product I have setup. It is not taking into account the number of nights or the total booking cost that appears on the availability search results.
Background Setup:
-I have a SUITE Bookable Unit Type setup with 5 Bookable Units configured in the Rooms menus.
-I have a Rooms Product setup with a Price of $1.00 setup in the STORE/PRODUCTS config.
-I do not have any content types setup for Rooms Bookable Units.
-There are two Line Item Types setup. a PRODUCT and a ROOMS BOOKING. The ROOMS BOOKING line item type does include a field rooms_booked_booking price which seems to be the full Base Price provided on the Availability Search Results but it does not show up as the commerce-line-item: unit price.
I am really lost... so I appreciate any help you can provide. If you need additional information or screen shots, please let me know.
Sincerely,
Renee
Comment #9
renee_nistler CreditAttribution: renee_nistler commentedHello
We downloaded a fresh install of Rooms and Rules and you are correct, it did work. In comparing that environment with our development environment, we found that the PRODUCT configuration was different in our THEME (Weebpal Aloha). Weebpal configured their SKU as 'STANDARD' but the rooms-booking-manager.module has hardcoded logic in the rooms_booking_manager_price_apply function that references a specific SKU (see below). Once we change the PRODUCT configuration in our theme, the correct room price shows up on the booking confirmation/checkout screens.
Thanks for your help and please pass on findings to others who have this problem.
function rooms_booking_manager_price_apply($line_item) {
if ($line_item->type == 'rooms_booking') {
if ($item = field_get_items('commerce_line_item', $line_item, 'commerce_product')) {
$product = commerce_product_load($item[0]['product_id']);
if ($product->sku != 'ROOMS-BASIC-BOOKING') {
return;
}
}
Renee