fix unblocked slot showing as Ocupado instead of Disponible

GET /services/professional returns all statuses including cancelled.
After unblocking (self_booked → cancelled), _isOccupied matched the
cancelled service because it only excluded selfBooked.

Exclude cancelled and denied from _isOccupied so unblocked slots
correctly revert to Disponible.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-12 19:26:48 -05:00
co-authored by Claude Sonnet 4.6
parent 920ae7144d
commit fd7b57fd35
+3 -1
View File
@@ -404,7 +404,9 @@ class _ProfessionalCalendarViewState extends State<ProfessionalCalendarView> {
return services.any((s) =>
s.day == dayStr &&
s.range1Hour1 == time &&
s.status != ServiceStatus.selfBooked);
s.status != ServiceStatus.selfBooked &&
s.status != ServiceStatus.cancelled &&
s.status != ServiceStatus.denied);
}
bool _isSelfBooked(TimeOfDay time, List<Service>? services, DateTime day) {