// Shapes returned by the public scheduling API (mirrors platform-api's
// PublicSchedulingController response mappers).

export interface Branding {
  tenantSlug: string
  name: string
  brandColor: string | null
}

export interface PublicInfo {
  branding: Branding
  host: { slug: string; displayName: string; timezone: string }
  eventType: {
    slug: string
    title: string
    description: string | null
    durationMinutes: number
    locationType: string
  }
}

export interface SlotsResponse {
  timezone: string
  durationMinutes: number
  slots: Array<{ startUtc: string; endUtc: string }>
}

export interface PublicBooking {
  manageToken: string
  status: 'pending' | 'confirmed' | 'cancelled' | 'rescheduled'
  startUtc: string
  endUtc: string
  attendeeName: string
  attendeeEmail: string
  attendeeTimezone: string
  attendeeNotes: string | null
  locationType: string | null
  locationUrl: string | null
  branding: Branding
  host: { slug: string; displayName: string; timezone: string }
  eventType: { slug: string; title: string; durationMinutes: number }
}
