import { z } from 'zod'; import { idSchema, optionalEmail, optionalText, optionalUrl, requiredText } from './shared.schema'; export const clientCreateSchema = z.object({ name: requiredText('Client name'), type: z.enum(['business', 'sport', 'individual']).default('business'), status: z.enum(['active', 'prospect', 'paused']).default('active'), website: optionalUrl, notes: optionalText(1000) }); export const clientEditSchema = clientCreateSchema.extend(idSchema.shape); export const clientOnboardingCreateSchema = clientCreateSchema.extend({ primaryContactName: requiredText('Primary contact name'), primaryContactRole: optionalText(120), primaryContactEmail: optionalEmail, primaryContactPhone: optionalText(80), primaryContactNotes: optionalText(1000), primaryAddressLabel: requiredText('Address label', 80).default('Primary'), primaryAddressLine1: requiredText('Address line 1'), primaryAddressLine2: optionalText(160), primaryAddressCity: requiredText('City', 100), primaryAddressRegion: optionalText(100), primaryAddressPostcode: requiredText('Postcode', 24), primaryAddressCountry: requiredText('Country', 80).default('United Kingdom') });