Edit names directly. Renames will update all existing reservations automatically. These are the people who can be assigned to bookings — they don't log into this system themselves (see the Access tab for who can).
Edit or add services. "Other — please specify" is always available in the booking form. The dropdown next to each service sets which role it needs — used to flag pending (unassigned) bookings with "Needs Hairstylist", "Needs Nail Tech", etc. Saves instantly when changed.
Only the names listed here can open and use this system — everyone else (nail techs, lash techs, therapists, hairstylists in the Staff tab) can be booked, but can't log in. Tap to set an optional PIN so a name can't be picked by anyone else.
Enter your Supabase credentials below, then run the one-time SQL in your Supabase dashboard to create the required tables. After that, all devices sharing the same credentials will stay in sync automatically.
-- 1. Reservations (time in & time out per staff)
create table if not exists fiore_reservations (
id text primary key,
date text not null,
therapists text[] not null default '{}',
customer text not null,
service text not null,
start_time text not null,
end_time text,
duration numeric(4,2) not null,
status text not null default 'upcoming',
notes text default '',
created_by text,
created_at timestamptz default now(),
updated_at timestamptz default now()
);
alter table fiore_reservations add column if not exists created_by text;
alter table fiore_reservations enable row level security;
create policy "fiore_res" on fiore_reservations for all using (true) with check (true);
do $$ begin alter publication supabase_realtime add table fiore_reservations; exception when duplicate_object then null; end $$;
-- 2. Daily duty roster
create table if not exists fiore_duty (
date text primary key,
roster jsonb not null default '{}',
updated_at timestamptz default now()
);
alter table fiore_duty enable row level security;
create policy "fiore_duty" on fiore_duty for all using (true) with check (true);
do $$ begin alter publication supabase_realtime add table fiore_duty; exception when duplicate_object then null; end $$;
-- 3. Shared settings (staff list, services)
create table if not exists fiore_settings (
key text primary key,
value jsonb not null,
updated_at timestamptz default now()
);
alter table fiore_settings enable row level security;
create policy "fiore_set" on fiore_settings for all using (true) with check (true);
do $$ begin alter publication supabase_realtime add table fiore_settings; exception when duplicate_object then null; end $$;
After running the SQL and saving your credentials, click Save changes. The sync badge in the top bar will turn green when connected.