@php $title = 'Закрыть номер для Booking — Hotel Pineta'; $heading = 'Закрыть номер для Booking'; $subheading = 'Блокировка и разблокировка продажи комнат по датам'; $formatDate = static function ($value): string { if (! $value) { return '—'; } try { return \Carbon\Carbon::parse($value)->format('d.m.Y'); } catch (\Throwable $e) { return (string) $value; } }; $actionLabels = [ 'blockBookingRooms' => 'Закрыть для Booking', 'unblockBookingRooms' => 'Разблокировать', 'ping' => 'Проверка связи', ]; @endphp @extends('layouts.admin') @section('content')
Выберите одну или несколько комнат и даты. Система поставит метку Booking в базе и в Google Таблицах. Если позже в форме «Новая бронь» выбрать источник Booking на эту комнату и даты, блокировка снимется автоматически и вместо неё запишутся данные гостя.
| Дата | Комната | Метка | Синхронизация | Создано |
|---|---|---|---|---|
| {{ $block->block_date?->format('d.m.Y') }} | № {{ $block->room?->code }} | {{ $block->label ?: 'Booking' }} |
{{ $block->sync_status ?: '—' }}
{{ $block->synced_to_google_at?->format('d.m.Y H:i') ?: 'Google ещё не подтверждал' }}
|
{{ $block->created_at?->format('d.m.Y H:i') }}
{{ $block->createdBy?->name ?: 'Админ' }}
|
Этот блок нужен только для проверки синхронизации Booking-блокировок. Ключ полностью не показывается.
| Время | Действие | Комнаты | Период | Статус | Ответ Google | URL запроса |
|---|---|---|---|---|---|---|
| {{ $log->created_at?->format('d.m.Y H:i:s') }} | {{ $actionLabels[$action] ?? $action }} | {{ $rooms ?: '—' }} | {{ $dateFrom ? $formatDate($dateFrom) : '—' }}@if($dateFrom || $dateTo) — {{ $dateTo ? $formatDate($dateTo) : '—' }}@endif |
{{ $log->status }}
@if($httpStatus)
HTTP {{ $httpStatus }}
@endif
попыток: {{ $log->attempts ?: data_get($response, 'attempts', 1) }}
|
{{ $message }}
@if($scriptVersion)
версия: {{ $scriptVersion }}
@endif
|
{{ $requestUrl ?: '—' }} |