add configurable appointment slot duration per professional

DB: slot_duration_minutes INT DEFAULT 30 on professionals table
Backend DTO: slot_duration_minutes (optional int, 5-480 min) in UpdateProfessionalDto

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-12 19:24:49 -05:00
co-authored by Claude Sonnet 4.6
parent afbf4d537e
commit c720911172
3 changed files with 9 additions and 1 deletions
@@ -0,0 +1 @@
ALTER TABLE "professionals" ADD COLUMN IF NOT EXISTS "slot_duration_minutes" INTEGER NOT NULL DEFAULT 30;
+1
View File
@@ -96,6 +96,7 @@ model professionals {
latitude Decimal? @db.Decimal(10, 7)
longitude Decimal? @db.Decimal(10, 7)
average_score Decimal? @default(0) @db.Decimal(3, 2)
slot_duration_minutes Int @default(30)
is_active Boolean? @default(true)
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
@@ -1,4 +1,4 @@
import { IsString, IsOptional, IsArray, IsNumber, IsBoolean, MinLength, Matches, IsObject } from 'class-validator';
import { IsString, IsOptional, IsArray, IsNumber, IsBoolean, IsInt, Min, Max, MinLength, Matches, IsObject } from 'class-validator';
export class CreateProfessionalDto {
@IsString()
@@ -81,6 +81,12 @@ export class UpdateProfessionalDto {
@IsString()
location_preferences?: string;
@IsOptional()
@IsInt()
@Min(5)
@Max(480)
slot_duration_minutes?: number;
@IsOptional()
@IsObject()
payment_methods?: {