(Некоммерческая общественная организация, предоставляющая необходимую услугу.) Я не знаю, является ли это ошибкой в Woocommerce или проблемой с нашей настройкой и пользовательским кодом, который я реализовал, чтобы изменить начало и окончание бронирования sh даты. Несмотря на это, наша организация не может позволить себе поддержку Woocommerce, и я очень перегружен тем, что помогаю людям с помощью блокировки, поэтому я был бы очень признателен за то, чтобы уделить больше внимания sh решению этой проблемы!
В нашей организации установлена система бронирования до которого люди могут забронировать ресурсы. Существует три различных «продукта», которые установлены на «Заказываемый продукт». Каждый из них имеет уникальные ресурсы, которые пронумерованы (так что я могу отслеживать, сколько из них используется и кем). Для каждого ресурса установлено Доступное количество 1.
Например, у Продукта А есть 4 уникальных ресурса: ARes1, ARes2, ARes3 и ARes4. Продукт A имеет эти 4 ресурса, установленные на вкладке Ресурсы.
Продукт B имеет 2 уникальных ресурса с именами BRes1 и BRes2. Для продукта B эти ресурсы установлены на вкладке Ресурсы.
Для каждого продукта имеются следующие настройки:
Продолжительность бронирования установлена на фиксированные блоки по 35 дней. (6 недель) с 6-дневным буфером.
Ресурсы назначаются автоматически.
Максимальное количество заказов на блок составляет 1
Все даты доступны по умолчанию
Проверка правил по всем забронированным блокам
У меня есть фрагмент кода, который вычитает 3 недели с даты начала и окончания бронирования (чтобы людям не приходилось рассчитывать это самостоятельно при бронировании)
function modify_woocommerce_booking_date( $booking_id ) {
$booking = new WC_Booking( $booking_id );
$booking_start = $booking->get_start();
$booking_end = $booking->get_end();
$new_booking_start = strtotime ( '-3 week' , $booking_start ) ;
$new_booking_end = strtotime ( '-3 week' , $booking_end ) ;
$booking->set_start( $new_booking_start );
$booking->set_end($new_booking_end);
$booking->save();
}
add_action( 'woocommerce_new_booking', 'modify_woocommerce_booking_date');
Ref: бронирование woocommerce вычитает недели или дни из выбранной даты
Когда я смотрю на календарь на внешнем интерфейсе, слоты выглядят правильно зарезервированными для меня. Однако у меня иногда были заказы на одно и то же дублирование ресурса (в начале / конце). Через несколько дней go произошло резервирование, которое на несколько недель полностью перекрывает один и тот же ресурс (и все ресурсы резервируются для этого слота в любом случае). Сегодня у меня было резервирование на одно и то же перекрытие ресурса на 5 дней (11, если вы включили буфер), хотя был еще один доступный ресурс, который он должен был назначить.
Так что я понятия не имею, на что идут люди календарь, который позволяет им выбирать забронированные слоты или почему Woocommerce Bookings назначает забронированный ресурс вместо доступного.
В настоящее время я изменил заказы на Требуется подтверждение. Но это тратит больше моего времени на управление, которого сейчас очень мало. У меня теперь тоже есть горе от того, что я сказал кому-то, что не могу им помочь, и отменил их бронирование, потому что система как-то позволяла им бронировать, когда этого не должно было ?
Я попытался изменить режим отображения Календаря на случай, если это была проблема с кэшированием календаря. Но это не имеет значения. Litespeed Cache включен, но для доступных для бронирования продуктов установлено значение Без оптимизации / Без кэширования.