Insurance
Integração de ofertas de seguros combinados
Essa funcionalidade permite que você ofereça seguro para viajantes incluído nas tarifas de aluguel de carros. A oferta combinada pode então ser exibida como um tipo de tarifa na página de resultados da pesquisa.
Cobertura de seguro
Cada resultado de carro na resposta de disponibilidade pode incluir um objeto insurance_coverage. Todas as informa ções do seguro do carro, sejam elas incluídas no aluguel sem custo adicional ou disponíveis para compra complementar, são devolvidas neste documento. Veja abaixo os campos que ele contém.
| Campo | Descrição |
|---|---|
included | Um mapa dos produtos de seguro incluídos pelo provedor. Cada produto contém os mesmos campos que um produto suplementar. |
supplemental | Uma variedade de produtos de seguro opcionais está disponível para compra para este veículo. |
Incluído
Isenção de Danos por Colisão (CDW)
O objeto included.collision_damage_waiver contém os seguintes campos:
| Campo | Descrição | Exemplo |
|---|---|---|
description | Nome abreviado da cobertura. | Isenção de Danos por Colisão |
deductible | O valor que o viajante é responsável por pagar em caso de um incidente coberto, antes que a cobertura entre em vigor. | |
trip_rate | Um custo que já está incluído no valor total da oferta para fins informativos. |
Suplementar
Os produtos de seguro opcionais na matriz supplemental possuem os seguintes campos:
| Campo | Descrição | Exemplo |
|---|---|---|
provider | Nome da seguradora. | Fornecedor de Seguros Automotivos |
description | Nome abreviado da cobertura. | Proteção total |
benefits.refundable_deductible | Caso exista, descreve a parcela da franquia que pode ser reembolsada em caso de sinistro (moeda, valor, percentual). | |
benefits.additional_protection | Uma série de proteções adicionais incluídas na cobertura do seguro. | Para-brisa |
trip_rate | Preço total do seguro para toda a reserva (não por dia). | |
cancel_penalties | Penalidades de cancelamento específicas para o produto de seguro. Verifique estes itens além dos que estão no próprio carro cancel_penalties. | |
links.details | URL para a página com detalhes do pacote de seguro e carro. |
Pacote de seguros
Disponibilidade
Para exibir as ofertas insurance-bundled, você usará os seguintes parâmetros de consulta:
| Campo | Descrição |
|---|---|
include=insurance_bundle | Retorna insurance_coverage nos resultados. Sem isso, as ofertas de seguro agrupado serão omitidas da resposta de disponibilidade. |
filter=insurance_bundle | Restringe os resultados apenas a carros que oferecem pacotes de seguro. Combine com include=insurance_bundle para mostrar apenas os resultados agrupados. |
Observação:
- O custo do seguro incluído não é levado em consideração no objeto
rate.pricingna resposta de Disponibilidade, uma vez que a API ainda não sabe se o seguro (ou qual plano de cobertura) será incluído na oferta do carro no momento da reserva. - O
rate.pricing.totals.insurancedo carro na resposta de Detalhes refletirá o custo total do seguro agrupado na página de detalhes do produto, uma vez que a API sabe que a intenção naquele momento é criar um pacote. - Atualmente, são oferecidos dois produtos de seguro: proteção total e cobertura adicional. Dependendo da tarifa do aluguel do carro e da cobertura incluída, será oferecido o produto de seguro adequado.
Exemplo de resposta de disponibilidade
[
{
...
"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"
}
}
}
]Detalhes
Ponto final: GET /v2/cars/{car_rental_id}/details
O link Detalhes para seguro combinado é fornecido no resultado Disponibilidade em links.details no suplemento InsuranceProduct. Ligue para obter informações completas sobre preços, políticas e o link para reservas.
O objeto insurance_coverage apresentado aqui tem a mesma estrutura que em Disponibilidade. Use esta versão como a definitiva antes de finalizar a compra.
Nota: Os preços e detalhes da política aqui apresentados têm prioridade sobre os da resposta de disponibilidade.
Cobertura suplementar
Veja abaixo os campos contidos em insurance_coverage.supplemental.
| Campo | Descrição | Exemplo |
|---|---|---|
provider | Nome da seguradora. | Fornecedor de Seguros Automotivos |
description | Nome abreviado da cobertura. | Proteção total |
benefits.refundable_deductible | Caso exista, descreve a parcela da franquia que pode ser reembolsada em caso de sinistro (moeda, valor, percentual). | |
benefits.content | Matriz de objetos { title, description } para exibir detalhes dos benefícios de cobertura ao viajante. | |
benefits.additional_protection | Uma série de proteções adicionais incluídas na cobertura do seguro. | Para-brisa |
disclaimer | Texto que o viajante deve aceitar antes de adicionar o seguro no momento do pagamento. Exiba esta mensagem e obtenha a confirmação antes de efetuar a reserva. | |
trip_rate | Preço total do seguro para toda a reserva (não por dia). | |
cancel_penalties | Penalidades de cancelamento específicas para o produto de seguro. Verifique estes itens além dos cancel_penalties do próprio carro. | |
links.terms_and_conditions | Link para os termos e condições do seguro. | |
links.product_information | URL para o documento de informações do produto de seguros (IPID). |
Campos adicionais relevantes para seguros
| Campo | Descrição |
|---|---|
rate.pricing.totals.insurance | Custo total do seguro para a tarifa combinada. |
Exemplo de resposta detalhada
{
...
"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"
}
}
}Cadastro de pagamento
Ponto final: POST /v2/payments?token=<TOKEN>
O link para o Registro de Pagamento é fornecido na resposta Detalhes, dentro de links.payment no corpo da resposta. Ligue para registrar um método de pagamento e obter um payment_token para reserva.
Reserva
Ponto final: POST /v2/itineraries/car
Utilize o link do livro presente na resposta "Detalhes". O token nesse link contém todo o estado da sessão, incluindo o seguro incluído.
Veja abaixo os campos adicionais no corpo da solicitação relevantes para seguros.
| Campo | Descrição |
|---|---|
primary_driver.country_of_residence | Código de país de 2 letras ISO 3166-1 alfa-2 da residência principal do motorista. Este campo é obrigatório quando a reserva inclui cobertura de seguro. |
primary_driver.state_province_code | Código de estado/província de 2 letras ou código de subdivisão de 3 letras da residência principal do motorista, a ser fornecido no formato ISO 3166-1 alpha-2 ou ISO 3166-1 alpha-3. Este campo é obrigatório ao reservar um carro com cobertura de seguro. |
Uma reserva bem-sucedida retorna o código HTTP 201 com a seguinte mensagem:
itinerary_id- A referência permanente da reserva.links.retrieve- Utilize este link para obter detalhes da reserva.
Recuperação
Ponto final: GET /itineraries/{itinerary_id}/car
Use o link de recuperação da resposta da reserva ou pesquise poraffiliate_reference_id via GET /itineraries/car?affiliate_reference_id=.....
Pode haver um pequeno atraso após a reserva antes que o itinerário esteja disponível para consulta. Se você receber uma mensagem de erro imediatamente após a reserva, aguarde alguns minutos e tente novamente.
A resposta (RetrieveResponse) inclui, mas não se limita a:
| Campo | Descrição | Exemplo |
|---|---|---|
itinerary_id | O ID do itinerário da reserva. | |
status | Status atual da reserva. | BOOKED |
confirmation_id | Número de confirmação do provedor. | |
car_details | CompletoCarDetails objeto incluindoinsurance_coverage,rate,policies, e rules_and_restrictions. | |
primary_driver | Dados do motorista conforme fornecidos no momento da reserva. | |
affiliate_reference_id | O ID de referência do afiliado, conforme enviado no momento da reserva. | |
affiliate_metadata | Metadados enviados no momento da reserva. | |
creation_time | Registro de data e hora da criação da reserva no formato ISO 8601. | |
links.cancel | DELETE Link para cancelar a reserva. | |
policy_id | A referência da reserva do seguro | 12345C4R1NS |
Ocar_details.insurance_coverage A resposta obtida através do comando "Recuperar" reflete o seguro que foi contratado. Consulteinsurance_coverage.supplemental[].cancel_penalties e o car-levelcancel_penalties Para obter informações sobre os termos de reembolso e cancelamento.
**Nota: ** policy_id é gerado de forma assíncrona após a reserva e pode não aparecer imediatamente em uma chamada de recuperação. O policy_id poderá então aparecer numa chamada posterior.
Exemplo de resposta de recuperação
...
"supplemental": [
{
"policy_id": "12345C4R1NS",
"provider": "Cover Genius",
"description": "Full Protection",
"benefits": {
"additional_protection": [
"windshield",
"windows",
"mirrors",
"wheels",
"tires"
],
"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"
}
}
}
]
...Cancelar
Ponto final: DELETE /itineraries/{itinerary_id}/car
Utilize o link de cancelamento da resposta do Retrieve para cancelar a reserva do carro e do seguro incluídos no pacote.
Nota: No cenário de reserva de seguro combinado, o produto de seguro suplementar não pode ser cancelado individualmente. A única opção é cancelar todo o pacote, que está sujeito ao cancel_penalties do próprio carro, bem como ao seguro suplementar. A combinação mais restritiva das duas matrizes de cancel_penalties será usada para determinar a elegibilidade para cancelamento.
Detalhes da API
Explore as configurações do endpoint de geranciamento de reservas nesta página e, em seguida, use o API Explorer ou outro software de teste para entender como os exemplos e as configurações de esquema se comparam à saída real.
Recursos adicionais
Se você deseja testar todos os endpoints da API Rapid Car ou baixar suas especificações OpenAPI, temos o que você precisa.