function generateRoute()

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;
  }