/opt/mawid/packages/shared/src/schemas
Edit: /opt/mawid/packages/shared/src/schemas/working-hours.ts (765B)
import { z } from 'zod';
const timeString = z.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/, 'expected HH:MM');
export const intervalSchema = z
.object({ start: timeString, end: timeString })
.refine((i) => i.start < i.end, { message: 'start must be before end' });
/** Per-weekday open intervals; an empty array (or missing day) means closed. */
export const workingHoursSchema = z
.object({
mon: z.array(intervalSchema),
tue: z.array(intervalSchema),
wed: z.array(intervalSchema),
thu: z.array(intervalSchema),
fri: z.array(intervalSchema),
sat: z.array(intervalSchema),
sun: z.array(intervalSchema),
})
.partial();
export type WorkingHours = z.infer
;
export type WeekdayKey = keyof WorkingHours;