code: def parse_delay(data):
      
      # parse data from the details view
      rsp = requests.get(data['details'])
      soup = BeautifulSoup(rsp.text, "html.parser")
  
      # get departure delay
      delay_departure_raw = soup.find('div', class_="routeStart").find('span', class_=["delay", "delayOnTime"])
      if delay_departure_raw:
          delay_departure = calculate_delay(data['departure'],
                                            delay_departure_raw.text)
      else:
          delay_departure = 0
  
      # get arrival delay
      delay_arrival_raw = soup.find('div', class_=["routeEnd","routeEndAdditional"]).find('span', class_=["delay", "delayOnTime"])
      if delay_arrival_raw:
          delay_arrival = calculate_delay(data['arrival'],
                                          delay_arrival_raw.text)
      else:
          delay_arrival = 0
  
      # save the parsed data
      if delay_departure + delay_arrival == 0:
          data['ontime'] = True
      else:
          data['ontime'] = False
      data['delay'] = {
          'delay_departure': int(delay_departure),
          'delay_arrival': int(delay_arrival)
      }
  
      # TODO: this should not be hardcoded!
      data['canceled'] = False
  
      return data
docs: Prase the delay