"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetBookingResponseSchema = exports.GetBookingInputSchema = void 0;
const zod_1 = require("zod");
const Response_schema_1 = require("./Response.schema");
const atoms_1 = require("./atoms");
exports.GetBookingInputSchema = zod_1.z.object({
    bookingUid: zod_1.z.string(),
});
exports.GetBookingResponseSchema = Response_schema_1.BaseResponseSchema.extend({
    data: zod_1.z.object({
        id: zod_1.z.number(),
        uid: zod_1.z.string(),
        title: zod_1.z.string(),
        description: zod_1.z.string(),
        hosts: zod_1.z.array(zod_1.z.object({
            id: zod_1.z.number(),
            name: zod_1.z.string(),
            email: zod_1.z.string(),
            username: zod_1.z.string(),
            timeZone: zod_1.z.string(),
        })),
        status: atoms_1.BookingStatusSchema,
        cancellationReason: zod_1.z.string().optional(),
        cancelledByEmail: zod_1.z.string().optional(),
        reschedulingReason: zod_1.z.string().optional(),
        rescheduledByEmail: zod_1.z.string().optional(),
        rescheduledFromUid: zod_1.z.string().optional(),
        start: zod_1.z.string().datetime(),
        end: zod_1.z.string().datetime(),
        duration: zod_1.z.number(),
        eventType: zod_1.z.object({
            id: zod_1.z.number(),
            slug: zod_1.z.string(),
        }),
        location: zod_1.z.string(),
        absentHost: zod_1.z.boolean(),
        createdAt: zod_1.z.string().datetime(),
        updatedAt: zod_1.z.string().datetime(),
        metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
        rating: zod_1.z.number().optional(),
        icsUid: zod_1.z.string().optional(),
        attendees: zod_1.z.array(zod_1.z.object({
            name: zod_1.z.string(),
            email: zod_1.z.string().optional(),
            timeZone: zod_1.z.string(),
            phoneNumber: zod_1.z.string().optional(),
            language: zod_1.z.string().optional(),
        })),
        guests: zod_1.z.array(zod_1.z.string()),
        bookingFieldsResponses: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
    }),
});
//# sourceMappingURL=GetBooking.schema.js.map