Login mediante cliente, email y password para identificar al agente en el sistema.


Hay que tener en cuenta que aparte de en los parámetros del componente, también se define el código de sistema en el localStorage para que el motor pueda recuperarlo automáticamente. Concretamente en esta línea del JS:

localStorage.setItem('systemCode''B2B'); // B2B o CCH


El contenedor definido en container es quien determina el width del componente.


Este componente muestra directamente el formulario, por lo que si se desea ocultarlo y hacerlo visible mediante un botón o enlace deberá hacerse en la parte web.


Parámetros*


Principales

Parámetro

Descripción

Ejemplo

bookingEngine

Código de motor

2

system

Código de sistema (B2B o CCH)

B2B

language

Idioma

es

myDataUrl

Página donde está el componente de modificación de datos de agente

/area-cliente/modificacion-datos-agente.html

okHandler

Función que devuelve un objeto con información del usuario si está logueado

loginOk

koHandler

Función que se llama en caso de que haya ocurrido un error al hacer login

loginKo

labels

Objeto para pasar textos personalizados para sustituir las etiquetas del componente


component

Valor fijo “b2b-login”

b2b-login

container

Id de la etiqueta HTML que será el contenedor del componente

agentLogin


Objeto labels

Parámetro

Descripción

Ejemplo

forget_password

Sustituye a: ¿Olvidaste tu contraseña?

Recuperar contraseña

enter_with_user

Sustituye a: Entrar con mi usuario (aparece después de hacer click en el enlace para recuperar contraseña para volver al modo de login)

Volver al login


* Será necesario sustituir los parámetros que no son fijos por los valores necesarios en cada momento en función del tipo de búsqueda a realizar.


Ejemplo del HTML comentado con información necesaria


<script>
    
// Función para mostrar el mensaje de bienvenida junto al nombre del agente logueado o mostrar el mensaje genérico de login si no está logueado
    
function loginOk(agent) {
        
if (agent != null && agent.name != null && agent.name != "") {
            
// Podría por ejemplo mostrarse un mensaje en la web tipo: Bienvenid@ agent.name
}
}

    
function loginKo() {
        
// Mostrar un mensaje de error
}

    
// Etiquetado personalizado en el componente
    
const labels = new Map();
    labels.set(
"forget_password""Recuperar contraseña"); // Texto original: ¿Olvidaste tu contraseña?
    labels.set(
"enter_with_user""Volver al login"); // Texto original: Entrar con mi usuario

    
// Esta variable se usará en el componente del motor para recuperar el código de sistema (B2B o CCH)
    localStorage.setItem(
'systemCode''B2B');

    
/* Login B2B/CCH */
    
var genericManifestAndVendorsLoaded = genericManifestAndVendorsLoaded || false;
    
var parametersB2B = parametersB2B || [];
    
var firstParametersB2B = parametersB2B.length;
parametersB2B.push({
        bookingEngine: 
2,
        system: 
"B2B",
        language: 
"es",
        myDataUrl: 
"/area-cliente/modificacion-datos-agente.html",
okHandler: loginOk,
koHandler: loginKo,
labels: labels,
        component: 
"b2b-login",
        container: 
"agentLogin"
});

    
if(typeof gethTtScript != 'function'){
        
window.gethTtScript = function(source){
            
var script = document.createElement('script');
            
var prior = document.getElementsByTagName('script')[0];
            script.async = 
1;
script.src = source;
prior.parentNode.insertBefore(script, prior);
};
}

    
if (firstParametersB2B == 0) {
        
document.addEventListener('DOMContentLoaded'function () {
            
window.parametersB2B = window.parametersB2B || {};
            
window.parametersB2B.components = parametersB2B;
});
        
window.gethTtScript("https://hotel.new.hotetec.com/components/b2b/js/main.js");
}
    
if (!genericManifestAndVendorsLoaded) {
        
window.gethTtScript("https://hotel.new.hotetec.com/components/js/vendors.js");
        
window.gethTtScript("https://hotel.new.hotetec.com/components/js/manifest.js");
        genericManifestAndVendorsLoaded = 
true;
}
</script>

<div id="agentLogin">Cargando...</div>