@php $s = $scheduleState; $weeklyRows = $s['weeklyRows'] ?? []; $specificDateRows = $s['specificDateRows'] ?? []; $specificOn = (bool) old('specific_dates_enabled', $s['specific_dates_enabled'] ?? false); $displayMode = old('display_period_mode', $s['display_period_mode'] ?? 'auto'); $holidayMode = old('holiday_mode', $s['holiday_mode'] ?? 'hold'); $staffMode = old('schedule_staff_mode', $s['schedule_staff_mode'] ?? 'single'); $meetingOn = (bool) old('online_meeting_enabled', $s['online_meeting_enabled'] ?? false); @endphp
@csrf @method('PUT')
基本設定
@include('event.partials._schedule_preset_row', [ 'label' => '所要時間', 'name' => 'duration', 'presets' => \App\Support\EventScheduleSettingsNormalizer::DURATION_PRESETS, 'preset' => old('duration_preset', $s['duration_preset'] ?? '60'), 'custom' => old('duration_custom', $s['duration_custom'] ?? 60), 'suffix' => '分', ]) @include('event.partials._schedule_preset_row', [ 'label' => '開催前の確保時間', 'name' => 'buffer_before', 'presets' => \App\Support\EventScheduleSettingsNormalizer::BUFFER_PRESETS, 'preset' => old('buffer_before_preset', $s['buffer_before_preset'] ?? '0'), 'custom' => old('buffer_before_custom', $s['buffer_before_custom'] ?? 0), 'suffix' => '分', ]) @include('event.partials._schedule_preset_row', [ 'label' => '開催後の確保時間', 'name' => 'buffer_after', 'presets' => \App\Support\EventScheduleSettingsNormalizer::BUFFER_PRESETS, 'preset' => old('buffer_after_preset', $s['buffer_after_preset'] ?? '30'), 'custom' => old('buffer_after_custom', $s['buffer_after_custom'] ?? 30), 'suffix' => '分', ])

一括生成では、各枠の長さは所要時間、枠と枠のあいだは所要時間+開催後の確保時間で空けます(別途「間隔」を設定する必要はありません)。

各予約枠に適用。空欄は無制限。
担当者設定
参加方式
@error('schedule_staff_member_id')
{{ $message }}
@enderror @if($staffMembers->isEmpty())
担当者を追加してから選べます。
@endif
Zoom連携 / Google Meet連携

会議URLは 詳細設定 の Zoom / Meet URL、または各担当者の会議URLを利用します(自動連携は未実装)。

開催する曜日・時間帯
@error('weekly_schedule')
{{ $message }}
@enderror @foreach($weeklyRows as $wi => $day)
@foreach($day['slots'] as $si => $slot)
@endforeach
@endforeach
特定日の開催設定
@foreach($specificDateRows as $di => $dateRow)
@foreach($dateRow['slots'] as $si => $slot)
@endforeach
@endforeach
表示・生成のルール
祝日の開催
開催しない場合、主要な国民の祝日をスキップします(振替休日は未対応)。
日程の表示期間

「保存して予約枠を生成」するときに、何日目から何日目まで予約枠を作るかの上限です(公開ページに出る日時の範囲にも影響します)。

自動で調整 … 下の「いつから」「何日分を表示」で決まります(例: 12時間後から14日間)。
期間を指定 … 開始日〜終了日を直接指定します(「いつから」より前には作りません)。
@include('event.partials._schedule_preset_row', [ 'label' => 'いつから', 'name' => 'lead_time', 'presets' => \App\Support\EventScheduleSettingsNormalizer::LEAD_TIME_PRESETS, 'preset' => old('lead_time_preset', $s['lead_time_preset'] ?? '12'), 'custom' => old('lead_time_custom', $s['lead_time_custom'] ?? 12), 'suffix' => '時間後', 'presetLabels' => ['12' => '12時間後', '18' => '18時間後', '24' => '24時間後', '48' => '48時間後'], ])

※「日程の表示期間」が自動のとき使われます。今すぐ予約を受け付けないための余白です。

@include('event.partials._schedule_preset_row', [ 'label' => '何日分を表示', 'name' => 'display_days', 'presets' => \App\Support\EventScheduleSettingsNormalizer::DISPLAY_DAYS_PRESETS, 'preset' => old('display_days_preset', $s['display_days_preset'] ?? '14'), 'custom' => old('display_days_custom', $s['display_days_custom'] ?? 14), 'suffix' => '日間', 'presetLabels' => ['7' => '7日', '10' => '10日', '14' => '14日', '21' => '21日'], ])

※「日程の表示期間」が自動のとき、上の「いつから」から何日分の枠を生成するかです。

@push('scripts') @endpush