import type { PhotoAttachment } from './photos';
import type { OfferPublic } from './offer';

export interface Service {
  id: number;
  name: string;
  slug: string;
  description_markdown: string;
  summary?: string;
  pricing_info?: string;
  features_markdown?: string;
  featured: boolean;
  sort_order: number;
  photo_attachments?: PhotoAttachment[];
  service_items?: ServiceItem[];
  created_at: string;
  updated_at: string;
}

export interface ServiceItem {
  id: number;
  name: string;
  slug: string;
  summary?: string | null;
  description_markdown?: string | null;
  pricing_info?: string | null;
  price_cents?: number | null;
  duration_minutes?: number | null;
  sort_order: number;
  service_id?: number;
  photo_attachments?: PhotoAttachment[];
  offers?: OfferPublic[];
}

export interface ServiceParams {
  featured?: boolean;
  q?: string;
  page?: number;
  per_page?: number;
}

export type ServiceResponse = Service[];
