Per-Day booking with customer-supplied start time using Woocommerce Bookings

Yes, you can achieve this functionality with WooCommerce Bookings. Here’s how you can set it up:

  1. Set the Bookable product duration to “Fixed Blocks of 1 day” under Booking duration.
  2. Set the minimum and maximum block duration to 1 day.
  3. Set the Booking window to the number of days in advance customers can make a reservation.
  4. Under Availability, select “Time Slots” and set the “Time slot calculus” to “Customer defined”.
  5. Set the time range to 10am to 6pm, with 1-hour time slots.
  6. Under Resources, add a resource for each equipment item available for rent.
  7. Under Persons, set “Enable person types” to “Yes” and create a person type called “Renter”.
  8. Set the minimum and maximum persons to 1 and 1, respectively.
  9. Under Costs, set the cost per day for each equipment item.
  10. Under Booking meta, add a custom field for “Desired Start Time” and set it to display on the checkout page.

With these settings, customers can select the day they want to rent the equipment and choose a start time between 10am and 6pm. Once a start time is selected, that time slot will no longer be available for other customers to book.

Regarding the Google Calendar integration, the booking will appear on the calendar at the start time selected by the customer. However, the end time will be calculated based on the duration of the booking (which is set to 1 day in this case). If you need to include the end time on the Google Calendar event, you may need to look into customizing the integration or using a different booking plugin that better meets your needs.