No appointments right now
+Enjoy the break or check tomorrow's schedule
+All caught up!
+No pending bookings to review
+No appointments today
+Looks like you have a quiet day
+|
+
+
+ |
+
Manage portfolio images, working hours & user bookings
+Drop files here, or click to open the file picker
+
+ Add searchable tags here such as `scooby doo` or filterable categories like
+ `style:french`
+ or
+ `colour:green`
+
No exception groups found.
+ {/if} + + {#each exceptionGroups as g (g.weekStarts)} +{g.description}
+ ++ Your standard operating hours for each day of the week +
+| Day | +Status | +Opening Time | +Closing Time | +Total Hours | +
|---|---|---|---|---|
|
+
+ {weekdayLabel(row.weekday) === 'Mon'
+ ? 'Monday'
+ : weekdayLabel(row.weekday) === 'Tue'
+ ? 'Tuesday'
+ : weekdayLabel(row.weekday) === 'Wed'
+ ? 'Wednesday'
+ : weekdayLabel(row.weekday) === 'Thu'
+ ? 'Thursday'
+ : weekdayLabel(row.weekday) === 'Fri'
+ ? 'Friday'
+ : weekdayLabel(row.weekday) === 'Sat'
+ ? 'Saturday'
+ : 'Sunday'}
+
+ |
+ + + + {row.is_open ? 'Open' : 'Closed'} + + | +
+ {#if row.is_open}
+
+
+ {row.start_time}
+
+ {:else}
+ —
+ {/if}
+ |
+
+ {#if row.is_open}
+
+
+ {row.end_time}
+
+ {:else}
+ —
+ {/if}
+ |
+ + {#if row.is_open} + + {calculateHours(row.start_time, row.end_time)} + hrs + + {:else} + — + {/if} + | +
| Day | +Status | +Opening Time | +Closing Time | +Total Hours | +
|---|---|---|---|---|
|
+
+
+ |
+
+ |
+
+ |
+
+ |
+
+ |
+
| Name | +Description | +Price | +Duration | +Status | +Actions | +
|---|---|---|---|---|---|
|
+
+
+ |
+ |||||
| {service.name} | +
+ {#if service.description}
+
+ {service.description}
+
+ {:else}
+ —
+ {/if}
+ |
+ £{service.price.toFixed(2)} | +{service.duration_minutes} min | ++ + {service.is_active ? 'Active' : 'Inactive'} + + | +
+
+
+
+
+ |
+
{service.description}
+ {/if} + +| Day | +Open | +Start | +End | +
|---|---|---|---|
| {weekdayLabel(row.weekday)} | ++ + | ++ + | ++ + | +
+ Select a date range to add all Mondays within that range +
+ +| Day | +Open | +Start | +End | +
|---|---|---|---|
| {weekdayLabel(row.weekday)} | ++ + | ++ + | ++ + | +
No weeks specified
+ {/if} +| Day | +Status | +Start | +End | +
|---|---|---|---|
| {weekdayLabel(row.weekday)} | ++ + {row.is_open ? 'Open' : 'Closed'} + + | ++ {row.is_open ? row.start_time : '—'} + | ++ {row.is_open ? row.end_time : '—'} + | +
{serviceErrors.name}
+ {/if} +{serviceErrors.price}
+ {/if} +{serviceErrors.duration_minutes}
+ {/if} +{serviceErrors.patch_test_duration_hours}
+ {/if} +Hours required before service (0 for none)
+{serviceErrors.minimum_age_required}
+ {/if} +0 for no age restriction
+{dateString}
+{dateString}
+