| Feature | v1 actual | v2 propuesto | |
|---|---|---|---|
| Stack | Vanilla JS + Airtable | Mantener (NO migrar) | MANTENER |
| Registro | Solo login | Login + Registro cliente + profesional | NUEVO |
| Cotizaciones | Worker envía, client acepta + PDF | + Comparador visual lado a lado | MEJORAR |
| Booking | Card básica | + Timeline 5 pasos visual | MEJORAR |
| Chat | Texto con polling | + Enviar fotos | MEJORAR |
| Reclamos | No existe | Sistema completo con evidencia | NUEVO |
| Urgentes | No existe | Toggle urgente + notif | NUEVO |
| Ganancias/Niveles | Stats básicos | Bronce→Plata→Oro + rendimiento | NUEVO |
| Materiales | Manual | Librería guardada reutilizable | NUEVO |
| Agenda | Calendario básico | Agenda con timeline diaria | MEJORAR |
| Disponibilidad | Toggle on/off | + Horario semanal + radio + vacaciones | MEJORAR |
| Admin reclamos | No existe | Gestión con reembolsos | NUEVO |
| Notificaciones | Lista simple | Centro completo con filtros | NUEVO |
| Perfil público | Modal detalle | Perfil con galería + reseñas | NUEVO |
| Estados UI | Loading + Error | + Skeleton + Vacío + Success | MEJORAR |
| Tema | Celia propuso | Decisión Panchita |
|---|---|---|
| Stack | Next.js + Supabase | Mantener Vanilla JS + Airtable — la fusión voy-app-3 depende del stack actual |
| Comisión | 12% | 15% como está en el código real |
| Categorías | 8 diferentes | Las 8 originales de VOY v1 (gasfitería, electricidad, pintura, mecánica, belleza, clases, baile, limpieza) |
| Escrow/Pagos | Implementar | Futuro — primero consolidar features nuevas |
| # | Como... | Quiero... | Para... | |
|---|---|---|---|---|
| 1 | Visitante | Registrarme como cliente | Buscar profesionales | Alta |
| 2 | Visitante | Registrarme como profesional | Ofrecer mis servicios | Alta |
| 3 | Cliente | Crear solicitud urgente | Conseguir ayuda rápido | Alta |
| 4 | Cliente | Comparar cotizaciones | Elegir al mejor profesional | Alta |
| 5 | Cliente | Levantar reclamo | Resolver problemas | Media |
| 6 | Profesional | Guardar materiales frecuentes | Cotizar más rápido | Media |
| 7 | Profesional | Configurar horario semanal | Recibir solicitudes en horario | Media |
| 8 | Profesional | Ver nivel y ganancias | Motivarme y planificar | Media |
| 9 | Admin | Gestionar reclamos | Resolver disputas | Alta |
| 10 | Admin | Suspender usuarios | Mantener calidad | Media |
| 11 | Cliente | Ver notificaciones | Saber cuándo responden | Baja |
| 12 | Cliente | Enviar fotos por chat | Mostrar el problema | Baja |
| Tabla | Campos clave | Cambios v2 |
|---|---|---|
| Workers | WorkerId, Name, Email, Category, Rating, Lat/Lng, Verified, Available, Bio, Skills, Gallery | + Schedule, CoverageRadius, VacationMode, Level |
| Clients | ClientId, Name, Email, City, Phone, Lat/Lng | Sin cambios |
| Bookings | BookingId, ClientId, WorkerId, Service, Status, Date, Price, Commission | + IsUrgent, TimelineStatus |
| Requests | ReqId, ClientName, Service, Status, Distance | + IsUrgent, Photos |
| Quotations | QuoteId, LaborRate, LaborHours, Materials (JSON), Commission, GrandTotal | Sin cambios |
| Messages | ConversationId, From, Text, TimeStr | + ImageUrl |
| Verifications | VerifId, WorkerName, Status, Documents | + Step (1-4) |
| Transactions | TxId, Date, ClientName, WorkerName, Gross | Sin cambios |
| Tabla | Campos | Propósito |
|---|---|---|
| Claims | ClaimId, BookingRecordId, ClientRecordId, WorkerRecordId, Type, Description, Photos, Status, AdminNotes, RefundAmount, RefundType, CreatedAt | Reclamos y disputas |
| Notifications | NotifId, UserRecordId, UserType, Type, Title, Body, Read, RelatedRecordId, CreatedAt | Centro de notificaciones |
| SavedMaterials | MatId, WorkerRecordId, Name, UnitPrice, Unit, Category | Materiales guardados |
| WorkerSchedule | ScheduleId, WorkerRecordId, DayOfWeek, StartTime, EndTime, IsActive | Horario semanal |
| Fase | Features | |
|---|---|---|
| Fase 1 | Registro cliente + profesional, estados UI (skeleton/error/vacío/success), tabla Notifications | Alta |
| Fase 2 | Reclamos (Claims + admin + cliente), comparador cotizaciones, timeline booking | Alta |
| Fase 3 | Materiales guardados, ganancias/niveles, agenda/calendario, perfil público worker | Media |
| Fase 4 | Chat con fotos, horario semanal, radio cobertura, vacaciones, urgentes | Baja |
| Flujo | |
|---|---|
| Landing → Login | ✓ |
| Registro cliente (2 pasos) | ✓ NUEVO |
| Registro profesional (3 pasos) | ✓ NUEVO |
| Bienvenida post-registro | ✓ NUEVO |
| Dashboard cliente + worker | ✓ |
| Notificaciones centro | ✓ NUEVO |
| Perfil público profesional | ✓ NUEVO |
| Comparador cotizaciones | ✓ |
| Booking + timeline 5 pasos | ✓ |
| Solicitud urgente | ✓ |
| Reclamo con evidencia | ✓ |
| Agenda/calendario worker | ✓ NUEVO |
| Cotización + materiales | ✓ |
| Ganancias + niveles | ✓ |
| Admin dashboard + reclamos | ✓ |
| Loading skeleton | ✓ NUEVO |
| Error / Vacío / Success | ✓ NUEVO |
| Recurso | |
|---|---|
| Airtable API | Ya listo |
| jsPDF 2.5.1 | Ya listo |
| Leaflet | Ya listo |
| Resend (emails) | Ya listo |
| Vercel | Ya listo |
| 4 tablas nuevas en Airtable | Crear |