Initial state for GitNexus analysis

This commit is contained in:
Zaid Marzguioui
2026-03-29 19:44:57 +02:00
parent 9d7c7f8030
commit 61ff48cb73
155 changed files with 23483 additions and 1722 deletions

View File

@@ -0,0 +1,40 @@
import { z } from 'zod';
export const BookingStatusEnum = z.enum(['pending', 'confirmed', 'checked_in', 'checked_out', 'cancelled', 'no_show']);
export const CreateRoomSchema = z.object({
accountId: z.string().uuid(),
roomNumber: z.string().min(1),
name: z.string().optional(),
roomType: z.string().default('standard'),
capacity: z.number().int().min(1).default(2),
floor: z.number().int().optional(),
pricePerNight: z.number().min(0),
description: z.string().optional(),
});
export const CreateBookingSchema = z.object({
accountId: z.string().uuid(),
roomId: z.string().uuid(),
guestId: z.string().uuid().optional(),
checkIn: z.string(),
checkOut: z.string(),
adults: z.number().int().min(1).default(1),
children: z.number().int().min(0).default(0),
status: BookingStatusEnum.default('confirmed'),
totalPrice: z.number().min(0).default(0),
notes: z.string().optional(),
});
export type CreateBookingInput = z.infer<typeof CreateBookingSchema>;
export const CreateGuestSchema = z.object({
accountId: z.string().uuid(),
firstName: z.string().min(1),
lastName: z.string().min(1),
email: z.string().email().optional().or(z.literal('')),
phone: z.string().optional(),
street: z.string().optional(),
postalCode: z.string().optional(),
city: z.string().optional(),
country: z.string().default('DE'),
});