def build_options(slot, appointment_type, date, booking_map):
day_strings = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>if slot == '<STR_LIT>':<EOL><INDENT>return [<EOL>{'<STR_LIT:text>': '<STR_LIT>', '<STR_LIT:value>': '<STR_LIT>'},<EOL>{'<STR_LIT:text>': '<STR_LIT>', '<STR_LIT:value>': '<STR_LIT>'},<EOL>{'<STR_LIT:text>': '<STR_LIT>', '<STR_LIT:value>': '<STR_LIT>'}<EOL>]<EOL><DEDENT>elif slot == '<STR_LIT>':<EOL><INDENT>options = []<EOL>potential_date = datetime.datetime.today()<EOL>while len(options) < <NUM_LIT:5>:<EOL><INDENT>potential_date = potential_date + datetime.timedelta(days=<NUM_LIT:1>)<EOL>if potential_date.weekday() < <NUM_LIT:5>:<EOL><INDENT>options.append({'<STR_LIT:text>': '<STR_LIT>'.format((potential_date.month), potential_date.day, day_strings[potential_date.weekday()]),<EOL>'<STR_LIT:value>': potential_date.strftime('<STR_LIT>')})<EOL><DEDENT><DEDENT>return options<EOL><DEDENT>elif slot == '<STR_LIT>':<EOL><INDENT>if not appointment_type or not date:<EOL><INDENT>return None<EOL><DEDENT>availabilities = try_ex(lambda: booking_map[date])<EOL>if not availabilities:<EOL><INDENT>return None<EOL><DEDENT>availabilities = get_availabilities_for_duration(get_duration(appointment_type), availabilities)<EOL>if len(availabilities) == <NUM_LIT:0>:<EOL><INDENT>return None<EOL><DEDENT>options = []<EOL>for i in range(min(len(availabilities), <NUM_LIT:5>)):<EOL><INDENT>options.append({'<STR_LIT:text>': build_time_output_string(availabilities[i]), '<STR_LIT:value>': build_time_output_string(availabilities[i])})<EOL><DEDENT>return options<EOL><DEDENT>
Build a list of potential options for a given slot, to be used in responseCard generation.