function getFlights()

in dialogflow-prebuilt-agents/client_side_messenger/airline_support/airline_support.js [292:328]


  function getFlights(input) {
    const originAirportCode = input.origin_airport_code;
    const destinationAirportCode = input.destination_airport_code;
    const travelDate = input.travel_date;
    const durationMinutes = input.flight_duration_minutes;
    const timezoneDifferenceMinutes = input.timezone_difference_minutes;
    const flights = generateRandomFlightRoutes(
        originAirportCode, destinationAirportCode, travelDate, durationMinutes,
        timezoneDifferenceMinutes);
    const route = {
      origin_city_name: input.origin_city_name,
      destination_city_name: input.destination_city_name,
      travel_date: input.travel_date
    };
    console.log({flights, route});
    const customCardPayload = {
      richContent: [{
        name: 'flight-grid-template',
        payload: {flights, route},
        type: 'custom_template'
      }]
    };
    const simplifiedFlights = flights.map((flight) => {
      return `Flight ${flight.flight_number} leaves ${
          flight.origin_airport_code} at ${flight.departure_time}, arrives to ${
          flight.destination_airport_code} at ${
          flight.arrival_time} current day + ${flight.date_offset} with ${
          flight.stop_count} stops costing ${flight.cost_usd} dollars. ${
          flight.cost_tag === 'LOWEST' ? 'This is the cheapest option!' : ''}`;
    });
    console.log(
        'about to return to dfMes', {customCardPayload, simplifiedFlights});
    if (flights.length > 0) {
      dfMessenger.renderCustomCard(customCardPayload.richContent);
    }
    return Promise.resolve({'flights': simplifiedFlights});
  }