[
  {
    "trigger": "scan_data",
    "source": "enter_location",
    "dest": "enter_first_name",
    "conditions": [
      "cic_ussd.state_machine.logic.validator.is_valid_name",
      "cic_ussd.state_machine.logic.validator.has_empty_username_data"
    ],
    "after": "cic_ussd.state_machine.logic.user.save_profile_attribute_to_session_data"
  },
  {
    "trigger": "scan_data",
    "source": "enter_location",
    "dest": "enter_gender",
    "conditions": "cic_ussd.state_machine.validator.has_empty_gender_data",
    "after": "cic_ussd.state_machine.logic.user.save_profile_attribute_to_session_data"
  },
  {
    "trigger": "scan_data",
    "source": "enter_location",
    "dest": "enter_business_profile",
    "conditions": "cic_ussd.state_machine.validator.has_empty_business_profile_data",
    "after": "cic_ussd.state_machine.logic.user.save_profile_attribute_to_session_data"
  },
  {
    "trigger": "scan_data",
    "source": "enter_location",
    "dest": "location_management_pin_authorization",
    "conditions": "cic_ussd.state_machine.logic.validator.has_complete_profile_data"
  },
  {
    "trigger": "scan_data",
    "source": "location_management_pin_authorization",
    "dest": "exit",
    "conditions": "cic_ussd.state_machine.logic.pin.is_authorized_pin",
    "after": "cic_ussd.state_machine.logic.user.persist_profile_data"
  },
  {
    "trigger": "scan_data",
    "source": "location_management_pin_authorization",
    "dest": "exit_pin_blocked",
    "conditions": "cic_ussd.state_machine.logic.pin.is_locked_account"
  },
  {
    "trigger": "scan_data",
    "source": "enter_location",
    "dest": "exit_invalid_input"
  }
]