ActiveTutorWithAvailability
Active tutor with availability slots Used for displaying bookable tutors
Extends
Properties
availability
availability: {
dayOfWeek: number;
endTime: string;
id: string;
isRecurring: boolean;
startTime: string;
timezone: string;
validFrom?: null | Date;
validUntil?: null | Date;
}[];
Array of availability time slots
dayOfWeek
dayOfWeek: number;
Day of week (0 = Sunday, 6 = Saturday)
endTime
endTime: string;
End time in "HH:mm" format (e.g., "17:00")
id
id: string;
Unique identifier for the availability slot
isRecurring
isRecurring: boolean;
Whether this slot repeats weekly
startTime
startTime: string;
Start time in "HH:mm" format (e.g., "09:00")
timezone
timezone: string;
Timezone for the time slot
validFrom?
optional validFrom: null | Date;
Start date when this availability becomes valid
validUntil?
optional validUntil: null | Date;
End date when this availability expires
bio
bio: string;
Professional bio/description
Inherited from
bufferTime
bufferTime: number;
Minutes of buffer time between sessions
Inherited from
createdAt
createdAt: Date;
Timestamp when the user was created
Inherited from
email
email: string;
User's email address
Inherited from
expertise
expertise: string[];
Array of expertise areas (e.g., ["Python", "JavaScript", "Data Science"])
Inherited from
firstName
firstName: string;
User's first name
Inherited from
hourlyRate
hourlyRate: number;
Hourly rate in USD
Inherited from
id
id: string;
Unique identifier generated by Prisma
Inherited from
lastName
lastName: string;
User's last name
Inherited from
role
role: TUTOR;
Tutor role discriminator
Inherited from
timezone
timezone: string;
User's timezone
Inherited from
updatedAt
updatedAt: Date;
Timestamp when the user was last updated