# Fuente: album/book/ops-templates/veterinarian/02-gestion-agenda.md # Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario # Tests Backend: pytest tests/contracts/mascotas/test_vet_availability.py # Tests Frontend: npx playwright test vet-schedule.spec.ts Feature: Gestion de agenda veterinaria Como veterinario Quiero gestionar mi calendario y disponibilidad Para organizar mis visitas a domicilio eficientemente Background: Given que estoy logueado como veterinario And estoy en la seccion "Mi agenda" # ============================================ # VER AGENDA # ============================================ Scenario: Ver calendario semanal When veo mi agenda en vista semanal Then deberia ver los 7 dias de la semana And deberia ver mis visitas programadas And cada visita deberia mostrar hora y nombre del paciente Scenario: Ver visitas con codigo de color por estado Given que tengo visitas en diferentes estados When veo mi agenda Then las visitas deberian mostrarse con colores: | estado | color | | Coordinado | amarillo | | Pagado | verde | | En progreso | azul | | Completado | gris | # ============================================ # CONFIGURAR DISPONIBILIDAD SEMANAL # ============================================ Scenario: Configurar horario laboral When voy a "Configuracion" -> "Mi disponibilidad" And configuro mi horario: | dia | trabajo | desde | hasta | pausa_desde | pausa_hasta | | Lunes | Si | 09:00 | 18:00 | 13:00 | 14:00 | | Martes | Si | 09:00 | 18:00 | 13:00 | 14:00 | | Miercoles | Si | 09:00 | 18:00 | 13:00 | 14:00 | | Jueves | Si | 09:00 | 18:00 | 13:00 | 14:00 | | Viernes | Si | 09:00 | 15:00 | | | | Sabado | No | | | | | | Domingo | No | | | | | And guardo la configuracion Then mi disponibilidad deberia actualizarse And no deberia recibir solicitudes fuera de ese horario # ============================================ # BLOQUEAR DIAS ESPECIFICOS # ============================================ Scenario: Marcar dia como no disponible Given que necesito el 20 de enero libre When hago click en el dia 20 de enero en el calendario And selecciono "Marcar como no disponible" And ingreso motivo "Vacaciones" And confirmo Then el dia 20 deberia mostrarse como bloqueado And no deberia poder aceptar solicitudes para ese dia Scenario: Bloquear rango de fechas Given que tomo vacaciones del 15 al 22 de enero When voy a "Agregar indisponibilidad" And selecciono fecha inicio "15 de enero" And selecciono fecha fin "22 de enero" And ingreso motivo "Vacaciones" And confirmo Then todos esos dias deberian mostrarse como bloqueados # ============================================ # IMPACTO EN SOLICITUDES # ============================================ Rule: Los bloqueos no afectan visitas ya aceptadas Scenario: Bloquear dia con visita ya aceptada Given que tengo una visita aceptada para el 15 de enero When intento bloquear el 15 de enero Then deberia ver advertencia "Tienes una visita programada ese dia" And deberia poder elegir: | opcion | | Cancelar el bloqueo | | Bloquear y contactar al dueno | Rule: Cambios de disponibilidad solo afectan solicitudes futuras Scenario: Cambiar horario no afecta visitas existentes Given que tengo una visita a las 17:00 el lunes When cambio mi horario del lunes para terminar a las 16:00 And guardo los cambios Then la visita de las 17:00 deberia mantenerse And deberia ver advertencia sobre la inconsistencia