Files
AnchorOS/scripts/debug_business_hours.sql
Marco Gallegos 583a25a6f6 feat: implement customer registration flow and business hours system
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
2026-01-17 00:29:49 -06:00

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;