Portal de agendamiento de hora para el taller de vehículos, resuelto como una aplicación Angular embebida en Liferay mediante Client Extensions. La aplicación consume las APIs de SAP y del CRM para leer disponibilidad y registrar la cita del cliente.
Agendar una hora de taller es de esas operaciones que parecen simples hasta que se miran por dentro. Hay que saber qué talleres existen, qué servicios ofrece cada uno, qué horas quedan libres esta semana, si el vehículo del cliente está registrado y bajo qué patente, y al final escribir la cita en el sistema que usan los asesores de servicio.
Nada de eso vive en el portal: vive en SAP y en el CRM. El portal solo pone la cara. Por eso este proyecto no es una página sino una aplicación: un frontal en Angular, desplegado como Client Extension dentro de Liferay, que consume las APIs corporativas para leer disponibilidad real y registrar la reserva.
La ventaja de resolverlo como Client Extension en lugar de como un portlet clásico es doble. La aplicación se desarrolla y se despliega con su propio ciclo, con las herramientas de Angular, sin recompilar módulos OSGi ni reiniciar el portal en cada cambio. Y al mismo tiempo corre dentro de la sesión del portal, así que hereda la autenticación y la navegación del sitio: para el cliente es una página más de Kaufmann.
Es el proyecto donde la integración pesa más que el diseño. El valor está en que la hora que el cliente ve libre en la pantalla sea la hora que realmente está libre en el taller.
Una captura del sitio en producción.