mirror of
https://github.com/marcogll/AnchorOS.git
synced 2026-03-15 18:24:31 +00:00
Major changes: - Add customer registration with email/phone lookup (app/booking/registro) - Add customers API endpoint (app/api/customers/route) - Implement business hours for locations (mon-fri 10-7, sat 10-6, sun closed) - Fix availability function type casting issues - Add business hours utilities (lib/utils/business-hours.ts) - Update Location type to include business_hours JSONB - Add mock payment component for testing - Remove Supabase auth from booking flow - Fix /cita redirect path in booking flow Database migrations: - Add category column to services table - Add business_hours JSONB column to locations table - Fix availability functions with proper type casting - Update get_detailed_availability to use business_hours Features: - Customer lookup by email or phone - Auto-redirect to registration if customer not found - Pre-fill customer data if exists - Business hours per day of week - Location-specific opening/closing times
42 lines
1.4 KiB
SQL
42 lines
1.4 KiB
SQL
-- Debug and fix business_hours JSONB extraction
|
|
-- Execute in Supabase Dashboard: Database > SQL Editor
|
|
|
|
-- First, check what's actually stored in business_hours
|
|
SELECT
|
|
id,
|
|
name,
|
|
business_hours,
|
|
business_hours->>'monday' as monday_raw,
|
|
business_hours->'monday' as monday_object
|
|
FROM locations
|
|
LIMIT 1;
|
|
|
|
-- Test extraction logic
|
|
SELECT
|
|
'2026-01-20'::DATE as test_date,
|
|
EXTRACT(DOW FROM '2026-01-20'::DATE) as day_of_week_number,
|
|
ARRAY['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'][EXTRACT(DOW FROM '2026-01-20'::DATE) + 1] as day_name;
|
|
|
|
-- Fix: Ensure business_hours is properly formatted
|
|
UPDATE locations
|
|
SET business_hours = '{
|
|
"monday": {"open": "10:00", "close": "19:00", "is_closed": false},
|
|
"tuesday": {"open": "10:00", "close": "19:00", "is_closed": false},
|
|
"wednesday": {"open": "10:00", "close": "19:00", "is_closed": false},
|
|
"thursday": {"open": "10:00", "close": "19:00", "is_closed": false},
|
|
"friday": {"open": "10:00", "close": "19:00", "is_closed": false},
|
|
"saturday": {"open": "10:00", "close": "18:00", "is_closed": false},
|
|
"sunday": {"is_closed": true}
|
|
}'::jsonb
|
|
WHERE business_hours IS NULL OR business_hours = '{}'::jsonb;
|
|
|
|
-- Verify the update
|
|
SELECT
|
|
id,
|
|
name,
|
|
business_hours->>'monday' as monday,
|
|
(business_hours->'monday'->>'open')::TIME as monday_open,
|
|
(business_hours->'monday'->>'close')::TIME as monday_close
|
|
FROM locations
|
|
LIMIT 1;
|