Hola ,
Formo parte de una comunidad de bienes integrada por dos programadores web, bases de datos y multipropósito, con amplia experiencia en la implementación de websites (especialmente en Joomla).
Como primera consideración, decir que no habrá un plugin/componente que implemente el 100% de la funcionalidad que desciben. (a no ser que su especificación se haya hecho basándose en un plugin/componente que ya hayan visto, en cuyo caso les recomiendo que reformulen el proyecto especificando la utilización del mismo).
Por otro lado, no se si están dispuestos a "soportar" el desarrollo de una aplicación web-adhoc, con lo que ello implica en cuanto a plazos,coste, depuración, etc.. (para un proyecto como el describen, pueden facilmente irse a 4 meses en tiempo de programación ad-hoc, prueba, verificación, etc..).
A partir de estas consideraciones, si para uds. el tiempo y el precio es un factor crítico, mi recomendación es que sean algo "flexibles" en cuanto al funcionamiento, porque si no tendrán que acabar llegando a un desarrollo "ad-hoc" (largo y caro comparativamente a una solución basada en algo ya existente, pero que requiere cierta flexibilidad por su parte).
Luego está el tema del mantenimiento. Un site de cierta complejidad programado ad-hoc sólo lo puede mantener/modificar de manera razonable quien lo ha programado. Para un site implementado en Joomla, WorPress o Drupal, es posible encontrar implementador/programadores/admnistradores con relativa facilidad.
Con todo ello, habiendo analizado su proyecto, y considerando que proponen utilizar un CMS como "base" (lo cual es muy acertado porque facliitará su gestión del sistema) opino que la mejor solución es dividir el proyecto en dos fases.
1) Fase 1 (Implementación del sistema de reservas básico basándose en Joomla y algún componente que implemente el máximo de funcionalidad propuesta).
Proposición: Integrar un Joomla 3.x con el plugin , "Events Booking - Joomla Events Registration". Se puede ver una demo de este plugin en [eliminado]/
Este plugin contendrá el 90% de las funcionalidades que ustedes desean. Aún así seguro habrá aspectos que no serán exactamente como ustedes los han ideado (este es el inconveniente vs programación ad-hoc), quizá haya alguna diferencia más o menos significativa.
A cambio, este componente está muy probado, funcionará de manera correcta podrá procesar los pagos (el que ustedes proponen es lo que se suele llamar offline, pero también puede hacerse a futuro integrando paypal), etc.., generar correos automáticos, probablemente generar el mismo facturas, cupones,almacenar históricos, etc.. y desde luego tendrá un coste en tiempo e implementación mucho menor frente a una solución "ad-hoc" que haga exactamente lo que ustedes plantean.
No tenemos experiencia directa en la implementación de este componente, pero si en otros (muuchos) similares. Por lo que nos llevaría al menos una semana implementar/probar/traducir todas las funcionalidades de que dispone. La opinión de la comunidad Joomla respecto al mismo es muy favorable , lo cual es una verdadera garantía del buen desempeño del mismo.
2) Fase 2: Tareas de Importación / Exportación:
Al final de su descripcición aparecen dos ítems asociados a la importación y exportación. Varias consideraciones:
a) IMPORTACIÓN: Importar directamente a un módulo con esta complejidad, puede ser una tarea "delicada" y desde luego habría que ir con mucho cuidado. No obstante, claro que puede hacerse (generando una "mini-web" que manipule directamente la base de datos MySQL del sistema). Mi sugerencia sería dejar este punto para más adelante, una vez se ha seleccionado el componente adecuado y se está "firme" en su uso e interacción.
b) EXPORTACIÓN: Esto suele ser más sencillo. Se puede hacer -de nuevo- una "pequeña web" con acceso restringido que extraiga información de la base de datos de Joomla para generarles a ustedes visualizaciones tipo tabla, CSV(cómo el excel pero "más comptible"), adecuadas a lo que deseen visualizar.
NOTA: Respecto a lo que comentan de "diseño como nuestra Web principal [eliminado]", mi opinión personal -sin ánimo de ofender y a modo de crítica constructiva- es que a pesar de la espectacularidad del material gráfico de que disponen, la riqueza de contenidos y el tamaño aparente de su empresa, la web parece "antigua" e implementado de manera "no del todo profesional". Es sólo un apareciación personal , claro.
Sería quizá interesante que reconsideran el uso de un template más nuevo o incluso readaptar la misma web a un Joomla con template Profesional. En este sentido podría hacerles una propuesta muy económica para modernizar su web a partir del contenido estático de que ya disponen.
Con ello la propuesta que le hago es:
1) Instalación / Configuración de web de sistema de reserva de cursos en web Joomla 3.x template responsive similar al actual aspecto de [eliminado]
basado en "Events Booking - Joomla Events Registration".
2) Se tratrá de ajustar el componente para que cumpla al "máximo" los requisitos del cliente, no obstante es posible que haya diferencias que el cliente debe asumir.(el proceso de registro de envío de e-mails, el contenido de los mismos,etc.. puede diferir de lo que inicialmente prevee). En este sentido es importante que haya buen entendimiento para tratar de encontrar una solución de compromiso adecuada para las dos partes, ya que no es un aplicación ad-hoc, sino una integración.
3) Prueba, error y elaboración de documentación para que cliente pueda llevar a cabo las operaciones básicas "de prueba".
4) Tutorización remota acerca del manejo del sistema. (pruebas, etc..).
5) Instalación primero en un servidor local para que el cliente disponga de un tiempo de "prueba" para familiarizarse con el funcionamiento de la herramienta.
6) Traslación final y puesta en marcha en hosting de cliente (El cliente deberá gestionar el hosting por su cuenta y proporcionará los datos. Se le sugerirá opciones y se le informará de qué debe hacerse respecto a la Ley de Protección de Datos, ya que esta web va almacenar información personal y por tanto debería implementar SSL y el cliente debería registrarse en la AGPD. Se le asesorará al respecto.)
7) Importación / Exportación
Se abordaría en una fase posterior, y sería fruto de una valoración posterior, una vez finalizadas las fases anteriores y siempre que el cliente esté satisfecho con los resultados y la performance obtenida, y una vez se determine que "no hace" directamente la web que el cliente realmente necesita.
Si están interesados podemos seguir comentado e ir afinando más la propuesta.
Con ello , agradezco su atención y quedo a su disposición para cualquier consulta.