promote: dev → uat (GRO-1369 types sync) #428
@@ -61,7 +61,7 @@ bookRouter.get("/availability", async (c) => {
|
||||
if (!service) return c.json({ error: "Service not found" }, 404);
|
||||
|
||||
// Buffer-aware duration: extra time for large/x-large or complex coats
|
||||
const extraBuffer = (petSizeCategory === "large" || petSizeCategory === "x-large")
|
||||
const extraBuffer = (petSizeCategory === "large" || petSizeCategory === "xlarge")
|
||||
? (service.defaultBufferMinutes ?? 0)
|
||||
: 0;
|
||||
const durationMinutes = service.durationMinutes + extraBuffer;
|
||||
@@ -121,7 +121,7 @@ const bookingSchema = z.object({
|
||||
petSpecies: z.string().min(1).max(100),
|
||||
petBreed: z.string().max(100).optional(),
|
||||
petSizeCategory: z
|
||||
.enum(["small", "medium", "large", "x-large"])
|
||||
.enum(["small", "medium", "large", "xlarge"])
|
||||
.optional(),
|
||||
petCoatType: z
|
||||
.enum(["smooth", "double", "curly", "wire", "long", "hairless"])
|
||||
@@ -213,7 +213,7 @@ bookRouter.post(
|
||||
if (!pet) return c.json({ error: "Failed to create pet" }, 500);
|
||||
|
||||
// Buffer-aware end time: large/x-large pets add service bufferMinutes
|
||||
if (body.petSizeCategory === "large" || body.petSizeCategory === "x-large") {
|
||||
if (body.petSizeCategory === "large" || body.petSizeCategory === "xlarge") {
|
||||
end = new Date(start.getTime() + (service.durationMinutes + (service.defaultBufferMinutes ?? 0)) * 60_000);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user