{% set productData = {
'flights': {
'search_meta': {
'title': brandName ~ ' | Vuelos, hoteles, paquetes y cruceros',
'description': 'Reserve vuelos, hoteles, paquetes y cruceros con ' ~ brandName ~ '. Viaje con la agencia de viajes.'
},
'base': {'url': '/buscar/vuelos/', 'label': 'Vuelos'},
'default': 'Resultados',
'app_keywords': ['avail', 'round', 'oneway', 'multi_2', 'detail', 'checkout', 'detalle'],
'actions': {
'detail': 'Detalle del vuelo',
'detalle': 'Detalle del vuelo',
'checkout': 'Checkout',
'round': 'Resultados',
'oneway': 'Resultados'
},
'schema': {
'type': 'Service',
'page_name': 'Vuelos nacionales e internacionales | Aviatur',
'service_name': 'Búsqueda y reserva de vuelos',
'service_desc': 'Servicio de búsqueda, comparación y reserva de vuelos con aerolíneas nacionales e internacionales, con asesoría experta.',
'service_type': 'Flight booking service',
'action_type': 'TravelAction',
'action_name': 'Buscar vuelos',
'has_offer': true,
'offer_type': 'AggregateOffer'
}
},
'hotels': {
'image': miamiImage,
'search_meta': {
'title': 'Reserve su alojamiento en Colombia y el mundo | ' ~ brandName,
'description': 'Busque y reserve hoteles en Colombia y el mundo. Compare tarifas, categorías y ubicaciones para encontrar su alojamiento ideal con ' ~ brandName ~ '.'
},
'base': {'url': '/buscar/hoteles/', 'label': 'Hoteles'},
'default': 'Resultados',
'app_keywords': ['avail', 'roomlist', 'checkout'],
'actions': {
'roomlist': {
'label': 'Habitaciones',
'parents': [{ 'url': '/buscar/hoteles/', 'label': 'Resultados' }]
},
'checkout': 'Checkout'
},
'schema': {
'type': 'Service',
'page_name': 'Hoteles en Colombia y el mundo | Aviatur',
'service_name': 'Búsqueda y reserva de hoteles',
'service_desc': 'Reservas de hoteles económicos y de lujo con disponibilidad garantizada y respaldo Aviatur.',
'service_type': 'Hotel booking service',
'action_type': 'SearchAction',
'action_name': 'Buscar hoteles',
'has_offer': true,
'offer_type': 'AggregateOffer'
}
},
'multi': {
'search_meta': {
'title': 'Vuelo + Hotel - Paquetes combinados | ' ~ brandName,
'description': 'Reserve paquetes de vuelo + hotel con ' ~ brandName ~ '. Combine su transporte y alojamiento para obtener las mejores tarifas en sus viajes.'
},
'base': {'url': '/buscar/multi/', 'label': 'Vuelo + hotel'},
'default': 'Resultados',
'app_keywords': ['results', 'detail', 'checkout'],
'actions': {
'detail': 'Detalle del viaje',
'checkout': 'Checkout'
},
'schema': {
'type': 'Service',
'page_name': 'Vuelo + hotel | Aviatur',
'service_name': 'Búsqueda y reserva de vuelo + hotel',
'service_desc': 'Reserve paquetes de vuelo + hotel para ahorrar en su viaje.',
'service_type': 'Travel booking service',
'action_type': 'TravelAction',
'action_name': 'Buscar vuelo + hotel',
'has_offer': true,
'offer_type': 'Offer'
}
},
'packages': {
'search_meta': {
'title': 'Paquetes turísticos todo incluido | ' ~ brandName,
'description': 'Encuentre y reserve paquetes turísticos todo incluido con ' ~ brandName ~ '. Viajes completos con vuelos, hoteles y traslados en un solo pago.'
},
'base': {'url': '/buscar/paquetes/', 'label': 'Paquetes'},
'default': 'Resultados',
'app_keywords': ['availability', 'detail', 'form'],
'actions': {
'detail': 'Detalle del paquete',
'form': 'Reserva'
},
'schema': {
'type': 'TouristTrip',
'page_name': 'Paquetes turísticos desde Colombia | Aviatur',
'service_name': 'Paquetes turísticos personalizados',
'service_desc': 'Viajes organizados que incluyen vuelos, alojamiento, traslados y experiencias, diseñados a la medida.',
'service_type': 'Tour package booking service',
'action_type': 'SearchAction',
'action_name': 'Buscar paquetes turísticos',
'has_offer': true,
'offer_type': 'Offer'
}
},
'cruises': {
'search_meta': {
'title': 'Cruceros por el Caribe y el mundo | ' ~ brandName,
'description': 'Reserve cruceros por el Caribe, Mediterráneo y destinos internacionales con ' ~ brandName ~ '. Experiencias todo incluido en alta mar.'
},
'base': {'url': '/buscar/cruceros/', 'label': 'Cruceros'},
'default': 'Resultados',
'app_keywords': ['avail', 'detail', 'cabin', 'reservation'],
'actions': {
'detail': 'Detalle del crucero',
'cabin': {
'label': 'Cabinas',
'parents': [{ 'url': '/cruceros/detail', 'label': 'Detalle del crucero' }]
},
'reservation': 'Reserva'
},
'schema': {
'type': 'Service',
'page_name': 'Cruceros desde Colombia | Aviatur',
'service_name': 'Búsqueda y reserva de cruceros',
'service_desc': 'Encuentre y reserve cruceros de lujo y familiares por todo el mundo.',
'service_type': 'Cruise booking service',
'action_type': 'SearchAction',
'action_name': 'Buscar cruceros',
'has_offer': true,
'offer_type': 'Offer'
}
},
'autos': {
'search_meta': {
'title': 'Alquiler de autos | ' ~ brandName,
'description': 'Reserve su auto de alquiler con ' ~ brandName ~ '. Los mejores precios y coberturas para su viaje.'
},
'base': {'url': '/buscar/autos/', 'label': 'Autos'},
'default': 'Resultados',
'app_keywords': ['resultados', 'detail', 'detalle'],
'actions': {
'detail': 'Detalle del auto',
'detalle': 'Detalle del auto'
},
'schema': {
'type': 'Service',
'page_name': 'Alquiler de autos | Aviatur',
'service_name': 'Búsqueda y reserva de alquiler de autos',
'service_desc': 'Alquile autos en destinos nacionales e internacionales con las mejores tarifas.',
'service_type': 'Car rental booking service',
'action_type': 'SearchAction',
'action_name': 'Buscar alquiler de autos',
'has_offer': true,
'offer_type': 'Offer'
}
},
'parks': {
'search_meta': {
'title': 'Entradas a parques temáticos | ' ~ brandName,
'description': 'Compre sus entradas a los mejores parques temáticos del mundo con ' ~ brandName ~ '.'
},
'base': {'url': '/buscar/parques/', 'label': 'Parques'},
'default': 'Resultados',
'app_keywords': ['avaliability', 'checkout'],
'actions': {
'checkout': 'Checkout'
},
'schema': {
'type': 'Service',
'page_name': 'Entradas a parques temáticos | Aviatur',
'service_name': 'Búsqueda y reserva de entradas a parques temáticos',
'service_desc': 'Entradas oficiales a Disney, Universal y otros parques temáticos.',
'service_type': 'Theme park tickets booking service',
'action_type': 'SearchAction',
'action_name': 'Buscar entradas a parques',
'has_offer': true,
'offer_type': 'Offer'
}
},
'giftcard': {
'search_meta': {
'title': 'Tarjeta Regalo Aviatur | Regale el mundo',
'description': 'Regale experiencias inolvidables con la Tarjeta Regalo Aviatur. Vuelos, hoteles y más.'
},
'base': {'url': '/tarjeta-regalo/', 'label': 'Tarjeta Regalo Aviatur'},
'default': 'Personalizar',
'app_keywords': ['personalize', 'checkout'],
'actions': {
'checkout': {
'label': 'Checkout',
'parents': [{ 'url': '/tarjeta-regalo/personalizar', 'label': 'Personalizar' }]
}
},
'schema': {
'type': 'Service',
'page_name': 'Tarjeta Regalo Aviatur | Regale el mundo',
'service_name': 'Tarjeta Regalo Aviatur',
'service_type': 'Gift card',
'action_type': 'BuyAction',
'action_name': 'Comprar tarjeta regalo',
'service_desc': 'Tarjeta regalo para comprar viajes, vuelos, hoteles, paquetes, cruceros y experiencias con Aviatur.',
'has_offer': true,
'offer_type': 'AggregateOffer'
}
},
'insurance': {
'search_meta': {
'title': 'Seguro de viaje y asistencias | ' ~ brandName,
'description': 'Viaje protegido con los seguros de viaje y asistencias médicas de ' ~ brandName ~ '.'
},
'base': {'url': '/buscar/seguros-de-viaje/', 'label': 'Seguros de viaje'},
'default': 'Resultados',
'app_keywords': ['availability', 'form_secure', 'detail'],
'actions': {
'form_secure': 'Reserva',
'detail': 'Detalle'
},
'schema': {
'type': 'Service',
'page_name': 'Seguro de viaje y asistencias | Aviatur',
'service_name': 'Búsqueda y compra de seguro de viaje',
'service_desc': 'Seguros de viaje con cobertura médica internacional y cancelación.',
'service_type': 'Travel insurance service',
'action_type': 'BuyAction',
'action_name': 'Cotizar y comprar seguro de viaje',
'has_offer': true,
'offer_type': 'Offer'
}
}
} %}
{# Helper Macro for Breadcrumbs #}
{% macro render_breadcrumb(breadcrumb) -%}
"@type": "BreadcrumbList",
"@id": "{{ (app.request.schemeAndHttpHost ~ app.request.requestUri)|split('?')[0] }}#breadcrumb",
"itemListElement": [
{%- for item in breadcrumb -%}
{
"@type": "ListItem",
"position": {{ loop.index }},
"name": "{{ item.label }}"{% if item.url is defined and item.url is not empty %},
"item": "{{ item.url starts with 'http' ? item.url : 'https://www.aviatur.com' ~ item.url }}"{% endif %}
}{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- endmacro %}
{% import _self as schema_tools %}
{% if not load_only|default(false) and seoSchemaType is defined %}
{% set breadcrumb = breadcrumb|default([]) %}
{% set context = productData[seoSchemaType]|default(null) %}
{% if breadcrumb is empty and context is not null %}
{% if isAvail|default(false) %}
{% set label = context.default %}
{% set parents = [] %}
{% for keyword, action in context.actions %}
{% if keyword in app.request.attributes.get('_route') or keyword in app.request.requestUri %}
{% if action is iterable %}
{% set label = action.label %}
{% set parents = action.parents|default([]) %}
{% else %}{% set label = action %}{% endif %}
{% endif %}
{% endfor %}
{% set breadcrumb = [{ 'url': '/', 'label': 'Inicio' }, { 'url': context.base.url, 'label': context.base.label }] %}
{% if parents is not empty %}
{% for parent in parents %}{% set breadcrumb = breadcrumb|merge([parent]) %}{% endfor %}
{% endif %}
{% set breadcrumb = breadcrumb|merge([{ 'url': app.request.requestUri, 'label': label }]) %}
{% else %}
{% set breadcrumb = [{ 'url': '/', 'label': 'Inicio' }, { 'url': context.base.url, 'label': context.base.label }] %}
{% endif %}
{% endif %}
{% if isAvail|default(false) %}
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
{{ schema_tools.render_breadcrumb(breadcrumb) }}
},
{
"@context": "https://schema.org",
{% if context.is_product|default(false) %}
"@type": "Product",
"name": "{{ context.schema.service_name }}",
"description": "{{ context.schema.product_desc }}",
"brand": { "@type": "Brand", "name": "Aviatur" },
"image": [ "https://productos.aviatur.com/mercadeo-2025/aviatur-logo-azul.png" ],
"url": "https://www.aviatur.com{{ context.base.url }}",
"manufacturer": { "@type": "Organization", "@id": "https://www.aviatur.com/#org" }{% if context.schema.has_offer|default(false) %},
"offers": {
"@type": "{{ context.schema.offer_type }}",
"priceCurrency": "COP",
"availability": "https://schema.org/InStock",
"url": "https://www.aviatur.com{{ context.base.url }}"
}
{% endif %}
{% else %}
"@type": "{{ context.schema.type }}",
"name": "{{ context.schema.service_name }}",
"description": "{{ context.schema.service_desc }}",
"provider": { "@type": "Organization", "@id": "https://www.aviatur.com/#org" },
"url": "https://www.aviatur.com{{ context.base.url }}"{% if context.schema.has_offer|default(false) %},
"offers": {
"@type": "{{ context.schema.offer_type }}",
"priceCurrency": "COP",
"availability": "https://schema.org/InStock",
"url": "https://www.aviatur.com{{ context.base.url }}"
}
{% endif %}
{% endif %}
}
]
</script>
{% else %}
{% if seoSchemaType == 'home' %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "WebSite", "@id": "https://www.aviatur.com/#website", "url": "https://www.aviatur.com/", "name": "Aviatur", "publisher": { "@id": "https://www.aviatur.com/#org" }, "inLanguage": "es-CO" },
{ "@type": "WebPage", "@id": "https://www.aviatur.com/#webpage", "url": "https://www.aviatur.com/", "name": "Aviatur | Reservas de vuelos, hoteles y paquetes vacacionales", "isPartOf": { "@id": "https://www.aviatur.com/#website" }, "about": { "@id": "https://www.aviatur.com/#org" }, "inLanguage": "es-CO" }
]
}
</script>
{% elseif context is not null and context.schema is defined %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{ {{ schema_tools.render_breadcrumb(breadcrumb) }} },
{
"@type": "WebPage",
"@id": "https://www.aviatur.com{{ context.base.url }}#webpage",
"url": "https://www.aviatur.com{{ context.base.url }}",
"name": "{{ context.schema.page_name }}",
"isPartOf": { "@id": "https://www.aviatur.com/#website" },
"about": { "@id": "https://www.aviatur.com/#org" },
"inLanguage": "es-CO"
},
{% if context.is_product|default(false) %}
{
"@type": "Product",
"@id": "https://www.aviatur.com{{ context.base.url }}#product",
"name": "{{ context.schema.service_name }}",
"description": "{{ context.schema.product_desc }}",
"brand": { "@type": "Brand", "name": "Aviatur" },
"image": [ "{{ defaultImage }}" ],
"url": "https://www.aviatur.com{{ context.base.url }}"
}
{% else %}
{
"@type": "Service",
"@id": "https://www.aviatur.com{{ context.base.url }}#service",
"name": "{{ context.schema.service_name }}",
"serviceType": "{{ context.schema.service_type }}",
"provider": { "@id": "https://www.aviatur.com/#org" },
"areaServed": "CO",
"url": "https://www.aviatur.com{{ context.base.url }}",
"potentialAction": {
"@type": "{{ context.schema.action_type }}",
"name": "{{ context.schema.action_name }}",
"target": { "@type": "EntryPoint", "url": "https://www.aviatur.com{{ context.base.url }}" }
}
}
{% endif %}
]
}
</script>
{% endif %}
{% endif %}
{% endif %}