CRM de Vuelos
El reto principal
La parte difícil de un CRM no es el código, es traducir cómo trabaja realmente la agencia. El proceso que te describen en la reunión y el que siguen a diario no son el mismo, y el software tiene que aguantar los casos raros: el boleto que se cambia, la cotización que nunca se cierra, el cliente que paga en dos partes.
El flujo "cotización → boleto → factura" se diseñó como un camino recto, y en la práctica las cotizaciones se modificaban después de emitir el boleto. Congelar los datos de la cotización dentro del boleto al emitirlo —copiarlos en vez de referenciarlos— fue lo que evitó que editar una cotización vieja cambiara una factura ya entregada al cliente.
Qué aprendí
Un documento emitido es una foto del momento, no una vista en vivo de otras tablas. Esa distinción, que aprendí aquí a base de reportes que no cuadraban, aplica a cualquier sistema con facturación.
- Preguntar por los casos raros antes de escribir código: ahí está el 80% del trabajo real
- Los documentos emitidos guardan copia de sus datos, no referencias que puedan cambiar
- Entregar a un cliente incluye enseñarle a usarlo: sin eso, el sistema se abandona
- PHP
- MySQL
- AdminLTE
- Bootstrap
- VPS