def order_flowers(intent_request):
flower_type = get_slots(intent_request)["<STR_LIT>"]<EOL>date = get_slots(intent_request)["<STR_LIT>"]<EOL>time = get_slots(intent_request)["<STR_LIT>"]<EOL>source = intent_request['<STR_LIT>']<EOL>if source == '<STR_LIT>':<EOL><INDENT>slots = get_slots(intent_request)<EOL>validation_result = validate_order_flowers(flower_type, date, time)<EOL>if not validation_result['<STR_LIT>']:<EOL><INDENT>slots[validation_result['<STR_LIT>']] = None<EOL>return elicit_slot(intent_request['<STR_LIT>'],<EOL>intent_request['<STR_LIT>']['<STR_LIT:name>'],<EOL>slots,<EOL>validation_result['<STR_LIT>'],<EOL>validation_result['<STR_LIT:message>'])<EOL><DEDENT>output_session_attributes = intent_request['<STR_LIT>']<EOL>if flower_type is not None:<EOL><INDENT>output_session_attributes['<STR_LIT>'] = len(flower_type) * <NUM_LIT:5>  <EOL><DEDENT>return delegate(output_session_attributes, get_slots(intent_request))<EOL><DEDENT>return close(intent_request['<STR_LIT>'],<EOL>'<STR_LIT>',<EOL>{'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT:content>': '<STR_LIT>'.format(flower_type, time, date)})<EOL>
Performs dialog management and fulfillment for ordering flowers.
Beyond fulfillment, the implementation of this intent demonstrates the use of the elicitSlot dialog action
in slot validation and re-prompting.