in dialogflow-prebuilt-agents/client_side_messenger/airline_support/airline_support.js [186:225]
function generateRoute(
originCode, destinationCode, travelDate, stopCount, durationMinutes,
timezoneDifferenceMinutes) {
let route = {
flight_number: `CY${getRandomInt(100, 999)}`,
origin_airport_code: originCode,
destination_airport_code: destinationCode,
departure_time: getRandomDepartureTime(),
arrival_time: null, // Calculated later
duration: durationMinutes,
stop_count: stopCount,
cost_usd: getRandomInt(200, 1500), // Placeholder cost
date_offset: 0, // Initialize date offset to 0
travel_date: travelDate
};
route.duration += stopCount * getRandomInt(30, 180);
// Calculate arrival time considering time offsets
route.arrival_time = calculateArrivalTime(
route.departure_time, route.duration, timezoneDifferenceMinutes);
// Calculate date offset
const [departureHours, departureMinutes] =
route.departure_time.split(':').map(Number);
// Calculate total minutes elapsed since midnight at origin departure time
const departureTotalMinutes = departureHours * 60 + departureMinutes;
// Calculate total absolute duration
const totalDurationMinutes = route.duration + timezoneDifferenceMinutes;
// Calculate total minutes
const totalMinutes = departureTotalMinutes + totalDurationMinutes;
// Determine date offset
route.date_offset = totalMinutes >= 1440 ? 1 : 0;
return route;
}