# Aceptar/Rechazar Solicitud de Servicio

## Tipo de usuario
Veterinario

## Donde empieza
Dashboard veterinario `/vet/` -> Seccion "Solicitudes pendientes"

## Que quiere hacer el usuario
Revisar las solicitudes de servicio en su zona y decidir si las acepta o rechaza

## Pasos - Aceptar solicitud

1. Ingresar al dashboard veterinario
2. Ver listado de solicitudes pendientes en su zona de cobertura
3. Click en una solicitud para ver detalle:
   - Datos del dueno (nombre, telefono, direccion)
   - Datos de la mascota (nombre, tipo, edad, historial previo)
   - Servicios solicitados
   - Fechas preferidas por el dueno
4. Verificar disponibilidad en esas fechas
5. Click en "Aceptar"
6. Seleccionar fecha y hora disponible
7. Confirmar aceptacion

## Pasos - Rechazar solicitud

1. Ver detalle de la solicitud
2. Click en "Rechazar"
3. Opcionalmente seleccionar motivo:
   - No tengo disponibilidad
   - Fuera de mi zona
   - No realizo este servicio
   - Otro
4. Confirmar rechazo

## Que deberia pasar

Al aceptar:
- Solicitud pasa a estado "Coordinado"
- Vet queda asignado a la solicitud
- Dueno recibe notificacion con fecha/hora y datos del vet
- Aparece en el calendario del vet

Al rechazar:
- Solicitud sigue disponible para otros vets
- Si la rechazo yo, ya no la veo en mi lista

## Problemas comunes

- Multiples vets aceptan la misma solicitud casi simultaneamente
- El vet acepta pero el dueno no puede en esa fecha
- No hay suficientes vets en la zona y la solicitud queda sin atender
- Vet acepta por error y quiere deshacer
- Las fechas preferidas ya pasaron

## Casos especiales

- Solicitud con mascota que el vet ya atendio antes: mostrar historial
- Solicitud urgente/emergencia: destacar visualmente
- Vet con agenda completa: no deberia poder aceptar
- Solicitud con multiples mascotas: revisar tiempo necesario
- Zona limite: solicitud que aparece para vets de zonas adyacentes

## Flujos relacionados

- Ver mi agenda (despues de aceptar)
- Realizar visita
- Cancelar visita aceptada

## Notas tecnicas

- APIs:
  - `GET /solicitudes/api/v1/service-requests/?state=pending&veterinarian_area=X`
  - `PATCH /solicitudes/api/v1/service-requests/{id}/` (aceptar/rechazar)
- Race condition: backend debe manejar caso de aceptacion simultanea
- Push notification al dueno cuando se acepta
