"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.contactSchema = exports.capturePaypalSchema = exports.paySchema = exports.bookSchema = exports.validateCodeSchema = exports.availabilitySchema = exports.bookingParamSchema = exports.slugParamSchema = void 0; const zod_1 = require("zod"); exports.slugParamSchema = zod_1.z.object({ slug: zod_1.z.string() }); exports.bookingParamSchema = zod_1.z.object({ slug: zod_1.z.string(), id: zod_1.z.string() }); exports.availabilitySchema = zod_1.z.object({ vehicleId: zod_1.z.string().cuid(), startDate: zod_1.z.string().datetime(), endDate: zod_1.z.string().datetime(), }); exports.validateCodeSchema = zod_1.z.object({ code: zod_1.z.string().min(1) }); exports.bookSchema = zod_1.z.object({ vehicleId: zod_1.z.string().cuid(), startDate: zod_1.z.string().datetime(), endDate: zod_1.z.string().datetime(), firstName: zod_1.z.string().min(1), lastName: zod_1.z.string().min(1), email: zod_1.z.string().email(), phone: zod_1.z.string().min(1).max(30), driverLicense: zod_1.z.string().min(1).max(50), dateOfBirth: zod_1.z.string().datetime(), licenseExpiry: zod_1.z.string().datetime(), licenseIssuedAt: zod_1.z.string().datetime(), nationality: zod_1.z.string().min(1).max(100), identityDocumentNumber: zod_1.z.string().min(1).max(100), fullAddress: zod_1.z.string().min(1).max(500), licenseCountry: zod_1.z.string().min(1).max(100), licenseNumber: zod_1.z.string().min(1).max(50).optional(), licenseCategory: zod_1.z.string().min(1).max(20), internationalLicenseNumber: zod_1.z.string().trim().max(100).optional(), offerId: zod_1.z.string().cuid().optional(), promoCodeUsed: zod_1.z.string().optional(), notes: zod_1.z.string().optional(), source: zod_1.z.enum(['PUBLIC_SITE', 'MARKETPLACE']).default('PUBLIC_SITE'), selectedInsurancePolicyIds: zod_1.z.array(zod_1.z.string()).default([]), additionalDrivers: zod_1.z.array(zod_1.z.object({ firstName: zod_1.z.string().min(1), lastName: zod_1.z.string().min(1), email: zod_1.z.string().email().optional(), phone: zod_1.z.string().optional(), driverLicense: zod_1.z.string().min(1), licenseExpiry: zod_1.z.string().datetime().optional(), licenseIssuedAt: zod_1.z.string().datetime().optional(), dateOfBirth: zod_1.z.string().datetime().optional(), nationality: zod_1.z.string().optional(), })).default([]), }); exports.paySchema = zod_1.z.object({ provider: zod_1.z.enum(['AMANPAY', 'PAYPAL']), currency: zod_1.z.literal('MAD').default('MAD'), successUrl: zod_1.z.string().url(), failureUrl: zod_1.z.string().url(), accessToken: zod_1.z.string().min(20), }); exports.capturePaypalSchema = zod_1.z.object({ paypalOrderId: zod_1.z.string() }); exports.contactSchema = zod_1.z.object({ name: zod_1.z.string().min(1), email: zod_1.z.string().email(), message: zod_1.z.string().min(1), }); //# sourceMappingURL=site.schemas.js.map