OBJETIVO
Poder integrar las reservas de Ancillary que se generarán desde la vertical de aéreos con Netoffice.
Se deben poder cobrar, facturar, gestionar Ancillary Services en Netoffice continuando el proceso iniciado en Netsuite.
Los llamados ancillary son servicios complementarios o auxiliares al ticket aéreo original, no puede existir por si solo sino que siempre estarán relacionados a un ticket aereo. Por ejemplo; se compra un ticket aéreo y luego se pueden adicionar otros servicios como; compra de asiento con antelación, adición de maletas, equipaje deportivo, mascotas en bodega, compra de bebidas y comidas, etc.
ALCANCE
El servicio de Ancillary es un ticket de tipo EMD.
Los cambios que se hicieron con respecto a la reserva de vuelos en NSS fueron:
Se agrego el campo: ReservationItems/ReservationItemDefinition/Description
El Type = Ancillary
La información de costos, precios, boletos se encuentra en los mismos campos de los vuelos.
Para poder leer este tipo de tickets en NOF se realizaron las siguiente modificaciones:
Para poder leer este tipo de tickets en NOF precisamos realizar los siguientes ajustes:
PARTE 1: INICIAL
Se actualizaron referencias de WebService TravelItinerary para disponer de nuevos campos, enums, etc.
Se deben procesan las reservas con ReservationItemType = Ancillary de la misma manera que hoy se procesan las AIR.
Si bien las reservas de Ancillary se comunican con la misma estructura de una reserva aérea, se creó un tipo nuevo de reserva y especificó para poder identificarlas.
Si un segmento no tiene información de Clases (ClassesOfService) debe omitir este campo y continuar con el proceso.
PARTE 2: EMD
Los tickets de reservas con ReservationItemType=Ancillary se deben marcar como EMD y no como e-ticket. (Ver TranslatorCustomTicket (ticket), linea 336)
Es decir, dentro del detalle del servicio de ancillary dentro de Netoffice se debe marcar el check EMD
PARTE 3: TicketID
Actualmente se guardan algunas referencias de Netsuite en el expediente de Netoffice:
Id Itinerario en Files.Id_front
Reservation ID en cada servicio, file_servicios_detalle.reservationID.
IdTicket en cada ticket, File_aereos_tickets.IdTicket (User Story 94463: Mejora en la lectura del response para que no se dupliquen tickets aéreos).
Las reservas de Ancillary no tienen un IdTicket (o pasajero) propio, sino que utilizan el mismo IdTicket o pasajero de su ticket relacionado, como consecuencia la validación del User Story anterior evitan que se creen nuevos tickets ya que los está identificando únicamente con el IdTicket como únicos y los salta.
NOTA: Si se procesa un IT por primera vez y ya tiene los tickets y Ancillary Services (con IdTicket repetidos) se van a procesar y crear sin problema ya que la validación se hace solo cuando se actualizan Expedientes en NOF:
Para evitar esto, la validación debe funcionar revisando si existe un IdTicket repetido junto con su ReservationID. Es decir, que con la inclusión de los Ancillary Services es correcto que en un mismo Expediente se tengan 2 o más tickets con el mismo IdTicket, siempre que estén en diferentes ReservationsId. Cada Ancillary tiene su propio ReservationId.
Se debe ajustar la validación de IdTickets repetidos para permitir la actualización de expedientes de manera correcta.
PARTE 4: Tasa IVA
Actualmente Netoffice identifica el IVA de los tickets aéreos (y sus variantes como MCO; EMD, etc.) si el código de impuesto coincide con el o los impuestos configurados en Configuración > General > Datos de la empresa > Impuesto pais:
Para el caso de Ancillary Services cuando el impuesto IVA sea YS, llegará como YSA y equivalente para otros países, agregando una A como tercer carácter. Teniendo en cuenta que la alícuota (porcentaje) de iva de un Ancillary puede ser diferente al IVA de un ticket normal se necesita poder diferenciar estos IVAs teniendo la posibilidad de crear fórmulas específicas según sea el caso.
Se debe crear una nueva variable llamada IVA_Ancillary disponible en las fórmulas de desglose la cual debe tomar el valor de cualquier tasa IVA en el servicio que tenga el código configurado en Netoffice seguido de una A, en el caso de Colombia y la pantalla aquí arriba (Adm - Configuración - General - Datos de la empresa) YSA.
Administración - Configuración - Desglose de Impuestos:
Aereo Nacional/Aereo Internaciona de cada al Cliente
if ( [tarifa] >0 ) {round ( [tarifa] + [total_tasas] - [importe_descuento] - [iva_aereos] - [iva_ancillary] - ( round ( [iva_aereos] / 0.05 , 3 ) ) , 3 ) } else {round ( [tarifa] + [total_tasas] , 3 ) }
Aereo Nacional/Aereo Internacional configurar fórmula de IVA
round ( [iva_aereos] , 3 ) + round ( [iva_ancillary] , 3 )
PARTE 5: DESCRIPCION
Se debe leer la descripcion del Ancillary que envia Netsuite y se debe llevar inicialmente a la descripcion factura del ticket aereo (actualmente no se ve en pantalla).
La descripcion llega en el campo: ReservationItems/ReservationItemDefinition/Description.
Esta descripcion se debe guardar en File_servicios_detalle.Factura_Descrip
Este campo no es visible en la pantalla del ticket en el file por ahora, se puede ver en la columna “Descripción Factura”
Factura por Carvajal: La descripcion se debe tomar en cuenta para el campo ITE 11, en lugar de la descripcion del ticket aereo actual cuando se trate de un ticket EMD.
Factura por Crystal: La descripcion se debe tener en cuenta para los tickets EMD en lugar de la descripcion actual de tickets aereos actuales.
CARVAJAL: La descripcion se debe tener en cuenta para los tickets EMD en lugar de la descripcion actual de tickets aereos actuales.
CARVAJAL: La descripcion se debe tener en cuenta para los tickets EMD en lugar de la descripcion actual de tickets aereos actuales.