/**
 * @fileOverview Schemas for the Surprise Date Planner flow.
 *
 * This file defines the data structures used for the output of the
 * AI-powered surprise date suggestion flow. It ensures that the
d ata
 * returned by the AI is structured and typed correctly.
 *
 * - SurpriseDateOutputSchema - Zod schema for the output.
 * - SurpriseDateOutput - TypeScript type inferred from the schema.
 */
import { z } from 'genkit';

export const SurpriseDateInputSchema = z.object({
  style: z.string().optional().describe('An optional user-provided style or preference for the date idea.'),
});
export type SurpriseDateInput = z.infer<typeof SurpriseDateInputSchema>;

export const SurpriseDateOutputSchema = z.object({
  title: z.string().describe('A short, catchy title for the date idea.'),
  description: z
    .string()
    .describe(
      'A one-paragraph, detailed description of the date idea. It should be romantic and appealing.'
    ),
  category: z
    .string()
    .describe(
      'A simple category for the date, like "Adventurous", "Cozy", "Creative", "Foodie", or "Relaxing".'
    ),
});
export type SurpriseDateOutput = z.infer<typeof SurpriseDateOutputSchema>;
