Configuración de Fechas de Acceso (AdvancedDateSelector)
El selector AdvancedDateSelector en Experticket define si los tickets dentro de un producto pueden tener fechas de acceso diferentes a la fecha general de la transacción.
1. Importancia del AccessDateTime
- El AccessDateTime de la transacción SIEMPRE debe completarse.
- Dependiendo del método seleccionado (None o DatePerTicketEnclosure), los tickets pueden o no tener fechas de acceso individuales.
2. Métodos Disponibles
🛑 Método: None (Sin fechas individuales por ticket)
🔹 Restricción:
- Todos los tickets deben compartir la misma fecha de acceso que la transacción.
- El AccessDateTime se establece a nivel de transacción y no se define a nivel de ticket.
🔹 Implicaciones:
-
En los endpoints de Reserva de productos y Creación de una transacción, el valor de AccessDateTime a nivel de ticket debe:
- Omitirse.
- Establecerse como null.
✅ Método: DatePerTicketEnclosure (Fechas individuales por recinto de ticket)
🔹 Flexibilidad:
- Los tickets pueden tener diferentes fechas de acceso dentro de la misma transacción.
- Las fechas de acceso varían según el recinto del ticket (TicketEnclosureId).
🔹 Ejemplo de Uso: Producto: "Entrada Adulto Atracciones + Acuático"
Se compone de dos tickets con diferentes recintos:
- 🎢 "Ticket Adulto Atracciones" → 📍 Recinto "Atracciones" → Fecha de entrada: 01-abril
- 🌊 "Ticket Adulto Acuático" → 📍 Recinto "Acuático" → Fecha de entrada: 03-mayo
🔹 Reglas Importantes:
-
Todas las fechas de los tickets deben pertenecer al mismo conjunto de PricesAndDates en el catálogo de productos.
→ No se puede asignar un ticket a una fecha con precio de €20 y otro a una fecha con precio de €25. -
El AccessDateTime de la transacción debe ser la fecha más temprana entre los tickets.
→ En el ejemplo, el AccessDateTime de la transacción sería 01-abril, ya que es la fecha más temprana de los tickets.
3. Consideraciones Clave
4. Ejemplo JSON
🔹 Caso None (Mismo AccessDateTime para todos los tickets)
{
"ApiKey": "{apiKey}",
"ReservationId": "giy64gjddgmmk",
"IsTest": false,
"AccessDateTime": "2024-05-01",
"Products": [
{
"ProductId": "ctgyir9m9q4bo",
"Tickets": [
{
"TicketId": "tkt123",
"AccessDateTime": null
},
{
"TicketId": "tkt456",
"AccessDateTime": null
}
]
}
]
}
🔹 Caso DatePerTicketEnclosure (Diferentes AccessDateTime por recinto)
{
"ApiKey": "{apiKey}",
"ReservationId": "giy64gjddgmmk",
"IsTest": false,
"AccessDateTime": "2024-04-01",
"Products": [
{
"ProductId": "ctgyir9m9q4bo",
"Tickets": [
{
"TicketId": "tkt123",
"TicketEnclosureId": "Atracciones",
"AccessDateTime": "2024-04-01"
},
{
"TicketId": "tkt456",
"TicketEnclosureId": "Acuático",
"AccessDateTime": "2024-05-03"
}
]
}
]
}
5. Resumen Final
- ✅ None: Un solo AccessDateTime para toda la transacción. Los tickets no tienen fechas propias.
- ✅ DatePerTicketEnclosure: Cada ticket puede tener su propia fecha, pero todas deben pertenecer al mismo conjunto de precios y fechas.
- ⚠️ Regla Clave: Siempre completar el AccessDateTime de la transacción con la fecha más temprana.