# language: es # Fuente: album/book/ops-templates/veterinarian/01-aceptar-solicitud.md # Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario # Tests Backend: pytest tests/contracts/solicitudes/test_service_requests.py # Tests Frontend: npx playwright test vet-requests.spec.ts Característica: Aceptar o rechazar solicitudes de servicio Como veterinario de la plataforma Quiero revisar y responder a solicitudes en mi zona Para gestionar mi agenda de visitas a domicilio Antecedentes: Dado que estoy logueado como veterinario Y tengo cobertura en los barrios "Palermo" y "Recoleta" Y estoy en el dashboard de veterinario # ============================================ # VER SOLICITUDES PENDIENTES # ============================================ Escenario: Ver lista de solicitudes en mi zona Cuando veo la seccion "Solicitudes pendientes" Entonces deberia ver solo solicitudes de "Palermo" y "Recoleta" Y no deberia ver solicitudes de otros barrios Escenario: Ver detalle de solicitud Dado que hay una solicitud pendiente Cuando hago click en la solicitud Entonces deberia ver: | seccion | contenido | | Dueno | Nombre, telefono, direccion | | Mascota | Nombre, tipo, edad, foto | | Servicios | Lista de servicios solicitados | | Fechas | Fechas preferidas por el dueno | | Historial | Visitas anteriores si las hay | # ============================================ # ACEPTAR SOLICITUD # ============================================ Escenario: Aceptar solicitud con fecha disponible Dado que hay una solicitud para el barrio "Palermo" Y el dueno prefiere fechas: | fecha | franja | | 2024-01-15 | Mañana | | 2024-01-16 | Tarde | Y tengo disponibilidad el 15 de enero a las 10:00 Cuando hago click en "Aceptar" Y selecciono fecha "15 de enero" hora "10:00" Y confirmo la aceptacion Entonces la solicitud deberia pasar a estado "Coordinado" Y deberia quedar asignada a mi Y el dueno deberia recibir notificacion con mis datos Y la visita deberia aparecer en mi agenda Escenario: Aceptar solicitud con datos de mascota que ya atendi Dado que hay una solicitud para mascota "Luna" Y yo atendi a "Luna" anteriormente Cuando veo el detalle de la solicitud Entonces deberia ver badge "Paciente recurrente" Y deberia ver el historial de mis visitas anteriores a Luna # ============================================ # RECHAZAR SOLICITUD # ============================================ Esquema del escenario: Rechazar solicitud con motivo Dado que hay una solicitud pendiente Cuando hago click en "Rechazar" Y selecciono motivo "" Y confirmo el rechazo Entonces la solicitud deberia desaparecer de mi lista Y deberia seguir visible para otros veterinarios Ejemplos: | motivo | | No tengo disponibilidad | | Fuera de mi zona | | No realizo este servicio | | Otro | Escenario: Rechazar sin seleccionar motivo Dado que hay una solicitud pendiente Cuando hago click en "Rechazar" Y confirmo sin seleccionar motivo Entonces deberia poder rechazar igual # El motivo es opcional # ============================================ # RACE CONDITIONS # ============================================ Regla: Solo un veterinario puede aceptar cada solicitud Escenario: Otro vet acepta mientras estoy viendo Dado que estoy viendo el detalle de una solicitud Y otro veterinario acepta la misma solicitud Cuando intento aceptarla Entonces deberia ver error "Esta solicitud ya fue aceptada" Y deberia ser redirigido al listado Escenario: Solicitud desaparece cuando otro la acepta Dado que estoy viendo el listado de solicitudes Y otro veterinario acepta una solicitud Entonces esa solicitud deberia desaparecer de mi lista # Idealmente en tiempo real via websocket # ============================================ # CASOS ESPECIALES # ============================================ Escenario: Solicitud urgente destacada Dado que hay una solicitud marcada como "Urgente" Cuando veo el listado de solicitudes Entonces deberia ver la solicitud con indicador de urgencia Y deberia aparecer primero en la lista Escenario: Solicitud con multiples mascotas Dado que hay una solicitud para 2 mascotas Cuando veo el detalle Entonces deberia ver informacion de ambas mascotas Y deberia ver nota sobre tiempo estimado adicional Escenario: No puedo aceptar con agenda completa Dado que tengo mi agenda completa para las fechas de la solicitud Cuando intento aceptar la solicitud Entonces deberia ver advertencia "No tienes disponibilidad en las fechas preferidas" Y deberia poder proponer una fecha alternativa