code: def build_options(slot, appointment_type, date, booking_map):
      
      day_strings = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      if slot == 'AppointmentType':
          return [
              {'text': 'cleaning (30 min)', 'value': 'cleaning'},
              {'text': 'root canal (60 min)', 'value': 'root canal'},
              {'text': 'whitening (30 min)', 'value': 'whitening'}
          ]
      elif slot == 'Date':
          # Return the next five weekdays.
          options = []
          potential_date = datetime.datetime.today()
          while len(options) < 5:
              potential_date = potential_date + datetime.timedelta(days=1)
              if potential_date.weekday() < 5:
                  options.append({'text': '{}-{} ({})'.format((potential_date.month), potential_date.day, day_strings[potential_date.weekday()]),
                                  'value': potential_date.strftime('%A, %B %d, %Y')})
          return options
      elif slot == 'Time':
          # Return the availabilities on the given date.
          if not appointment_type or not date:
              return None
  
          availabilities = try_ex(lambda: booking_map[date])
          if not availabilities:
              return None
  
          availabilities = get_availabilities_for_duration(get_duration(appointment_type), availabilities)
          if len(availabilities) == 0:
              return None
  
          options = []
          for i in range(min(len(availabilities), 5)):
              options.append({'text': build_time_output_string(availabilities[i]), 'value': build_time_output_string(availabilities[i])})
  
          return options
docs: Build a list of potential options for a given slot, to be used in responseCard generation.