--- 🤖 Starting New Agent Attempt --- Task: Task: Implement Session Conflict Detection using the 'timetable', 'users', and the new 'session_coaches' and 'locations' tables. Requirements: 1. Data Migration: Ensure the 'session_coaches' join table is used to link multiple 'users' (where 'type-coach' = 1) to a single 'timetable' record. 2. Location Logic: When a user selects a location, store the data in the 'locations' table. Use the 'custom_location_label' from 'timetable' to differentiate specific spots (like 'Pitch 1' vs 'Pitch 2') at the same 'google_place_id'. 3. Validation Engine: Check for overlapping sessions in 'timetable' sharing the same 'location_id' and 'custom_location_label'. Loop through all 'coach_ids' assigned to the session. For each, check the 'session_coaches' table for overlaps and call the Google Calendar API for their personal schedule. Calculate travel time via Google Distance Matrix API between the coordinates of the current session and the coach's previous session on that day. 4. Hard Warning: If any 'warnings' array is returned, interrupt the save process and display a Modal. The coach must click a 'Schedule Anyway' button to bypass. 5. User View: Add a 'Add to Google Calendar' helper that generates an event for the user and links to the 'locations.google_place_id' via a Google Maps URL. --- 💾 ACTION REQUIRED: SAVE PROJECT STATE ---