Insurance
Integración de ofertas de seguros combinados
Esta función te permite ofrecer a los viajeros un seguro incluido en el precio del alquiler de coches. La oferta combinada se puede mostrar entonces como un tipo de tarifa en la página de resultados de búsqueda.
Cobertura del seguro
Cada resultado de coche en la respuesta de disponibilidad puede incluir un objeto insurance_coverage. Toda la información sobre el seguro del coche, tanto si está incluido en el alquiler sin coste adicional como si se puede contratar como complemento, se recoge en este apartado. A continuación te muestro los campos que contiene.
| Campo | Descripción |
|---|---|
included | Un resumen de los productos de seguros que ofrece el proveedor. Cada producto tiene los mismos campos que un producto complementario. |
supplemental | Hay toda una gama de productos de seguro opcionales que puedes contratar para este coche. |
Incluido
Seguro de exención de responsabilidad por daños por colisión (CDW)
El objeto included.collision_damage_waiver contiene los siguientes campos:
| Campo | Descripción | Ejemplo |
|---|---|---|
description | Nombre abreviado de la cobertura. | Seguro de exención de responsabilidad por daños por colisión |
deductible | La cantidad de la que es responsable el viajero en caso de que se produzca un siniestro cubierto, antes de que se aplique la cobertura. | |
trip_rate | Un coste que ya está incluido en el total de la oferta, solo a título informativo. |
Complementario
Los productos de seguros opcionales de la gama « supplemental » tienen los siguientes campos:
| Campo | Descripción | Ejemplo |
|---|---|---|
provider | Nombre de la aseguradora. | Compañía de seguros de coche |
description | Nombre abreviado de la cobertura. | Protección total |
benefits.refundable_deductible | Si está indicado, describe la parte de la franquicia que se puede reembolsar en caso de siniestro (moneda, importe, porcentaje). | |
benefits.additional_protection | Una serie de coberturas adicionales incluidas en la póliza de seguro. | Parabrisas |
trip_rate | Precio total del seguro para toda la reserva (no por día). | |
cancel_penalties | Penalizaciones por cancelación específicas de este producto de seguro. Comprueba todo esto, además de lo que ya viene en el coche cancel_penalties. | |
links.details | URL de la página con los detalles del paquete de coche y seguro. |
Paquete de seguros
Disponibilidad
Para mostrar las ofertas de « insurance-bundled », tendrás que utilizar los siguientes parámetros de consulta:
| Campo | Descripción |
|---|---|
include=insurance_bundle | Devuelve « insurance_coverage » en los resultados. Si no se hace esto, las ofertas de seguros combinados no aparecerán en la respuesta de disponibilidad. |
filter=insurance_bundle | Limita los resultados solo a los coches para los que hay paquetes combinados de seguros disponibles. Combínalo con « include=insurance_bundle » para que solo se muestren los resultados agrupados. |
Nota:
- El coste del seguro incluido no se tiene en cuenta en el objeto «
rate.pricing» de la respuesta de disponibilidad, ya que la API aún no sabe si se incluirá un seguro (ni qué plan de cobertura) en la oferta del coche en el momento de la reserva. - El campo «
rate.pricing.totals.insurance» de la respuesta «Details» del coche mostrará el coste total del seguro incluido en el paquete en la página de detalles del producto, ya que la API sabe que, en ese momento, la intención es crear un paquete. - Actualmente se ofrecen dos productos de seguro: protección total y cobertura adicional. Dependiendo de la tarifa del alquiler de coche y de la cobertura incluida, se te ofrecerá el producto de seguro más adecuado.
Ejemplo de respuesta sobre disponibilidad
[
{
...
"insurance_coverage": {
"included": {
"collision_damage_waiver": {
"description": "Collision Damage Waiver",
"deductible": {
"billable_currency": {
"value": "1500.00",
"currency": "USD"
},
"request_currency": {
"value": "1500.00",
"currency": "USD"
}
}
}
},
"supplemental": [
{
"provider": "[vendor name]",
"description": "Full Protection",
"benefits": {
"refundable_deductible": {
"currency": "USD",
"amount": "1500.00",
"percent": "100%"
}
},
"trip_rate": {
"billable_currency": {
"value": "100.00",
"currency": "USD"
},
"request_currency": {
"value": "100.00",
"currency": "USD"
}
},
"cancel_penalties": [
{
"end": "2018-02-12T11:59:00",
"currency": "USD",
"amount": "100.00"
}
],
"links": {
"details": {
"method": "GET",
"href": "https://test.ean.com/v2/cars/1234/details?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
}
}
}
]
},
...
"cancel_penalties": [
{
"currency": "USD",
"start": "2018-02-12T11:59:00",
"end": "2018-02-12T11:59:00",
"amount": "50.00"
}
],
"links": {
"details": {
"method": "GET",
"href": "https://test.ean.com/v2/cars/1234/details?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
}
}
}
]Detalles
Punto final: GET /v2/cars/{car_rental_id}/details
El enlace «Detalles» del seguro incluido aparece en el resultado de «Disponibilidad», en la sección « links.details » (Datos de la póliza) de la página complementaria InsuranceProduct. Llámalos para conocer todos los precios, las condiciones y el enlace para reservar.
El objeto « insurance_coverage » que te presento aquí tiene la misma estructura que en «Disponibilidad». Usa esta como versión oficial antes de hacer el check-out.
Nota: Los precios y los detalles de la política que aparecen aquí tienen prioridad sobre los que figuran en la respuesta de disponibilidad.
Cobertura complementaria
A continuación te muestro los campos que contiene insurance_coverage.supplemental.
| Campo | Descripción | Ejemplo |
|---|---|---|
provider | Nombre de la compañía de seguros. | Compañía de seguros de coche |
description | Nombre abreviado de la cobertura. | Protección total |
benefits.refundable_deductible | Si está incluido, describe la parte de la franquicia que se puede reembolsar en caso de siniestro (moneda, importe, porcentaje). | |
benefits.content | Matriz de objetos { title, description } para mostrar al viajero los detalles de las prestaciones de la cobertura. | |
benefits.additional_protection | Una serie de coberturas adicionales incluidas en la póliza de seguro. | Parabrisas |
disclaimer | Texto que el viajero debe aceptar antes de contratar el seguro al finalizar la reserva. Muéstrale esto y asegúrate de que lo acepte antes de hacer la reserva. | |
trip_rate | Precio total del seguro para toda la reserva (no por día). | |
cancel_penalties | Penalizaciones por cancelación específicas del producto de seguro. Echa un vistazo a esto, además de a la guía de mantenimiento del propio coche ( cancel_penalties). | |
links.terms_and_conditions | Enlace a las condiciones generales del seguro. | |
links.product_information | URL del documento informativo sobre el producto de seguro (IPID). |
Campos adicionales relacionados con los seguros
| Campo | Descripción |
|---|---|
rate.pricing.totals.insurance | Coste total del seguro con la tarifa combinada. |
Ejemplo de respuesta con detalles
{
...
"insurance_coverage": {
"included": {
"collision_damage_waiver": {
"description": "Collision Damage Waiver",
"deductible": {
"billable_currency": {
"value": "1500.00",
"currency": "USD"
},
"request_currency": {
"value": "1500.00",
"currency": "USD"
}
}
}
},
"supplemental": [
{
"provider": "[vendor name]",
"description": "Full Protection",
"benefits": {
"refundable_deductible": {
"currency": "USD",
"amount": "1500.00",
"percent": "100%"
},
"content": [
{
"title": "Zero excess if the vehicle is damaged or stolen",
"description": "Full Protection covers the full excess amount so you won’t have to pay if something goes wrong."
},
{
"title": "Damages commonly excluded by rental companies",
"description": "Includes windows, windscreens, tyres, wheels, mirrors/glass, roof, underbody, hitting an animal and more"
},
{
"title": "Roadside assistance and repair costs",
"description": "Includes towing, key loss & replacement and vehicle lockout"
},
{
"title": "Free cancellation at anytime before pick-up"
}
]
},
"disclaimer": "By adding protection you confirm you have read and agree to the Policy Terms and Insurance Product Information Document. By selecting this insurance you confirm you are a resident of Germany, and you are over 18 years old.",
"trip_rate": {
"billable_currency": {
"value": "100.00",
"currency": "USD"
},
"request_currency": {
"value": "100.00",
"currency": "USD"
}
},
"cancel_penalties": [
{
"end": "2018-02-12T11:59:00",
"currency": "USD",
"amount": "100.00"
}
],
"links": {
"terms_and_conditions": {
"method": "GET",
"href": "https://www.rentalcover.com/policy-wording/collinsoneu-fp-ob"
},
"product_information": {
"method": "GET",
"href": "https://static.xcover.com/media/pds/7fd53012-812d-4316-bb72-95f46534da7e/Expedia_RC-FP-DE.pdf"
}
}
}
]
},
...
"rate": {
...
"pricing": {
...
"totals": {
...
"insurance": {
"request_currency": {
"value": "100.00",
"currency": "USD"
}
},
...
}
}
},
...
"cancel_penalties": [
{
"currency": "USD",
"start": "2018-02-12T11:59:00",
"end": "2018-02-12T11:59:00",
"amount": "50.00"
}
],
"links": {
"payment": {
"method": "POST",
"href": "https://pay-test.ean.com/v1/payments?token=K~IjZ45n9y8TKnmQeJ2jQKZxJcYDFCOjkqIl6wLmcyVQlZBVUKLZctxg=="
},
"book": {
"method": "POST",
"href": "https://test.ean.com/v2/itineraries/car?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m"
}
}
}Registro de pagos
Punto final: POST /v2/payments?token=<TOKEN>
El enlace «Payment Registration» aparece en la respuesta «Details», en el campo « links.payment » del cuerpo de la respuesta. Llámalos para dar de alta un método de pago y conseguir un « payment_token » para la reserva.
Reservar
Punto final: POST /v2/itineraries/car
Usa el enlace del libro que aparece en la respuesta de «Detalles». El token de ese enlace contiene todo el estado de la sesión, incluido el seguro incluido.
A continuación encontrarás otros campos del cuerpo de la solicitud relacionados con los seguros.
| Campo | Descripción |
|---|---|
primary_driver.country_of_residence | Código ISO 3166-1 alfa-2 de dos letras del país de residencia principal del conductor. Este campo es obligatorio cuando la reserva incluye cobertura de seguro. |
primary_driver.state_province_code | Código de estado o provincia de 2 letras, o código de subdivisión de 3 letras, correspondiente a la residencia principal del conductor, que debe indicarse en formato ISO 3166-1 alfa-2 o ISO 3166-1 alfa-3. Este campo es obligatorio al reservar un coche con cobertura de seguro. |
Si la reserva se realiza correctamente, se devuelve un código HTTP 201 con:
itinerary_id- El número de referencia permanente de la reserva.links.retrieve- Usa este enlace para consultar los detalles de la reserva.
Recuperación
Punto final: GET /itineraries/{itinerary_id}/car
Usa el enlace de recuperación que aparece en la respuesta de la reserva, o busca por affiliate_reference_id a través de GET /itineraries/car?affiliate_reference_id=.....
Puede que haya un pequeño retraso tras hacer la reserva hasta que el itinerario esté disponible para consultarlo. Si te aparece un error justo después de hacer la reserva, espera unos minutos y vuelve a intentarlo.
La respuesta (RetrieveResponse) incluye, entre otras cosas:
| Campo | Descripción | Ejemplo |
|---|---|---|
itinerary_id | El ID del itinerario de la reserva. | |
status | Estado actual de la reserva. | BOOKED |
confirmation_id | Número de confirmación del proveedor. | |
car_details | El objeto « CarDetails » completo, que incluye insurance_coverage, rate, policies y rules_and_restrictions. | |
primary_driver | Datos del conductor tal y como se indicaron al hacer la reserva. | |
affiliate_reference_id | El ID de referencia del afiliado, tal y como se indic ó al hacer la reserva. | |
affiliate_metadata | Metadatos enviados al hacer la reserva. | |
creation_time | Marca de tiempo de creación de la reserva en formato ISO 8601. | |
links.cancel | DELETE Enlace para cancelar la reserva. | |
policy_id | El número de referencia de la póliza | 12345C4R1NS |
El campo « car_details.insurance_coverage » de la respuesta «Retrieve» muestra el seguro que se ha contratado. Echa un vistazo a insurance_coverage.supplemental[].cancel_penalties y a car-level cancel_penalties para ver las condiciones de reembolso y cancelación.
Nota: El código policy_id se genera de forma asíncrona tras realizar la reserva y puede que no aparezca de inmediato al realizar una llamada de recuperación. El « policy_id » podría aparecer entonces en una llamada posterior.