Accessors
category
- get category(): ServiceCategoryType
Returns ServiceCategoryType
createdAt
- get createdAt(): Date
Returns Date
description
- get description(): string
Returns string
duration
- get duration(): number
Returns number
id
- get id(): string
Returns string
isActive
- get isActive(): boolean
Returns boolean
name
- get name(): string
Returns string
packageDetails
- get packageDetails(): | undefined
| {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
} Returns
| undefined
| {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
}
price
- get price(): number
Returns number
priceHistory
- get priceHistory(): undefined | { effectiveUntil: Date; price: number }[]
Returns undefined | { effectiveUntil: Date; price: number }[]
requiresConsultation
- get requiresConsultation(): boolean
Returns boolean
updatedAt
- get updatedAt(): Date
Returns Date
Methods
activate
- activate(): void
Returns void
calculateEndTime
- calculateEndTime(startTime: Date): Date
Returns Date
deactivate
- deactivate(): void
Returns void
toJSON
- toJSON(): {
category: | "HAIRCUT"
| "BEARD"
| "STYLING"
| "COLORING"
| "TREATMENT"
| "PACKAGE";
createdAt: Date;
description: string;
duration: number;
id: string;
isActive: boolean;
name: string;
packageDetails?: {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
};
price: number;
priceHistory?: { effectiveUntil: Date; price: number }[];
requiresConsultation: boolean;
updatedAt: Date;
} Returns {
category:
| "HAIRCUT"
| "BEARD"
| "STYLING"
| "COLORING"
| "TREATMENT"
| "PACKAGE";
createdAt: Date;
description: string;
duration: number;
id: string;
isActive: boolean;
name: string;
packageDetails?: {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
};
price: number;
priceHistory?: { effectiveUntil: Date; price: number }[];
requiresConsultation: boolean;
updatedAt: Date;
}
updateDetails
- updateDetails(
updates: {
description?: string;
duration?: number;
name?: string;
price?: number;
requiresConsultation?: boolean;
},
): void Parameters
- updates: {
description?: string;
duration?: number;
name?: string;
price?: number;
requiresConsultation?: boolean;
}
Returns void
updatePrice
- updatePrice(newPrice: number): void
Returns void
Static
create
- create(
name: string,
description: string,
category: ServiceCategoryType,
duration: number,
price: number,
requiresConsultation?: boolean,
): ServiceEntity Parameters
- name: string
- description: string
- category: ServiceCategoryType
- duration: number
- price: number
- requiresConsultation: boolean = false
Static
reconstitute
- reconstitute(
data: {
category:
| "HAIRCUT"
| "BEARD"
| "STYLING"
| "COLORING"
| "TREATMENT"
| "PACKAGE";
createdAt: Date;
description: string;
duration: number;
id: string;
isActive: boolean;
name: string;
packageDetails?: {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
};
price: number;
priceHistory?: { effectiveUntil: Date; price: number }[];
requiresConsultation: boolean;
updatedAt: Date;
},
): ServiceEntity Parameters
- data: {
category:
| "HAIRCUT"
| "BEARD"
| "STYLING"
| "COLORING"
| "TREATMENT"
| "PACKAGE";
createdAt: Date;
description: string;
duration: number;
id: string;
isActive: boolean;
name: string;
packageDetails?: {
savings: number;
services: {
individualPrice: number;
quantity: number;
serviceId: string;
serviceName: string;
}[];
totalValue: number;
};
price: number;
priceHistory?: { effectiveUntil: Date; price: number }[];
requiresConsultation: boolean;
updatedAt: Date;
}