version: '3.1'
intents:
  - affirm
  - bot_challenge
  - deny
  - envirocar_info
  - goodbye
  - greet
  - main_ui_recording
  - mood_great
  - mood_unhappy
  - select_car
  - detailed_car_selection
entities:
  - recording_start_action
  - recording_stop_action
  - car_selection_number
actions:
  - action_start_recording
  - action_stop_recording
  - action_ask_car_number
  - action_detailed_car_selection
  - validate_car_selection_form
  - action_ask_car_verification
  - action_car_selection
  - action_followup
  - action_cancel_commands

forms:
  car_selection_form:
    required_slots:
      - car_number
      - car_verification
      - car_name
      - select_car_iteration
      - next_car
      - previous_car

slots:
  is_dashboard_fragment:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  recording_mode:
    type: text
    influence_conversation: true
    mappings:
      - type: custom
  location_permission:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  gps:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  car:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  bluetooth_permission:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  bluetooth:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  obd_adapter:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  recording_start_query:
    type: bool
    influence_conversation: true
    mappings:
      - type: custom
  car_number:
    type: text
    influence_conversation: true
    mappings:
      - type: from_entity
        entity: car_selection_number
        conditions:
          - active_loop: car_selection_form
            requested_slot: car_number
  car_name:
    type: text
    mappings:
      - type: custom
        conditions:
          - active_loop: car_selection_form
            requested_slot: car_name
  select_car_iteration:
    type: float
    initial_value: 0.0
    min_value: 0.0
    max_value: 100.0
    mappings:
      - type: custom
        conditions:
          - active_loop: car_selection_form
            requested_slot: select_car_iteration
  next_car:
    type: bool
    mappings:
      - type: custom
        conditions:
          - active_loop: car_selection_form
            requested_slot: next_car
  previous_car:
    type: bool
    mappings:
      - type: custom
        conditions:
          - active_loop: car_selection_form
            requested_slot: previous_car
  car_verification:
    type: text
    influence_conversation: true
    mappings:
      - type: from_intent
        value: yes
        intent: affirm
      - type: from_intent
        value: no
        intent: deny
        conditions:
          - active_loop: car_selection_form
            requested_slot: car_verification
responses:
  utter_greet:
    - text: Hey! How are you?
  utter_cheer_up:
    - text: 'Here is something to cheer you up:'
      image: https://i.imgur.com/nGF1K8f.jpg
  utter_happy:
    - text: Great, carry on!
  utter_goodbye:
    - text: Bye
  utter_iamabot:
    - text: I am a bot, powered by Rasa.
  utter_did_that_help:
    - text: did that help?
  utter_unspecified_recording_action:
    - text: please specify recording action, e.g. to start say "start recording" or to stop track say "stop recording".
  utter_envirocar_info:
    - text: enviroCar Mobile is an Android application for collecting Extended Floating Car Data on smartphones. You can upload tracks to the enviroCar server, where the data is available for further analysis and use under the ODbL license. The data is also available on the enviroCar website for viewing and analysis.
#  utter_custom_response:
#    - custom:
#        query: '{query}'
#        reply: '{reply}'
#        data: '{data}'
session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true