From fd7b57fd35becaf4f6671721b071e96d92e1d3f1 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sun, 12 Jul 2026 19:26:48 -0500 Subject: [PATCH] fix unblocked slot showing as Ocupado instead of Disponible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- lib/ui/views/professional_calendar_view.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ui/views/professional_calendar_view.dart b/lib/ui/views/professional_calendar_view.dart index 4a4f72f..35bb9c4 100644 --- a/lib/ui/views/professional_calendar_view.dart +++ b/lib/ui/views/professional_calendar_view.dart @@ -404,7 +404,9 @@ class _ProfessionalCalendarViewState extends State { 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? services, DateTime day) {