Accessors
actualDuration
- get actualDuration(): undefined | number
Returns undefined | number
additionalServices
- get additionalServices(): | undefined
| { notes?: string; price: number; serviceId: string }[] Returns undefined | { notes?: string; price: number; serviceId: string }[]
barberId
- get barberId(): string
Returns string
cancellationReason
- get cancellationReason(): undefined | string
Returns undefined | string
cancelledAt
- get cancelledAt(): undefined | Date
Returns undefined | Date
cancelledBy
- get cancelledBy(): undefined | string
Returns undefined | string
completedAt
- get completedAt(): undefined | Date
Returns undefined | Date
completedBy
- get completedBy(): undefined | string
Returns undefined | string
createdAt
- get createdAt(): Date
Returns Date
customerId
- get customerId(): string
Returns string
endTime
- get endTime(): Date
Returns Date
feedback
- get feedback(): | undefined
| {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
} Returns
| undefined
| {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
}
id
- get id(): string
Returns string
notes
- get notes(): undefined | string
Returns undefined | string
paymentMethod
- get paymentMethod(): undefined | "CASH" | "CARD" | "DIGITAL_WALLET"
Returns undefined | "CASH" | "CARD" | "DIGITAL_WALLET"
paymentStatus
- get paymentStatus(): undefined | "PAID" | "PENDING" | "FAILED"
Returns undefined | "PAID" | "PENDING" | "FAILED"
reschedulingHistory
- get reschedulingHistory(): | undefined
| {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[] Returns
| undefined
| {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[]
serviceId
- get serviceId(): string
Returns string
startTime
- get startTime(): Date
Returns Date
status
- get status(): "pending" | "confirmed" | "cancelled" | "completed"
Returns "pending" | "confirmed" | "cancelled" | "completed"
totalAmount
- get totalAmount(): undefined | number
Returns undefined | number
updatedAt
- get updatedAt(): Date
Returns Date
Methods
addAdditionalServices
- addAdditionalServices(
services: { notes?: string; price: number; serviceId: string }[],
): void Parameters
- services: { notes?: string; price: number; serviceId: string }[]
Returns void
addFeedback
- addFeedback(
feedback: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
},
): void Parameters
- feedback: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
}
Returns void
cancel
- cancel(reason: string): void
Returns void
complete
- complete(completedBy: string): void
Returns void
confirm
- confirm(): void
Returns void
reschedule
- reschedule(
newStartTime: Date,
newEndTime: Date,
newBarberId: string,
rescheduledBy: string,
reason?: string,
): void Parameters
- newStartTime: Date
- newEndTime: Date
- newBarberId: string
- rescheduledBy: string
Optional
reason: string
Returns void
toJSON
- toJSON(): {
actualDuration?: number;
additionalServices?: { notes?: string; price: number; serviceId: string }[];
barberId: string;
cancellationReason?: string;
cancelledAt?: Date;
cancelledBy?: string;
completedAt?: Date;
completedBy?: string;
createdAt: Date;
customerId: string;
endTime: Date;
feedback?: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
};
id: string;
notes?: string;
paymentMethod?: "CASH"
| "CARD"
| "DIGITAL_WALLET";
paymentStatus?: "PAID" | "PENDING" | "FAILED";
reschedulingHistory?: {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[];
serviceId: string;
startTime: Date;
status: "pending"
| "confirmed"
| "cancelled"
| "completed";
totalAmount?: number;
updatedAt: Date;
} Returns {
actualDuration?: number;
additionalServices?: { notes?: string; price: number; serviceId: string }[];
barberId: string;
cancellationReason?: string;
cancelledAt?: Date;
cancelledBy?: string;
completedAt?: Date;
completedBy?: string;
createdAt: Date;
customerId: string;
endTime: Date;
feedback?: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
};
id: string;
notes?: string;
paymentMethod?: "CASH"
| "CARD"
| "DIGITAL_WALLET";
paymentStatus?: "PAID" | "PENDING" | "FAILED";
reschedulingHistory?: {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[];
serviceId: string;
startTime: Date;
status: "pending"
| "confirmed"
| "cancelled"
| "completed";
totalAmount?: number;
updatedAt: Date;
}
updateNotes
- updateNotes(notes: string): void
Returns void
updatePaymentInfo
- updatePaymentInfo(
status: "PAID" | "PENDING" | "FAILED",
method?: "CASH" | "CARD" | "DIGITAL_WALLET",
amount?: number,
): void Parameters
- status: "PAID" | "PENDING" | "FAILED"
Optional
method: "CASH" | "CARD" | "DIGITAL_WALLET"Optional
amount: number
Returns void
Static
create
- create(
customerId: string,
serviceId: string,
barberId: string,
startTime: Date,
endTime: Date,
notes?: string,
): AppointmentEntity Parameters
- customerId: string
- serviceId: string
- barberId: string
- startTime: Date
- endTime: Date
Optional
notes: string
Static
reconstitute
- reconstitute(
data: {
actualDuration?: number;
additionalServices?: { notes?: string; price: number; serviceId: string }[];
barberId: string;
cancellationReason?: string;
cancelledAt?: Date;
cancelledBy?: string;
completedAt?: Date;
completedBy?: string;
createdAt: Date;
customerId: string;
endTime: Date;
feedback?: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
};
id: string;
notes?: string;
paymentMethod?: "CASH"
| "CARD"
| "DIGITAL_WALLET";
paymentStatus?: "PAID" | "PENDING" | "FAILED";
reschedulingHistory?: {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[];
serviceId: string;
startTime: Date;
status: "pending"
| "confirmed"
| "cancelled"
| "completed";
totalAmount?: number;
updatedAt: Date;
},
): AppointmentEntity Parameters
- data: {
actualDuration?: number;
additionalServices?: { notes?: string; price: number; serviceId: string }[];
barberId: string;
cancellationReason?: string;
cancelledAt?: Date;
cancelledBy?: string;
completedAt?: Date;
completedBy?: string;
createdAt: Date;
customerId: string;
endTime: Date;
feedback?: {
cleanliness?: number;
comment?: string;
rating?: number;
serviceQuality?: number;
timeliness?: number;
};
id: string;
notes?: string;
paymentMethod?: "CASH"
| "CARD"
| "DIGITAL_WALLET";
paymentStatus?: "PAID" | "PENDING" | "FAILED";
reschedulingHistory?: {
previousBarberId: string;
previousEndTime: Date;
previousStartTime: Date;
reason?: string;
rescheduledAt: Date;
rescheduledBy: string;
}[];
serviceId: string;
startTime: Date;
status: "pending"
| "confirmed"
| "cancelled"
| "completed";
totalAmount?: number;
updatedAt: Date;
}