Drip Irrigation Mobile App Guide
Drip Irrigation Mobile App Guide
Table of Contents
1.      UI Story (AT-16) ..................................................................................................................................... 5
2.      Splash screen (AT-12)............................................................................................................................ 5
3.      Language Setting (AT-14) ...................................................................................................................... 5
4.      Sign In page (AT-13) .............................................................................................................................. 6
     Update on 8-Oct-16 (AT-35) ..................................................................................................................... 7
5.      Create Account (AT-2) ........................................................................................................................... 7
     Update on 8-Oct-16 (AT-36) ................................................................................................................... 11
     Update on 21-Dec-16 (AT-220) ............................................................................................................... 11
     Update on 30-Dec-16 (AT-259) ............................................................................................................... 11
6.      Edit Profile (AT-17) .............................................................................................................................. 12
     Update on 31-Oct-16 (AT-95) ................................................................................................................. 13
     Update on 28-Nov-16 (AT-168)............................................................................................................... 14
     Update on 23-Jan-17 (AT-343) ................................................................................................................ 14
7.      Login and Logout (AT-3) ...................................................................................................................... 14
     Update on 8-Oct-16 (AT-37) ................................................................................................................... 15
8.      Home Page – Admin (AT-101) ............................................................................................................. 15
9.      Home Page - Dealer (AT-18)................................................................................................................ 16
Update on 22-Oct-16 (AT-85) ..................................................................................................................... 20
Update on 27-Jan-17 (AT-346) .................................................................................................................... 22
10.         Common Updates to Mobile App on 16-Dec-16 (AT-215) .............................................................. 22
Update on 16-Dec-16 & 21-Dec-16 (AT-218) .............................................................................................. 23
Update on 27-Dec-16 (AT-249) ................................................................................................................... 24
11.         Remove Device Delete Functionality for Dealer (AT-132) .............................................................. 24
12.         Home Page - Customer (AT-19) ...................................................................................................... 25
Update on 21-Oct-16 (AT-83) ..................................................................................................................... 26
19.         Navigation Menu (AT-20) ................................................................................................................ 28
     Update on 20-Jan-17 (AT-211) ................................................................................................................ 28
     Update on 06-Feb-17 (AT-358) ............................................................................................................... 29
20.       Forgot Password (AT-15)................................................................................................................. 30
Update on 25-Oct-16 (AT-89) ..................................................................................................................... 31
21.       Add Controller – Customer (AT-4) .................................................................................................. 32
Update on 8-Oct-16 (AT-39) ....................................................................................................................... 34
Update on 1-Nov-16 (AT-9) ......................................................................................................................... 34
22.       View Controller – Customer (AT-60) ............................................................................................... 35
Update as on 28-Nov-16 (AT-142) .............................................................................................................. 40
Update as on 8-Dec-16 (AT-179)................................................................................................................. 42
Update as on 13-Dec-16 (AT-195)............................................................................................................... 42
Update as on 14-Dec-16 (AT-214)............................................................................................................... 43
Update as on 27-Dec-16 (AT-250)............................................................................................................... 43
Update as on 14-Feb-17 (AT-384) ............................................................................................................... 44
23.       Common ID Settings (AT-182)......................................................................................................... 44
24.       View New Nodes (AT-152) .............................................................................................................. 47
25.       Add Controller or Node – Dealer (AT-61) ....................................................................................... 49
Update on 25-Oct-16 (AT-90) ..................................................................................................................... 50
26.       View Controller or Nodes - Dealer (AT-84) ..................................................................................... 50
27.       Add Nodes – Customer (AT-5) ........................................................................................................ 52
Update on 15-Dec-16 (AT-217) ................................................................................................................... 53
28.       Edit/Delete Node – Customer (AT-86) ............................................................................................ 53
Update on 13-Dec-16 (AT-196) ................................................................................................................... 55
Can be reused (AT-271) .............................................................................................................................. 55
29.       Edit Mapped Nodes – Customer (AT-123) ...................................................................................... 55
Update on 12-Dec-16 (AT-184) ................................................................................................................... 56
Update on 3-Jan-17 (AT-272) ...................................................................................................................... 56
30.       Create Service Request (AT-134) .................................................................................................... 56
31.       View Service Request (AT-204) ....................................................................................................... 57
Update on 24-Jan-17 (AT-345) .................................................................................................................... 59
Update on 01-Feb-17 (AT-353) ................................................................................................................... 59
Update on 02-Feb-17 (AT-356) for view and update SR pages................................................................... 59
32.       Update Service Request Status (AT-205) ........................................................................................ 59
Update on 24-Jan-17 (AT-344) .................................................................................................................... 60
33.       Add Zone (AT-96) ............................................................................................................................ 61
Update on 12-Dec-16 (AT-183) ................................................................................................................... 63
34.       Edit / Delete Zone (AT-133) ............................................................................................................ 63
Update on 13-Dec-16 (AT-203) ................................................................................................................... 66
35.       View Sub-users (AT-6) ..................................................................................................................... 66
36.       Add/Edit/Delete Sub-users (AT-7) .................................................................................................. 67
Update on 25-Nov-16 (AT-169)................................................................................................................... 70
Update on 18-Feb-16 (AT-398) ................................................................................................................... 71
37.       View Groups (AT-97) ....................................................................................................................... 71
38.       Add Group (AT-98) .......................................................................................................................... 72
39.       Edit/Delete Group (AT-99) .............................................................................................................. 73
40.       Grouping of Controllers (AT-100).................................................................................................... 74
Update on 28-Nov-16 (AT-167)................................................................................................................... 75
41.       SMS Communication – Create and Manage Primary User Contacts (AT-11) ................................. 76
Update on 17-Jan-17 (AT-315) .................................................................................................................... 77
42.       SMS Communication – Create and Manage Sub-users (AT-251).................................................... 77
Update on 18-Feb-17 (AT-397) ................................................................................................................... 79
43.       SMS Communication – Map Nodes (AT-252) ................................................................................. 80
Update on 13-Jan-17 (AT-310) .................................................................................................................... 80
44.       SMS Communication – Controller Details (AT-253) ........................................................................ 81
45.       SMS Communication – Operating Controller and Quick Menu (AT-254) ....................................... 82
46.       SMS Communication – Create and Manage Zone (AT-255) ........................................................... 82
47.       SMS Communication – Common ID Settings (AT-256) ................................................................... 84
Update on 19-Jan-17 (AT-317) .................................................................................................................... 85
48.       SMS Communication – Manage Service (AT-257) .......................................................................... 86
49.       Data Synchronization (AT-10) ......................................................................................................... 86
Update on 23-Jan-17 (AT-342) .................................................................................................................... 88
50.       Settings Page – UI (AT-59)............................................................................................................... 88
Update on 27-Dec-16 (AT-248) ................................................................................................................... 90
Update on 12-Jan-17 (AT-309) .................................................................................................................... 90
51.       Settings Page – Validation and Communication with Controller (AT-137) ..................................... 91
Update on 15-Dec-16 & 21-Dec-16 (AT-216) .............................................................................................. 93
Update on 22-Dec-16 (AT-226) ................................................................................................................... 94
Update on 21-Jan-17 (AT-322) .................................................................................................................... 95
52.       Settings Page –Menu Configuration (AT-138) ................................................................................ 95
Update on 22-Dec-16 (AT-222) ................................................................................................................... 96
Update on 3-Jan-17 (AT-270) ...................................................................................................................... 97
53.       Light Settings – Popup Info Messages (AT-181).............................................................................. 97
54.       Agri Irrigation - Common Calibration Settings (AT-260) ................................................................. 97
55.       Standalone Settings (AT-261).......................................................................................................... 98
56.       View Settings (AT-323) .................................................................................................................... 99
Update on 01-Feb-17 (AT-354) ................................................................................................................. 100
57.       QR Code Size Change (AT-210) ..................................................................................................... 100
58.       CCTV (AT-221) ............................................................................................................................... 100
59.       Call (AT-380) .................................................................................................................................. 100
60.       Live Update (AT-382) .................................................................................................................... 101
61.       Live Update 2 (AT-440) ................................................................................................................. 101
62.       Toggle Pump Status Automatically (AT-441) ................................................................................ 104
63.       Customer Service - Customer Chat (AT-227) ................................................................................ 104
Update on 6-Jan-17 (AT-271) .................................................................................................................... 106
Update on 12-Jan-17 (AT-308) .................................................................................................................. 107
64.       Customer Service - Dealer Chat (AT-228) ..................................................................................... 107
65.       Customer Service - Admin Chat (AT-229) ..................................................................................... 109
66.       WI-FI Configuration (AT-347) ........................................................................................................ 111
Update on 7-Feb-17 (AT-376) ................................................................................................................... 113
Update on 13-Feb-17 (AT-383) ................................................................................................................. 113
Update on 14-Feb-17 (AT-391) ................................................................................................................. 113
Update on 20-Feb-17 (AT-400) ................................................................................................................. 114
67.       WI-FI - App Communication with Controller (AT-379).................................................................. 114
68.       Message Code Extraction (AT-381) ............................................................................................... 115
69.       Controller Fault Messages (AT-163).............................................................................................. 116
70.       Reports Page (AT-377) .................................................................................................................. 117
71.       Change Request – SMS related changes (AT-427) ........................................................................ 118
72.       Change Request – SMS related changes 1 (AT-430) ..................................................................... 120
73.       Change Request – SMS related changes 2 (AT-442) ..................................................................... 121
74.       Settings Module - Success Messages (AT-431) ............................................................................. 122
75.       Settings Page - UI Update 3 (AT-439)............................................................................................ 123
76.       Configure Notification (AT-473) .................................................................................................... 123
77.       Change request and Issues reported on 11 July 17 (AT-479) ....................................................... 124
      1. UI Story (AT-16)
      Summary: This topic would explain about the color, theme and styles to be used in the Agritel app
Description:
Description:
         The splash screen shall display an image in background and Niagara logo in foreground
         The logo shall be in portrait mode and big enough to quickly read the content
         The position of logo in splash screen and sign in screen should be same so that there is a smooth
          transition between the two screens
         If the device do not have saved app password, the app should take the user to sign in page
         If the device have saved app password, the app should take the user to home page
      Procedure:
      Description:
    The language setting page shall have a list view selection with below options
     o Engligh
     o Tamil
     o Hindi
     o Telugu
     o Kannada
     o Malayalam
    The language names should be displayed in respective scripts
Procedure:
Description:
    Sign In page should have a background image and below fields and CREATE ACCOUNT and SIGN
     IN buttons:
     o Mobile number
     o Password
    “Forgot password?” hyperlink shall be provided behind the password field
Procedure:
Procedure:
Description:
   User has to input genuine information and complete the account creation successfully in order
    to get access to the system. User can register to the app only if he/she is connected to the
    database server
   Agritel allows three types of users Admin, Dealer and Customer. A user can register as admin
    user only after their mobile number is validated against a specific list of authorized numbers in
    database
   Mobile number shall have two fields in the same line, one for country and the other for mobile
    number
      The country field should be dropdown list taken from database. The default country should be
       selected based on the current location. Ex: If a user creating account from India, the app should
       select “India” as default country. The same logic shall be applied wherever for all country fields
       in the screen
      Upon selecting a country from dropdown list, corresponding country code would be retrieved
       from database and stored with the user profile while saving the profile
      All values required for mobile number validation (Ex: minimum or maximum length) should be
       stored in the database and retrieved upon country selection
      Mobile number is the unique key, user should enter a valid mobile number to create account
      Mobile number, password, user name and user type are mandatory fields for all users.
       Additionally, Address1, Country, State, City or Town or Village, Postal code, at least one
       Alternate phone number and email are mandatory for dealer
      A dealer can be customer also. In this case, dealer would have additional access to customer
       functionalities
      User type shall contain static values Admin, Dealer and Customer. User is allowed to choose any
       one value at a time
      Customer requested not to include email and mobile number verification to make it simple for
       their consumers (users)
      The app shall allow user to enter additional phone number(s). The additional phone numbers
       can be mobile or home phone number
      The app shall display one set of fields (country and phone number fields) for the first time and a
       plus icon for adding more phone numbers. When user taps on the plus icon, an additional set of
       fields shall be displayed
      Maximum five alternate phone numbers shall be added dynamically
Procedure:
8. Create account screen shall clear the UI data when user taps CANCEL button
9. Once client side validation is completed, the app performs below validation:
     The app shall check for duplicate mobile number and throws error if the mobile number
         already registered
10. After successful validation, the user account gets created (in both local DB and server) and
    success message page shall be shown with the message “Welcome <Name>! Your account
    created successfully!” and OK button
11. Once user taps on OK button Agritel home page would be displayed
12. If account creation failed, failure message page shall be shown with a message and OK and
    CANCEL buttons
13. If user taps OK button, Create account page would be shown
14. If user taps CANCEL button, the app takes the user to sign-in page
1. Mandatory fields empty: “Please enter <field name>” Warning Message code: W023
2. Invalid mobile number: “Please enter a valid Mobile Number” Warning Message code: W024
3. Invalid password: “The password must have at least 6 characters and not exceeding 10
   characters.” Warning Message code: W025
4. User Name greater than 30 characters: “The name should not exceed 30 characters” Warning
   Message code: W026
5. User did not select any user type and the field retains the default value ‘Select one’: “Please
   select a user type” Warning Message code: W027
6. Invalid email address: “Please enter a valid email address Ex: name1@sample.com” Warning
   Message code: W028
7. Mobile number already registered with the app: “The mobile number already registered! Please
    use the credentials to login.” Error code: E042
8. No response from server for specific time: “Server timeout! Please try again after sometime.”
    Error code: E001
9. Alternate phone number Invalid: “Please enter a valid Phone Number”
10. User selects the type as Admin but the primary mobile number does not exists in the authorized
    mobile number list: “Your mobile number is not authorized for Admin access” Error code: E043
   Add textbox clear icon for all input fields. Upon tapping the icon, the whole text box content
    shall be cleared
    List of possible error messages:
11. When user is not connected to server and tries to create account: “Internet connection appears
    to be offline”
1. Do not display non-mandatory fields for customer user type. This change applies for edit profile
   (AT-17) also
1. Do not display non-mandatory fields for admin user type. This change applies for edit profile
   (AT-17) also
6. Edit Profile (AT-17)
Summary: As an Agritel user, I would like to edit my profile so that my profile data can be updated
Description:
   The fields which are not editable shall be differentiated from editable fields
   User can edit profile only if he/she is connected to the database server
   Add textbox clear icon for all input fields. Upon tapping the icon, the whole text box content
    shall be cleared
Procedure:
       Customer to Dealer
2. The app should not allow below user type changes:
       Dealer to Admin
       Customer to Admin
       Admin to Customer
       Admin to Dealer
3. If user tries to change the type which is not allowed, the app shall display below message:
    Message: Warning message code- W043
1. The app shall not allow the user to change the user type from dealer to customer if below
   conditions matches
Description:
   Sign In page should have a background image and below fields and CREATE ACCOUNT and SIGN
    IN buttons:
   o Mobile number
   o Password
Procedure:
    Summary: As an admin, I want to navigate to home page and be able to see customer issues
    with status and access menu so that I can take necessary action on long pending service
    requests
   Description:
1. Please refer [Agritel – Application
   Messages|https://iexemplar.atlassian.net/wiki/display/AT/Agritel+-+Application+Messages] for
   message codes
2. Home page – Admin shall have a grid view with 3 elements as below:
 Service Request
         My Devices
         Shared Devices
3. When user tap on any grid view element, the app shall take the user to corresponding page
4. Please refer AT-83 for My Devices and Shared Devices functionalities
5. Please refer AT-85 for Service Request functionalities
9. Home Page - Dealer (AT-18)
Summary: As a dealer, I want to navigate to home page to view devices and customer service
requests so that I can sell devices or take necessary action on open service requests.
Description:
1. Please refer field level specification for field details and error messages
2. Device means either controller or node
3. The home page header shall have below items:
       Controllers
       Valves
       Lights or Fans
       Sensors
     Fertilizers
14. Each category shall be displayed in collapsed format
15. When dealer taps on a category, it should be expanded and sub-list shall be displayed in the
    same page. The sub-list shall have list of devices that belongs to the selected category
16. The devices in sub-list are one which admin assigned to the dealer and to be sold
17. The sub-list shall have
     Checkbox
     Device QR Code
     DELETE icon
18. At bottom of each category, Sell to dropdown shall be provided which shall contain below static
    values:
     Dealer
     Customer
     Myself
19. The QR code shall be sorted by ascending order
20. When user taps on a QR code, the app shall take the user to view controller or node – dealer
    page
21. Each category shall have SELL and CANCEL buttons after Sell to dropdown
22. When dealer selects the dropdown option Dealer, below controls shall be displayed
    dynamically:
     Dealer Name – Input field
     Dealer Mobile Number – Input field for dealer registered mobile number
23. Dealer shall sell device(s) to another dealer by performing below steps:
     Description:
  1. Please refer [Agritel – Application
     Messages|https://iexemplar.atlassian.net/wiki/display/AT/Agritel+-+Application+Messages] for
     message codes
  2. Home page – dealer shall have a grid view with 5 elements as below:
          Service Request
 Selling Devices
          Customer Devices
          My Devices
        Shared Devices
3. When user tap on any grid view element, the app shall take the user to corresponding page
4. Please refer AT-83 for My Devices and Shared Devices functionalities
5. Major functionalities for Service Request, Selling Devices and Customer Devices are provided in
   AT-18, below points are few updates from that
6. Referring to point 12 in original story: The service request(SR) list shall have customer name, SR
   open date and status
7. Category in selling devices page should be changed as below:
   a) Controller
   b) Valve
   c) Light
   d) Fan
   e) Moisture sensor
   f) Level sensor
   g) Humidity sensor
   h) Temperature sensor
   i) Flow meter sensor
   j) Fertilizer pump
   k) Fogger
   l) Energy meter
8. Updates on message codes:
    a) Scenario: If dealer name is not between 4 and 30 characters
       Message: Warning message code- W006
    b) Scenario: If customer name is not between 4 and 30 characters
       Message: Warning message code- W007
    c) Scenario: If the dealer mobile number is same as any controller SIM number
       Message: Warning message code- W008
    d) Scenario: If the customer mobile number is same as any controller SIM number
       Message: Warning message code- W009
    e) Scenario: Device delete confirmation message
       Message: Confirmation message code- C001
    f)   Scenario: If Selling Devices tab expanded category does not have any device to display
         Message: Information message code- I004
    g) Scenario: Selling confirmation message
       Message: Confirmation message code- C002
    h) Scenario: Selling success message
           Message: Information message code- I013
      i)   Scenario: If Issues tab does not have open issues to display
           Message: Information message code- I010
      j)   Scenario: If Customer Devices tab does not have any device to display
           Message: Information message code- I011
      k) Scenario: If My Devices tab does not have any device to display
         Message: Information message code- I012
      l)   Scenario: If dealer name empty
           Message: Warning message code- W010
      m) Scenario: If customer name empty
         Message: Warning message code- W011
      n) Scenario: If dealer mobile number empty
         Message: Warning message code- W012
      o) Scenario: If customer mobile number empty
         Message: Warning message code- W013
      p) Scenario: If Sell-to option not selected
         Message: Warning message code- W014
      q) Scenario: If dealer country code not selected
         Message: Warning message code- W015
      r) Scenario: If customer country code not selected
         Message: Warning message code- W016
           Point 9 in original story description has been changed as below
  9. The home page header shall display a plus icon that shall be displayed on top right corner of the
     home page. The plus icon shall be displayed only when dealer is in Selling Devices page.
  10. Plus icon is not required for dealer in My Devices page since dealer can sell to himself
      Description:
         Bullet point 1 and 2 applies to View controller - customer module
     1. When user tries to input any node beyond the limit, below message shall be displayed:
         Error message code: E051
     2. The app should not allow dealer to delete customer controller. Delete option should be
        hidden when dealer access customer controller
         Bullet point 3 applies to home page dealer – selling devices module
     3. When user taps on SELL TO dropdown
            Change of display order – first display mobile number followed by dealer or customer
             name
          Dealer or customer name is display only field and mobile number is input field
          If dealer inputs mobile number, the app should trace it
          If mobile number does not exists, just store the mobile number in database
          If mobile number exists in database, retrieve dealer or customer name from user profile
             and display the same below mobile number
         Bullet point 4 and 5 applies to the modules wherever node category is being displayed
     4. Below title and sort order should be followed for the node category list in all over the app:
         Valves
         Lights
         Fans
         Moisture sensors
         Level sensors
         Humidity sensors
         Temperature sensors
         Flow meter sensors
         Fertilizer pumps
         Foggers
         Energy meters
     5. Dealer pages would have an additional category ‘Controllers’
Description:
  9. The DELETE icon in dealer home page - selling devices section shall be removed
10. Navigation to view controller or node page by tapping on QR code remains same
11. View controller or node page shall be for view device details purpose only. DELETE and CANCEL
    buttons shall be removed. A back icon shall be provided to take the user to previous page
Description:
1. Please refer field level specification for field details and error messages
2. The home page header shall have below items:
3.   Navigation icon on top left corner
4.   Agritel logo next to the navigation icon
5.   Plus icon on top right corner of the home page
6.   Please refer navigation menu story AT-20 for navigation menu details
7. Introduce Slider menu which shall slide from left to right. The content of slider menu shall be the
   same as navigation menu
8. When customer taps on the plus icon, the app shall take the customer to Add Controller –
   customer page
9. The home page content shall have a list of controllers (controllers) associated with the customer
   registered mobile number
10. The controller list shall have controller name, alert icon showing number of unread SMS and
    ON/OFF button
11. The list shall be sorted by controller name, ascending order
12. App shall allow the user to turn the controller on or off using the ON/OFF button
13. Upon switching the controller ON/OFF, below messages shall be displayed
     ON: “<Controller Name> is switched ON”
     OFF: “<Controller Name> is switched OFF”
14. If the customer did not add any controller, below message shall be displayed:
     “No controllers available for your account. Please tap plus icon to add controllers.”
15. Upon taping the controller, customer shall be taken to view controller – customer page
16. The list name and other details shall not exceed the page width
17. If the controller list is beyond the page size, vertical scroll bar shall be provided
18. Home page shall display the content from local database if no server connection
  Procedure:
Description:
                  My Devices
                  Shared Devices
           3. The home page shall have menu icon and slider menu
           4. My device and Shared device pages shall have a back icon in page header. On tapping
              back icon, the app shall take the user to home page
           5. When user tap on My Devices element, the app shall take the user to My Devices –
              page
           6. My Devices page: Display controller group names. Please refer AT-100 for group display
              functionality
           7. Plus icon should be displayed on top right corner. If user taps on the plus icon, the app
              shall take the user to Add controller page AT-4
           8. Shared Devices page tab shall display all controllers shared to the logged in user
9. Share Devices page should display the primary user name(s) (in collapsed format) who
   shared the controller(s) to the logged in user
10. When user taps on the primary user name, the name gets expanded and list of
    controllers belongs to the primary user shall be displayed
11. If there is no shared device, below message shall be displayed in the home page itself,
    no popup required:
    Message: Information message code: I026
12. Referring to Point 10 in original story: The controller list in both My device and Shared
    device pages shall have below items:
    a) Controller name – First row
    b) Alert icon showing number of unread SMS – First row
    c) ON/OFF button – First row
    d) A launch point for quick menu (an icon) – Second row
    e) Controller SIM number – Second row
    f) Latest unread SMS without date and time – Third row
13. If controller name is blank, QR code shall be displayed in place of controller name
14. The ON/OFF button should be disabled if controller SIM number is unavailable
15. When user toggle between ON and OFF, below messages shall be displayed:
    Message after controller is switched ON: Information message code - I001
    Message after controller is switched OFF: Information message code - I001
16. When user taps on quick menu icon, below menu options should be displayed in popup:
    a) Motor ON
    b) Motor OFF
    c) Make a call to controller SIM number
    d) Get controller status
    e) Controller settings
    f)   Reports
17. Motor ON – Send controller ON SMS
18. Motor OFF – Send controller OFF SMS
19. Live update – Send live update SMS to controller
20. Settings - Settings launch point
21. Report – Reports launch point
           22. Upon tapping SMS alert icon, a new page should be displayed with list of all unread
               messages (show preview only)
           23. The message page should display only error messages. Error message codes would be
               provided later
           24. If user taps on a message preview in the list, the complete message should be displayed
           25. After user views any message (one or more), the message status should be changed
               from unread to read. This status should be reflected in the alert icon
Description:
Procedure:
Navigation Menu:
        View Groups
        View Sub-user
        Reports
        Chat Page
        Call
        General Settings
 Edit Profile
  2. Navigation menu shall be displayed when user taps on menu icon or swipes the screen
     from left edge to right on the pages listed in point 1
  3. The navigation menu shall contain user name and registered mobile number in menu header
  4. Please refer [Navigation Menu
     |https://iexemplar.atlassian.net/wiki/display/AT/Agritel+Navigation+Menu+-+Mobile] for menu
     items in each page
  5. First diagram explains menu items for customer and the second one for dealer and admin
  6. Title of each box represent the page name and list below provides the list of menu items to be
     displayed for the selected page
  7. LOGOUT option should logout user from the app. After logout, the app shall take the user to
     sign in page
  8. EXIT option should allow the user to quit from the app without logout
  View Controller - Customer:
  1. Introduce a back button on top left corner of the page. When user taps on the button, the app
     shall take the user to previous page
  Add Controller - Customer:
1. When user taps on CANCEL button, the app shall take the user to previous page
        Reports
        General Settings
20.       Forgot Password (AT-15)
Summary: As an Agritel user, I want to reset my password so that I can regain access to the app
Description:
   The “Forgot Password” hyperlink should take the user to reset password page
   Reset password page should allow the user to input registered mobile number, new password
    and confirm it
   Upon successful validation, the app shall take the user to sign in page for him/her to login
   Add textbox clear icon for all input fields. Upon tapping the icon, the whole text box content
    shall be cleared
Procedure:
Description:
     1. On tapping “Forgot Password” hyperlink, the app should trigger an SMS to the registered
        mobile number
     2. The SMS should contain OTP for password reset
     3. Reset password page should contain
         Below information:
             Message: Information message code: I014
         Input field: Country code
         Input field: Registered Mobile Number
         Input field: OTP
         Input field: New Password
         Input field: Confirm New Password
         Buttons: RESEND OTP, RESET PASSWORD and CANCEL
     4. Please refer AT-2 for country code and phone number validation
     5. Upon lost focus of OTP textbox, the app should validate the OTP in textbox with the one in
        SMS
     6. After successful OTP validation, user should be able to update their new password
     7. If the OTP validation is unsuccessful, user shall tap on RESEND OTP button to resend a new
        OTP SMS
     8. If user tries to input password without entering OTP, the app should display below message:
        Message: Warning message code: W041
     9. If OTP validation is unsuccessful, the app should display below message:
        Message: Warning message code: W042
  1. Scenario: Registered mobile number is empty after user taps SUBMIT button
     Message: Warning message code: W002
  2. Scenario: New password is empty after user taps SUBMIT button
     Message: Warning message code: W003
  3. Scenario: Confirm password is empty after user taps SUBMIT button
     Message: Warning message code: W004
  4. Scenario: If password length is not between 6 and 10 characters
     Message: Warning message code: W005
  5. Scenario: Message to display after password reset successful
     Message: Information message code: I003
Procedure:
Summary: As a customer, I want to add units so that I can associate it with valves and lights and
perform drip irrigation activities
Description:
   Please refer field level specification for field details and error messages
   This story is applicable for adding unit or controller only. A separate user story would be created
    later for adding nodes (valve, light or sensor) for the unit
   The add unit page shall have below input fields:
    o     Device ID input box followed by SCAN button or icon which allows QR code scanning. User
          can either type device ID or tap SCAN button to scan QR code
    o Unit name to input a name for controller
    o SIM number to input controller SIM number. This is the number which is used to
          communicate with the Agritel app. SIM number shall have two fields in the same line, one
          for country and the other for SIM number
    o Please refer create account story AT-2 for country selection and SIM number validation
   All input fields are mandatory
   The page shall display below read only fields:
    o Dealer Mobile Number
    o Dealer Name
   This page shall have SUBMIT and CANCEL buttons
Procedure:
1.    Customer downloads and installs Agritel app
2.    Customer taps the app icon, splash screen gets displayed followed by language setting page
3.    Upon selecting the language, the app shall take the customer to sign in page
4.    Customer inputs the user ID and password and taps SIGN IN button
5.    The app shall take the customer to home page
6.    The app list all the units which belongs to the customer
7.    Customer taps on the plus icon, the app takes the customer to add unit page which shall
      have the fields in below order:
       QR Code or Device ID
       Dealer Mobile Number
       Dealer Name
       Unit Name
       SIM Number
8.    Customer types the device ID in input field or taps SCAN button and scans QR code of the
      unit
9.    When the cursor moves out from QR Code or device ID field, app shall perform below
      validation:
       QR code or device ID should be a registered code by admin. If not, below error shall be
           displayed:
           “Invalid unit ID, please contact your dealer.”
       The code should be associated to a dealer. If the unit is registered by admin but not
           associated with dealer, below error message shall be displayed:
           “The unit is not associated with dealer, please contact your dealer.”
       The code should be unique for the customer. If the unit is valid and associated to a
           dealer but it already exists in the app, below error message shall be displayed:
           “The unit already exists in user account!”
10.   Upon successful validation of QR code or device ID, the apps shall display dealer name and
      mobile number
11.   Customer enters unit name and SIM number and taps SUBMIT button. The app performs
      below validation:
       The SIM number should be a valid phone number. The app should validate (using API if
           required) whether the number is a valid SIM or mobile number
       The SIM number should be a unique SIM number. If not, below error message shall be
           displayed:
           “The unit <unit name, QR Code> already holds this SIM number. Please enter a new SIM
           number”
       It should not be a user registered mobile number. If the SIM number is already
           registered by any user, display below message:
           “This SIM number is a user registered mobile number. Please enter a new SIM number”
12.   Upon successful validation, the unit details should be stored in both local database and
      server in parallel
      13. In case of errors, after user taps OK in error window, the app shall reset the screen and
          retains the same page
      14. If the customer taps CANCEL button, the app shall reset the screen and retains in the same
          page
Description:
     Add textbox clear icon for all input fields. Upon tapping the icon, the whole text box content
      shall be cleared
  Procedure:
  1. When user is not connected to server and tries to add unit: “Internet connection appears to be
     offline”
  1. Controller name should be unique for the customer. If not, below message shall be displayed:
     Message: Error message code: E036
  2. If no server connection, the app shall display below message:
    Message: Error message code-E002
Description:
          The SIM number should not be any other controller SIM number. If not, below error
           message shall be displayed:
           “This SIM number is already used by another controller. Please enter a different number”
          SIM number should not be registered mobile number or alternate phone number. If not,
           below error message shall be displayed:
           “This SIM number is a registered mobile number or alternate phone number. Please enter
           a different number”
20.   Upon successful validation, controller name and SIM number should be updated in both local DB
      and server in parallel and the app should stay in the same page
21.   When customer taps CANCEL button, edit operation should be cancelled and customer shall be
      taken to previous page
22.   When customer taps DELETE button, the controller and all its nodes and programs should be
      deleted upon getting confirmation from the customer and the app shall take the user to
      previous page
23.   Delete confirmation message shall be as below:
      “Deleting controller would delete all its nodes and programs associated to it! Are you sure you
      want to delete controller?”
24. When customer taps REPLACE Controller button, the app shall prompt below message:
    Message: Warning message code: W021
25. If user taps OK in popup window, the app shall display a popup with below 2 input fields:
         Controller QR code
         Controller SIM Number
26. Please refer AT-4 for controller QR code and SIM number validations
27. Nodes section shall have below collapsed categories:
         Valves
         Lights
         Fans
         Moisture sensors
         Level sensors
         Humidity sensors
         Temperature sensors
         Flow meter sensors
         Fertilizer pumps
         Foggers
         Energy meters
28. If the controller is inactive, a popup should be displayed with below message when user taps on
    node section:
    Message: Warning message code-W030
29. The Nodes section should have a collapsed list named Mapped Nodes as top item
30. Mapped nodes item behavior should different from all other categories
31. When user taps on Mapped Nodes category, the section should get expanded and all mapped
    nodes which belongs to the selected controller should be displayed
32. The nodes should be sort by serial number ascending order
33. Mapped nodes list should have below display fields:
         Serial Number
         QR code of the node
         Name of the node
         Edit Icon
34. When user taps on Edit icon, the app shall take the user to Edit Mapped Nodes page
35. The app shall display below information (with information icon) near the node section title:
    “To map controller with nodes”
36. The above list of categories is a standard list for each controller
37. The expanded details of each category should display all nodes belongs to the category and sold
    by the dealer to the customer with SUBMIT and CANCEL buttons
38. The node list shall have below details:
         A checkbox
         QR code of the node
         Name of the node
           Edit Icon
39.   After user selects (tick checkbox) node(s) and taps on SUBMIT button, the app maps the
      selected node(s) to the controller. Tapping CANCEL button shall clear the selection and collapse
      the node group
40.   Mapping of nodes to controller can be done locally and synchronized to server when the app
      gets connected to server
41.   If user taps SUBMIT button without selecting any node, the app shall display below message:
      “Please select node(s) to map to the controller”
42.   The app should generate a unique three digit serial number for each node under a controller.
      The serial number is unique within the controller. It shall restart from 1 for the next controller
43.   If a node is unmapped from the controller (using Edit mapped nodes module), that serial
      number can be reused while mapping new node
44.   After a node is mapped to a controller, it should be displayed under mapped nodes collapsible
      item
45.   When customer completes adding nodes for first controller and tries to add nodes for the
      second controller, the list of nodes which are already added to first controller shall not be
      displayed for the second controller
46.   When customer taps on a node, Edit/Delete node page shall be displayed showing all values as
      display only
47.   When customer taps on edit icon, Edit/Delete node page shall be displayed showing node name
      as editable field. All other fields in Edit/Delete node page are display only
48.   Fertilizer nodes (fertilizer pump) shall be treated as below:
           All fertilizer nodes can be re-used for any controller
           Serial number can be generated for controller and fertilizer combination hence a fertilizer
            can have different serial number when it is added in different controllers
            Ex: Controller1, Fert1 – 010
            Controller2, Fert1 – 050
49.   Node section should have a plus icon. When customer taps on the plus icon, the app should take
      him/her to add nodes page
50. If no server connection, the app shall display below message:
    Message: Error message code-E002
51. If primary user deletes the shared controller, it should be automatically deleted from sub-user
    account also
52. Programs section shall have below collapsed program names:
       Program1
       Program2
       Program3
       Program4
       Program5
       Program6
53. The above list of programs is a static list for each controller
54. If the controller is inactive, a popup should be displayed with below message when user taps on
    program section:
    Message: Warning message code-W030
55. When customer taps on a program, it should get expanded. The expanded list should display all
    zones created for this program
56. When customer taps on a zone, the app shall take the user to edit program page
57. If no zone available for the expanded program, below message shall be displayed:
    “No zone created for this program. Please tap ADD ZONE button”
58. The expanded program should display ADD ZONE and CANCEL buttons after zone list
59. When user tap on ADD ZONE button, the app shall take the customer to create zone page.
    Tapping on CANCEL button should collapse the program group
60. Add textbox clear icon for all input fields. Upon tapping the icon, the whole text box content
    shall be cleared
61. If no response from server for specific time, below message shall be displayed:
    “Server timeout! Please try again after sometime.”
62. Please refer AT-100 for grouping related changes
Procedure:
1.    Assuming the customer already installed, used the app and quit it without logout
2.    Customer taps the app icon, splash screen gets displayed followed by the home page
3.    The app list all controllers which belongs to the customer
4.    Customer taps on a controller, view controller page shall get displayed
5.    View controller page gets displayed with controller details, nodes and programs sections
6.    Customer is able to see below display fields:
          QR Code or Device ID
          Controller Name
          Controller SIM Number
          ON/OFF button
          Model
          Date of Manufacturing
          Dealer Name
          Dealer Mobile Number
          Mode of operation
7.    Customer taps on the edit icon, controller name and controller SIM number fields are changed
      to editable fields
8.    Customer enters controller name and SIM number and taps SUBMIT button
9.    Controller details are updated
10.   Customer expands the Valves category in Nodes section
11.   Customer is able to see all valves (that was sold by the dealer to this customer) with check boxes
      for each valve
    12.   Customer selects X valves and taps SUBMIT button
    13.   Customer expands Light or Fan category and adds Y Lights or Fans
    14.   Customer expands sensor category and adds Z sensors
    15.   Customer expands fertilizers category and adds N fertilizers
    16.   Customer expands mapped nodes section, he/she is able to see all the mapped nodes in this
          section
    17.   Customer taps on Program1 in programs section
    18.   The program1 gets expanded but no zone details available. Below message shall be displayed for
          this case
          “No zone created for this program. Please tap ADD ZONE button.”
    19.   Customer taps CANCEL button within expanded program group, program section gets collapsed
    20.   Customer taps CANCEL button near controller details, he/she is taken to the previous page
    1. When customer taps REPLACE Controller button, the app shall prompt below message:
       Message: Warning message code: W021
    2. If user taps OK in popup window1, the app shall display a popup window2 with below details:
            Controller QR code or device ID (This field should allow both keyboard and scan input)
            Controller SIM Number
            OK and CANCEL buttons
    3. If user taps OK in popup window 2, below message shall be displayed:
       Message: Confirmation message code: C012
    4. Please refer AT-4 for controller QR code and SIM number validations
    5. Mode of operation should be a drop down and the drop down values shall be as below:
            SMS
            Voice call
            WI-FI
            GPRS
New points
B. Nodes Tab:
C. Programs tab:
   1. If no mapped nodes available for the selected controller when user taps on Programs tab,
      the app shall display below message:
      Error message code: E048
   2. If no valves mapped for the selected controller and user taps on ADD ZONE button, the app
      shall display below message:
       Error message code: E049
   3. Add a new item on bottom of the page named “Common ID Settings”
     4. When user taps on “Common ID Settings”, the app shall take the user to Common ID
        Settings page
Description:
     1. When user tries to input any node beyond the limit, below message shall be displayed:
         Error message code: E051
     2. When user tries to delete a controller, the app should prompt for user password. The app
        should not allow the user to delete the controller, if user inputs wrong password.
     3. The popup should have below message and password text box:
         Information message code: I034
     4. The app should not allow dealer to delete customer controller. Delete option should be
        hidden when dealer access customer controller
Description:
     1. Controller replacement
         a) When a controller is replaced, user input should be populated for below fields:
             QR Code or Device ID
             Controller SIM Number
         b) Below fields can be populated from product profile:
             Model
             Date of Manufacturing
         c) Below fields can be populated from old controller record:
             Controller Name
             Dealer Name
             Dealer Mobile Number
     2. Delete controller
         a) When a controller is deleted, the record should be marked as inactive in database
         b) The same customer or another customer should be able to add the controller
         c) But when the controller is in active status, the app should not allow a customer to add
            another customer controller
Description:
     1. The controller ON/OFF button in controller details tab should be changed to DND ON/OFF
     2. If user turns ON the ON/OFF button, the app should send DND ON (for primary user) SMS to
        the controller and shows below message in toast:
         Information message code: I042
     3. If user turns OFF the ON/OFF button, the app should send DND OFF (for primary user) SMS
        to the controller and shows below message in toast:
         Information message code: I043
     Controller Replacement:
  1. Controller QR code validation when a controller is replaced:
      The replacement controller should be present in product profile. If not, display below
        message:
        Error message code: E067
        The controller should not be associated to any dealer. If not, display below message:
         Error message code: E068
        The controller should not be owned by any other users (customers or dealer or admin). If
         not, display below message:
         Error message code: E069
        The controller should be unique for the logged in customer. If not, display below message:
         Error message code: E070
  2. User can input old controller SIM number or new SIM number. If user inputs new SIM number,
      SIM number should be validated (Please refer AT-4 for validation)
      SMS should be sent to the controller. Please refer AT-11 for SMS code
  3. If user taps OK button without entering QR code, the app shall display below message:
     Warning message code: W057
  4. If user taps OK button in replace popup without entering SIM number, the app shall feed old
     controller SIM number for this field
Description:
            SMS
            Voice Call
            WI-FI
     4. Among 3 mobile operation modes, user can select only one at a time
     5. When one mode is already selected and user tries to select the next mode, the app should
        automatically turns OFF already selected mode(s)
     6. If user selects WI-FI mode, the app shall allow him/her to select either one of the below
        operation modes:
            WAP
            WPS
     7. Below mode is the only operation mode for web:
            GPRS (Web)
     8. GPRS is independent from all mobile modes
     9. Examples:
         a) Turn ON both SMS and GPRS (Web) - Valid
         b) Turn ON WI-FI, WAP and GPRS(Web) modes - Valid
         c) Turn ON SMS and WAP – Invalid
         d) Turn ON SMS and WI-FI – Invalid
     10. Please refer AT-253 for operation mode SMS codes
Description:
           Foggers
           Energy meters
    5. When user taps on the category – Light and Fan, the app shall display:
           If the node is a light, the dropdown list should contain all light serial numbers mapped
            to the selected controller
           If the node is a fan, the dropdown list should contain all fan serial numbers mapped to
            the selected controller
           All lights should be displayed first (sorted by serial number in ascending) followed by
            fans (sorted by serial number in ascending).
    6. User should be able to change the serial numbers in dropdown list. When the serial number
       is changed, the corresponding display name should be changed
7. The expanded section of Humidity and temperature sensor category should be similar to
   light and fan category but light node should be replaced with humidity sensor and fan with
   temperature sensor
8. When user taps on the categories - Flow meter sensors, Fertilizer pumps, Foggers or Energy
   meters, the app shall display:
       All nodes corresponding to the category which is mapped to the selected controller. The
        list should be sorted by serial number in ascending
       When user taps on OK button in popup window, the popup should be closed and the
        app should stay in main window
14. VIEW button toast format - Information message code: I035
15. When user taps on SEND button, the app should send ID set SMS to the controller and the
    same should be stored in database
16. The app should not allow the user to repeat the serial number selection
17. After sending SMS to the controller:
       The app should display a toast as below:
        Information message code: I039
            When user select the category again, the nodes should be displayed in the same order
             as in SMS
            The app should not allow customer to delete or un-map these nodes
   18. User should be able to resend the ID settings using the SEND button
   19. When user taps RESET ID button, ID reset SMS should be sent to the controller
   20. After app sends reset ID SMS, the app should display a toast as below:
       Information message code: I040
   21. User shall un-map or delete the node(s) after sending reset ID SMS
   22. SMS codes would be provided later in Controller Communication story (AT-11)
Procedure:
   1. Assuming the customer already installed, used the app and quit it without logout
   2. Customer taps the app icon, splash screen gets displayed followed by the home page
   3. The customer taps on a group name, he/she is able to see the list of controllers belongs to
      the selected group
   4. The customer taps on a controller, the app took the user to View controller page
   5. The customer goes to Programs section
   6. The customer taps on Common ID Settings, the app took the user to Common ID Settings
      page
   7. Customer taps on Light and Fan category
   8. The app displays 2 light and 2 fan nodes
   9. Customer changes the serial numbers for light nodes and taps on SEND button
   10. Customer is able to see SMS sent success message in toast
Summary: As a user, I want to view new nodes so that I can see pending unmapped nodes, edit or
delete node details
Description:
    Valves
    Lights
    Fans
    Moisture sensors
    Level sensors
    Humidity sensors
    Temperature sensors
    Flow meter sensors
    Fertilizer pumps
    Foggers
    Energy meters
7. The expanded details of each category should display all unmapped nodes belongs to the
   customer who has logged in
8. If the expanded category do not have any node, below message shall be displayed:
    Error message code: E045
9. The node list should contain below details:
       QR code of the node
       Node Name
       Edit icon
10. The list should be sorted by QR code in ascending order
11. This page should have a plus icon on top right corner. Upon tapping on the plus icon, the
    app shall take the user to add nodes – customer page (AT-5)
12. When user taps on a card, the app should take the user to Edit / Delete Node – Customer
    page (AT-86) in view mode first. If user taps on edit icon, the app shall allow user to edit the
    node
13. When user taps on a edit icon, the app should take the user to Edit / Delete Node –
    Customer page (AT-86) in edit mode directly
14. If the mobile do not have internet connection, below message shall be displayed:
    Error message code: E002
Procedure:
    1. Assuming the user already installed, used the app and quit it without logout
    2. User taps the app icon, splash screen gets displayed followed by the home page
    3. The user taps on “New Node” element in grid view
    4. The app takes the user to view new node page
    5. The user is able to see all the categories
    6. The user taps on a category, the app expands the category and displays all unmapped nodes
       under the selected category
    7. The user taps on edit icon, the app takes him/her to Edit/Delete node page with the
       selected node details
Summary: As a dealer, I want to add controller or node so that I can sell it to customers or other
dealers
Description:
1. Dealer shall use this page to add controller or node when admin is unable to sell controller or
   node to the dealer
2. Page title shall be “Add Controller / Node”
3. This page shall have controller or node ID input box followed by SCAN button or icon which
   allows QR code scanning. User can either type the ID or tap SCAN button to scan QR code
4. After receiving ID or QR code, the app shall validate whether the ID or QR code is registered by
   admin in product profile. If not, below error shall be displayed:
   “Invalid QR Code, please contact admin.”
5. Upon successful validation, the app shall populate values for below display fields:
       Model number
       Date of manufacturing
       Category
6. Date of manufacturing shall be displayed in DD/MM/YYYY format
7. SUBMIT and CANCEL buttons shall be displayed followed by the display fields
8. Dealer shall verify the details and tap SUBMIT button to add the item
9. After dealer taps SUBMIT button, the controller or node details should be stored in both local
   database and server in parallel
10. If dealer taps SUBMIT button without entering ID or QR code, below message shall be displayed:
    “Please enter Controller / Node ID or QR Code”
11. When dealer taps CANCEL button, add operation gets cancelled and the app shall take the user
    to previous page
12. If no response from server for specific time, below message shall be displayed:
    “Server timeout! Please try again after sometime.”
Procedure:
1.    Assuming the dealer already installed, used the app and quit it without logout
2.    Dealer taps the app icon, splash screen gets displayed followed by the home page
3.    The dealer is able to see all four tabs in home page and issues tab being selected
4.    The dealer taps on selling devices tab, he/she is able to see the collapsed device categories
5.    The dealer taps plus icon on top right corner of the home page, the app takes the dealer to add
      controller / node page
6.    The dealer scans QR code
7.    The app validates the QR code and displays corresponding model number, date of
      manufacturing and category fields
8.    The dealer taps on SUBMIT button, the controller or node details gets stored in both local
      database and server in parallel
9.    The controller or node gets added and the app takes the user to home page selling devices tab
10.   The app shall display the expanded category of the item which is added
Description:
Procedure:
1. Assuming the dealer already installed, used the app and quit it without logout
2. Dealer taps the app icon, splash screen gets displayed followed by the home page
3. The dealer is able to see all four tabs in home page and issues tab being selected
4. The dealer taps on selling devices tab, he/she is able to see the collapsed device categories
5. The dealer taps on Controller category, the category gets expanded and the app displays
   controller list
6. The dealer taps on a controller QR code, the app takes the dealer to controller / node page
7. The dealer views the selected controller details and taps on DELETE button, the app prompts for
   conformation
8. The dealer taps OK button, the controller or node gets deleted from the dealer account
9. The app takes the dealer back to home page, selling devices tab with refreshed list
Description:
1. Customer shall use this page to add node when dealer is unable to sell it to the customer or
   when customer wants to quickly scan it
2. Please refer Agritel – Application Messages for message codes
3. Page title shall be “Add Node”
4. This page shall have device ID input box followed by SCAN button or icon which allows QR code
   scanning. User can either type the device ID or tap SCAN button to scan QR code
5. After receiving device ID or QR code, the app shall validate whether the device ID or QR code is
   associated with a dealer. If not, below error shall be displayed:
   Error message code - E022
6. The app shall have a verify icon near device ID field to trace device ID/QR code
7. Upon successful validation, the app shall populate values for below display fields:
       Category
       Model
       Date of manufacturing
       Dealer Name
       Dealer mobile number
8. Node name field should be provided below the device ID field for the customer to input the
   node name
9. Date of manufacturing shall be displayed in DD/MM/YYYY format
10. SUBMIT and CANCEL buttons shall be displayed followed by the display fields
11. Customer shall input node name and tap SUBMIT button to add the node
12. After customer taps SUBMIT button, the node details should be stored in local database and
    stays in the same page to add more nodes. The data should be synchronized with server when
    there is server connectivity
13. The newly created node should be mapped to the selected controller
14. The app should generate a unique three digit serial number for each node under a controller.
    The serial number is unique within the controller. It shall restart from 001 for the next controller
15. Unused serial number should be used first. If unused serial number is not available, new serial
    number can be generated
16. After node gets created successfully, below message shall be displayed:
    Message: Information message code- I023
17. If customer taps SUBMIT button without entering device ID or QR code, below message shall be
    displayed:
     Error message code – W001
18. When customer taps CANCEL button, add operation gets cancelled and the app shall take the
    user to previous page
19. If no response from server for specific time, below message shall be displayed:
    Error message code - E001
20. Provide back button in place of menu icon which takes the user to previous page
Procedure:
1.   Assuming the customer already installed, used the app and quit it without logout
2.   Customer taps the app icon, splash screen gets displayed followed by the home page
3.   The customer is able to see all controllers belongs to him/her
4.   The customer taps a controller in home page, the app takes the customer to view controller
     page. The customer goes to nodes section
5.   The customer taps plus icon on top right corner of the page, the app takes the customer to add
     node page
6.   The customer scans QR code and taps verify icon
7.   The app validates the QR code and displays corresponding node name, category, model, date of
     manufacturing, dealer name and dealer mobile number fields
8.   The customer enters node name and taps on SUBMIT button, the node details gets stored and
     customer gets success message
Description:
10. If user taps on DELETE button, the node shall be deleted from the user account upon
    confirmation
11. Delete confirmation message:
    Message: Confirmation message code- C008
12. Delete success message:
    Message: Information message code- I025
13. Provide back button on top left corner which should take the user to previous page
Procedure:
1.   Assuming the customer already installed, used the app and quit it without logout
2.   Customer taps the app icon, splash screen gets displayed followed by the home page
3.   The customer is able to see all controllers belongs to him/her
4.   The customer taps a controller in home page, the app takes the customer to view controller
     page. The customer goes to nodes section
5. The customer taps on the collapsed item - valves, the app expands and lists all valves belongs to
   the customer
6. The customer taps on a particular node (valve), the app takes the user to Edit/Delete Node page
7. The app validates the QR code and displays corresponding node name, category, model, date of
   manufacturing, dealer name and dealer mobile number fields
8. The customer updates node name and taps on SUBMIT button, the node details gets updated
9. The customer gets update success message
1. The app should not allow the user to delete node if:
    The node exists in a zone
       The ID setup done for the node (using Common ID Settings page)
2. Handling inactive nodes:
    When a node is deleted, the record should be marked as inactive in database
       The same customer or another customer should be able to add the node
       But when the node is in active status, the app should not allow a customer to add another
        customer node
1. If the user tries to delete a node which exists in a zone or ID setup done (using Common ID
   Settings page) for it, below message shall be displayed:
   Message: Error message code- E072
Description:
1. The app should not allow the user to un-map node if:
    The node exists in a zone
       The ID setup done for the node (using Common ID Settings page)
1. If the user tries to un-map a node which exists in a zone or ID setup done (using Common ID
   Settings page) for it, below message shall be displayed:
   Message: Error message code- E071
Summary: As a customer, I want to create Service Request so that I can report issues to my dealer
with controller details
Description:
       Customer Name
        Customer Registered Phone Number
        Message
4. Message format should be as below:
   Message: Information message code- I031
5. The app should prompt for a confirmation before creating service request
6. Confirmation message format should be as below:
   Message: Confirmation message code- C013
7. After a service request is created successfully, below message shall be displayed:
   Message: Information message code- I041
Procedure:
1. Assuming the customer already installed, used the app and quit it without logout
2. Customer taps the app icon, splash screen gets displayed followed by the home page
3. The customer is able to see all controllers belongs to him/her
4. The customer taps a controller in home page, the app takes the customer to view controller
   page
5. Customer taps on service request button
6. The app prompts for a confirmation message. The customer taps OK button in popup window
7. Service request gets created and the customer receives success message
Summary: As a dealer / admin, I want to see the customer service request so that I can resolve
customer issues
Description:
1. Service Requests should be displayed for dealer and admin user types only
2. When user taps on Service Request grid item in home page, the app should display view service
   request page
3. If the user is a dealer, view service request page should display service requests with below
   conditions:
        Service request belongs to the dealer’s customers
 Status
1.   Assuming the dealer already installed, used the app and quit it without logout
2.   Dealer taps the app icon, splash screen gets displayed followed by the home page
3.   Dealer taps on service request grid element
4.   The app takes the user to view service request page
5.   The dealer taps on a service request, the app takes the user to view controller page
6.   The dealer views the controller details and resolves the service request
Update on 24-Jan-17 (AT-345)
1. Display of service request transfer flag is not required for dealer and admin
1. Display dealer name as one of the data elements for admin user type only
Summary: As a dealer / admin, I want to update the status of service request so that the request can
be tracked easily
Description:
1. Update Service Requests status should be allowed for dealer and admin user types only
2. This page should contain below fields:
       Controller QR Code
       Customer Name
        In-progress
        Closed
5. The default value of status dropdown should be the current service request status
6. The app should allow user to change the status from dropdown
7. Remarks is a free text where user can input the remarks / comment related to the status change
8. The page shall contain SAVE and CANCEL buttons in bottom of the page
9. When user taps on SAVE button, the app should update the service request status and remarks
   upon confirmation
10. Status change confirmation message:
     Message: Confirmation message code- C014
11. When user taps on CANCEL button, the app should go back to the previous page
12. The page should have a back button on top left corner of the page. When user taps on the back
    button, the app should take the user to previous page
Procedure:
1. Assuming the dealer already installed, used the app and quit it without logout
2. User taps the app icon, splash screen gets displayed followed by the home page
3. User taps on service request grid element
4. The app takes the user to view service request page
5. The user taps on an update status icon, the app takes the user to update service request status
   page
6. The user changes the status from dropdown and inputs remarks
7. The user taps on SAVE button
8. The app updates service request and displays success message
Summary: As a customer, I want to create zones so that I can create settings based on the zone and
perform drip irrigation activities
Description:
        A checkbox
        Serial number of the node
        QR code of the node
        Name of the node
14. After user taps on SUBMIT button, the app shall perform below validation:
       Each zone should have at least one valve and maximum of four valves
       Level and moisture sensors are optional
       If user selects sensors, a zone may have two level and two moisture sensors
15. Tapping CANCEL button in main window shall take the customer to previous page. The auto
    generated zone name should also be cancelled
16. If customer taps SUBMIT button, the app should perform below validation:
         If customer did not select any node, the app shall display below message:
          Message: Warning message code: W031
        If customer did not select any valve but selected sensors, the app shall display below
         message:
         Message: Warning message code: W032
        If customer selects more than 4 valves, the app shall display below message:
         Message: Warning message code: W032
        If customer selects one or more sensors, the app shall check whether the user selected two
         level and two moisture sensors. If not, the app shall display below message:
         Message: Warning message code: W033
17. After successful validation, the selected nodes shall be bind to the new zone. The data can be
    saved locally and synchronized to server when the app gets connected to server
18. After successfully storing the data, the app shall display below message:
    Message: Information message code: I028
19. Provide back button on top left corner which should take the user to previous page
  Procedure:
  1. Assuming the customer already installed, used the app and quit it without logout
  2. Customer taps the app icon, splash screen gets displayed followed by the home page
  3. The customer taps on a group name, he/she is able to see the list of controllers belongs to the
      selected group
  4. The customer taps on a controller, the app took the user to View controller page
  5. The customer goes to Programs section
  6. The customer taps on Program 1, he/she is able to see the list of zones already created for this
      program
  7. The customer taps on ADD ZONE button, the app took him/her to add zone page
  8. The customer selects required nodes and taps on APPLY button in each category
  9. After selecting all required nodes, the user taps SUBMIT button
  10. A new zone got created and the customer receives success message
Description:
  Summary: As a customer, I want to edit zones so that I can create settings based on the zone and
  perform drip irrigation activities
  Description:
1. Assuming the customer already installed, used the app and quit it without logout
2. Customer taps the app icon, splash screen gets displayed followed by the home page
3. The customer taps on a group name, he/she is able to see the list of controllers belongs to the
   selected group
4. The customer taps on a controller, the app took the user to View controller page
5. The customer goes to Programs section
6. The customer taps on Program 1, he/she is able to see the list of zones already created for this
   program
7. The customer taps on a zone
8. The customer changes the node selection for the selected zone and taps on APPLY button for
   each category
9. The customer taps on SUBMIT button after selecting all required node(s)
  10. The zone gets updated and customer sees update success message
Description:
  1. When a zone reset is done, all settings corresponding to the zone should deleted from the
     system upon user confirmation
     Message: Confirmation message code: C011
  Summary: As a user, I want to view sub-user details so that I can create or edit or delete sub-user if
  required
Description:
       If the user does not have any active controllers associated to his/her account. In this case,
        display below message:
        Message: Error message code- E039
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. User taps the app icon, splash screen gets displayed followed by the home page
3. The user taps on menu icon or swipes the screen from left edge to right to see the navigation
   drawer menu
4. The user taps on the Sub-User option in the drawer menu
5. The app takes the user to view sub-user page
6. The user is able to see all 10 sub-user codes with respective name and phone numbers (if
   created). He/she taps on a sub-user, the app takes him/her to Add/Edit/Delete sub-user page
Summary: As a user, I want to add or edit or delete sub-user details so that I can share my
controllers with them
Description:
      The list of shared primary user name and mobile numbers shall be displayed in collapsed
       format
      When the user taps on a primary user name, it gets expanded and the list of controllers
       belongs to that user shall be displayed
      The controller list shall have controller name, alert icon showing number of unread SMS and
       ON/OFF button
      Please refer AT-19 for alert icon and ON/OFF button functionalities
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. User taps the app icon, splash screen gets displayed followed by the home page
3. The user taps on menu icon or swipes the screen from left edge to right to see the navigation
   drawer menu
4. The user taps on the Sub-User option in the drawer menu
5. The app takes the user to view sub-user page
6. The user taps on plus icon, the app takes the user to Add/Edit/Delete sub-user page
7. The app displays new sub-user code
8. The user enters sub-user mobile number, the app displays sub-user name from database
9. The user selects all controllers that needs to be shared with the sub-user and taps SUBMIT
   button
10. The selected controllers has been shared to the sub-user
11. The user sees success message and taps OK button. The page gets refreshed
Summary: As a user, I want to view group names so that I can create or edit or delete group if
required
Description:
    1. Assuming the user already installed, used the app and quit it without logout
    2. User taps the app icon, splash screen gets displayed followed by the home page
    3. The user taps on menu icon or swipes the screen from left edge to right to see the
       navigation drawer menu
    4. The user taps on the group option in the drawer menu
   5. The app takes the user to view group page
   6. The user is able to see all his groups. He/she taps on a group name, the app takes him/her
      to Edit/Delete group page
Summary: As a customer, I want to add group names so that I can group my controllers if required
Description:
         Group name should not be empty. If empty, below message shall be displayed:
          Warning message code: W023
       Group name should be unique for the customer. If not, below error message shall be
          displayed: Error message code: E044
   8. After successful validation, the group name should be stored in both local database and
      server in parallel.
   9. After creating group in databases, the app shall display below message:
       Message: Information message code- I021
   10. If CANCEL button is clicked, the app should take the user to View groups page
Procedure:
   1. Assuming the user already installed, used the app and quit it without logout
   2. User taps the app icon, splash screen gets displayed followed by the home page
   3. The user taps on menu icon or swipes the screen from left edge to right to see the
      navigation drawer menu
   4. The user taps on the Group option in the drawer menu
   5. The app takes the user to add group page
   6. The user inputs group name and taps SUBMIT button, the app display success message
Description:
Procedure:
    1. Assuming the user already installed, used the app and quit it without logout
    2. User taps the app icon, splash screen gets displayed followed by the home page
    3. The user taps on menu icon or swipes the screen from left edge to right to see the
       navigation drawer menu
    4. The user taps on the Group option in the drawer menu
    5. The app takes the user to view group page
    6. The user taps on a group and the app takes the user to edit/delete group page
    7. The user taps on EDIT icon, the app enables SUBMIT button
    8. The user updates the group name and taps SUBMIT button.
    9. The app updates the group name and displays success message
    10. The user taps OK button. The app took the user to view groups page
Description:
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. User taps the app icon, splash screen gets displayed followed by the home page
3. The user taps on menu icon or swipes the screen from left edge to right to see the navigation
    drawer menu
4. The user taps on the Group option in the drawer menu
5. The app takes the user to view group page
6. The user taps on plus icon on top right corner, he gets into add group page
7. The user creates a group name and taps SUBMIT button
8. The new group has been added successfully
9. The user goes to add controller page and creates a new controller. He selects the newly created
    group and taps SUBMIT button
10. The new controller is assigned to the newly created group
11. The user goes to home page, he is able to see all existing group names along with the newly
    created group
12. The user taps on the newly created group, the newly added controller got displayed under the
    new group
Updates as on 28-Nov-16
1. Home page – dealer (AT-18) – Customer Devices section
   a) When user taps on a controller in customer devices section, the view controller section
      should not allow the customer to change group name
Summary: As a user, I want to communicate with my controller to create and manage contacts
Description:
1. When the scenario b or c occurs, it is not necessary to wait for controller response. The app shall
   update controller details once the SMS is sent out from the device.
Summary: As a user, I want to communicate with my controller to create, edit or delete sub-users
Description:
1. This story covers SMS formats required to create, edit or delete sub-users
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. SMS code applicable for Add Sub-users (AT-7)
    Scenario: Create sub-user. The SMS should be sent to all select controllers
    SMS Code: IDSET002
    Toast Message: Message: Information message code- I053
    If SMS delivery is unsuccessful for 30 seconds, below message should be displayed:
       Message: Error message code- E034. The app should not create the sub-user if SMS is
       unsuccessful.
5. SMS codes applicable for Edit / Delete Sub-users (AT-7)
   a) Scenario: Change DND mode for sub-users
       If DND mode is switched ON, the ON/OFF button shall be disabled until SMS delivery is
          successful
       SMS Code: IDSET005
       Success Toast Message: Information message code- I007
          If DND mode is switched OFF, the ON/OFF button shall be disabled until SMS delivery is
           successful
          SMS Code: IDSET006
          Success Toast Message: Information message code- I008
   d) Scenario: Delete sub-user – Send sub-user reset SMS for all controllers assigned to him/her.
      SMS should be sent only by one in 5 seconds interval
       SMS Code: IDSET002 with zeros instead of mobile number
         Ex: REG<99>,<country code>,0000000000,
       Toast Message: Message: Information message code- I059
       If SMS delivery is unsuccessful for 30 seconds, below message should be displayed:
         Message: Error message code- E037. Display one failure message for all SMS failures.
         The app should not delete the sub-user if SMS is unsuccessful
5. SMS code applicable for Edit Profile (AT-17)
    Scenarios : If the user is a sub-user and he/she updates registered mobile number in edit
      user profile (AT-17)
    SMS Code: IDSET002
    Success Toast Message: Information message code- I052
    Failure Message: If SMS delivery is unsuccessful for 30 seconds, below message should be
      displayed: Message: Error message code- E052
      The app should not update profile if SMS is unsuccessful (if user did not change mobile
      number, app shall update user profile with same old mobile number)
Description:
1. This story covers SMS formats required for map and un-map nodes
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. SMS codes applicable for View Controller – Customer (AT-60), Edit Mapped Nodes – Customer
   (AT-123)
   a) Scenario: Map a node
    SMS Code: IDSET010
    Success Toast Message: Information message code- I056
    Failure Message: If the mobile device could not send SMS, below message should be
       displayed: Message: Error message code- E053
    Note: User can map multiple nodes at one time. The SMS should be sent one by one with 5
       seconds interval. Display one failure message for all SMS failures
Description:
1. This story covers SMS formats required for controller operation mode
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. SMS code applicable for View Controller – Customer (AT-384)
   a) Scenarios 1: If user selects SMS as Operation Mode
       SMS Code: IDSET031
       Success Toast Message: Information message code- I058. The same toast message applies
        for all operation modes
       Failure Message: If the mobile device could not send SMS, below message should be
        displayed: Message: Error message code- E056
45. SMS Communication – Operating Controller and Quick Menu
  (AT-254)
Description:
1. This story covers SMS formats required to switch the controller ON / OFF or get controller status
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. SMS codes applicable for below modules:
      I.    Home page – Dealer (AT-18) Customer Devices, My Devices and Shared Devices;
     II.    Home page – Customer (AT-19) My Devices and Shared Devices
    III.    Home page – Admin (AT-101) My Devices and Shared Devices
        Scenario: Controller ON or OFF
         If controller is switched ON, the ON/OFF button shall be disabled until SMS delivery is
            successful
         SMS Code: IDSET007
         Success Toast Message: Information message code- I001
           If controller is switched OFF, the ON/OFF button shall be disabled until SMS delivery is
            successful
           SMS Code: IDSET008
           Success Toast Message: Information message code- I002
Summary: As a user, I want to communicate with my controller to create, edit and reset zones
Description:
1. This story covers SMS formats required to create, edit and reset zones
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. The number of parameters is mandatory in all SMS formats. Zeros can be added if no value for
   any parameter. Please refer below example, zeros are added instead of third and fourth valve
   parameters
   Ex: IDZONESELP1001,123,124,000,000
5. SMS codes applicable for Add zone (AT-96)
    Scenario: Adding a new zone
    SMS Code: IDSET012 and IDSET014
    Success Toast Message: Information message code- I073
    Note: A zone can have valves and sensors. User can select all required nodes for a zone and
        save it in one step. But the SMS for valve and sensor are different. So valve SMS should be
        sent first followed by sensor SMS with 5 seconds interval
    Failure Message: If the mobile device could not send SMS, below message should be
        displayed: Message: Error message code- E059
6. SMS codes applicable for Edit / delete zone (AT-133)
   a) Scenario: Update an existing zone
    SMS Code: IDSET012 and IDSET014
    Success Toast Message: Information message code- I074
    Failure Message: If the mobile device could not send SMS, below message should be
        displayed: Message: Error message code- E060
Summary: As a user, I want to communicate with my controller to add nodes to the controller
Description:
1. This story covers SMS formats required for setting node IDs which are not added to zone
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
4. The number of parameters is mandatory in all SMS formats. Zeros can be added if no value for
   any parameter. Please refer below example, zeros are added instead of 2 fan parameters
   Ex: IDLIGHTFANSET,001,002,000,000
5. SMS codes applicable for Common ID settings (AT-182) – This module includes ID set for nodes
   which are not included in zone
   a) Scenario: ID set for the category Lights and Fans
    SMS Code: IDSET016
    Success Toast Message: Information message code- I060
       Failure Message: If the mobile device could not send SMS for any category, below message
        should be displayed: Message: Error message code- E063
6. SMS codes applicable for Common ID settings (AT-182) – This module includes view ID set for
   nodes which are not included in zone
   g) Scenario: View ID set for the category Lights and Fans
    SMS Code: IDSET017
    Success Toast Message: Information message code- I067
   h) Scenario: View ID set for the category Humidity and Temperature Sensors
    SMS Code: IDSET023
    Success Toast Message: Information message code- I068
       Failure Message: If the mobile device could not send SMS for any category, below message
        should be displayed: Message: Error message code- E064
1. SMS success toast message codes from I060 to I072 shall be ignored
2. Below toast message codes shall be used:
    I039 for Common ID set
    I040 for Reset common ID settings
    I035 for view common ID settings
3. Same common ID set SMS shall be used for ID reset also. Zeros shall be replaced in place of
   node serial numbers.
   Example: IDLIGHTFANSET,000,000,000,000 shall be used to reset common ID set for the
   category Lights and Fans
    SMS Code: IDSET016
    Success Toast Message: Information message code- I040
4. Similarly, point 5 in AT-256 shall be referred for other category SMS codes
Summary: As a user, I want to communicate with my controller to set service ON and OFF
Description:
1. This story covers SMS formats required for Service Request module
2. Whenever an SMS is sent from the app to controller, a toast should be displayed once message
   sent is successful
3. For all modules, the app shall send SMS after successful validation only
7. SMS codes applicable for Create Service Request (AT-134)
    Scenario: After service request created
    SMS Code: IDSET029
    Success Toast Message: Information message code- I077
    Failure Message: If the mobile device could not send SMS, below message should be
       displayed: Message: Error message code- E065
Summary: As an Agri-irrigation app, I want to synchronize data with server so that I can receive
latest data from server and vice versa
Description:
1. The app shall have a local copy of the database. Data collected by the app should be stored in
   both local database and server
2. Data from below modules should be stored in both local database and service in parallel. If the
   device could not connect to the server, the app data should not be stored in local database also.
       Create account / Profile
       Edit account / Profile
       Forgot Password
       Add Controller
       Edit Controller
       Delete Controller
       Add Node
       Edit Node
       Delete Node
       Add Sub-user
       Edit Sub-user
       Delete Sub-user
       Add Groups
       Edit Groups
       Delete Groups
       Add Zone
       Edit Zone
       Reset Zone
       Edit Mapped Nodes
       Chat
3. Data from below modules should be stored in local database first and then synchronized with
   server whenever the device gets connected to internet:
       All settings modules
       Service Request
4. The app shall retrieve data from local database for all view pages (including reports)
5. A cron job shall be created to check the server connectivity and synchronize the local database
   with server and vice versa if the app gets connected to the server
6. The job shall be executed every time when user opens the app and should be executed every 5
   minutes when the user is using the app
7. The job should perform below tasks:
       Match the records between server and local database for tables related to below modules:
        o   All settings modules
        o   Service Request
       Data difference should be determined based on timestamp. Data with earlier timestamp
        should be overwritten by data with latest timestamp
       The records which exists in the server but not in local database should be copied from
        server to local database
       The records which exists in the local database but not in server should be copied from local
        database to server
1. Data synchronization between local database and server shall be executed every time when
   user launches the app. When the user continues to use the app, it should check the internet
   connectivity constantly and synchronize data
2. For any particular table or record, always the latest update should be sent to the server
    Ex: If the initial value of SMS limit is 50 and it has been changed as below:
    24 January 2017 10:00 - 70
    24 January 2017 10:10 - 80
    24 January 2017 10:20 – 100
    The job shall send the value 100 to the server since it is the latest data
Summary: As a customer, I want to view the settings menu so that I can navigate thru it and do
controller settings
Description:
1. Please refer [Main
   Menu|https://iexemplar.atlassian.net/wiki/pages/viewpage.action?pageId=6717455] for menu
   structure
2. The list of items in main menu and sub menus should be as in the confluence image
3. The menu should be a list view. Upon tapping a menu option, it should take the user to
   corresponding sub-menu
4. Please refer below links for sub-menus:
    [Water Pump
        Controller|https://iexemplar.atlassian.net/wiki/display/AW/Water+Pump+Controller]
    [Agri-Irrigation|https://iexemplar.atlassian.net/wiki/display/AW/Agri-Irrigation]
    [Light Settings|https://iexemplar.atlassian.net/wiki/display/AW/Light+Settings]
    [Water Level
        Controller|https://iexemplar.atlassian.net/wiki/display/AW/Water+Level+Controller+Settin
        gs]
    [Green House
        Settings|https://iexemplar.atlassian.net/wiki/display/AW/Green+House+Settings]
    [Feedback Settings|https://iexemplar.atlassian.net/wiki/display/AW/Feedback+Settings]
    [View Settings|https://iexemplar.atlassian.net/wiki/display/AW/View+Settings]
5. Sub-menu list should be similar to main menu. The sub-menu may have another level sub-menu
   or a setting page
6. The setting pages shall have controls as given in confluence page
7. All input boxes should have place holders. The place holders shall be as below:
    Hour – HH
    Minute – MM
    Second – SS
    Other numeric values – display 9 for number of digits
        Ex: Placeholder for SMS Limit should be 999
    Target phone number – “Mobile number”
    Conference call number – “Customer care number”
    Controller SMS balance – “Mobile balance check number”
    Service number – “Mobile number”
    Voice feedback – “Mobile number”
8. The main menu should be configured based on the nodes purchased by the customer
   a) Below menu items should be provided by default:
         Water Pump Controller
         Feedback Settings
         View Settings
   b) If the user purchased at least one valve, the app shall display “Agri-Irrigation Menu”
   c) If the user purchased at least one light, the app shall display “Light Settings Menu”
   d) If the user purchased at least one flow meter sensor, the app shall display “Water Level
        Controller Menu”
   e) If the user purchased at least one sensor (any sensor), the app shall display “Green House
       Settings Menu”
9. The app should follow all menu items in below format:
    All menu items should be displayed in title case (first letter of each word should be in
       capital)
    All menu items should be left justified
    Page titles should be centered
     Updates in Agri-Irrigation UI
1.   Add the selected program name on top of the standalone screen
2.   Skip days - The number of digits to input has been changed from 3 to 1
3.   Rename the label “Valve cyclic restart” to “Zone cyclic restart”
4.   Changes in day count RTC timer page
5.   The format of display area for VIEW button has been changed:
      Earlier the view format was to extract data from SMS and display the same (Ex: High Level %
         and Low Level %)
      Now the change is to display the entire message in view area same as other view
      Changes done in below modules:
         o Program Settings <Program#> Water Level
         o Program Settings <Program#> Moisture Level
         o Program Common Settings  Adjust Percentage
         o Program Common Settings  Fertilizer Flow Calibration
6.   View mode page - Removed ON/OFF buttons and introduced dropdown and a view area
7.   Display goto settings icon in all sub-menus (not required for end pages). This icon should take
     the user to settings main menu
Summary: As a customer, I want to do settings so that I can operate my controller as per the
settings
Description:
Procedure:
1.    Assuming the customer already installed, used the app and quit it without logout
2.    Customer taps the app icon, splash screen gets displayed followed by the home page
3.    The app list all controllers which belongs to the customer
4.    Customer taps on a controller, view controller page shall get displayed
5.    View controller page gets displayed with controller details, nodes and programs tabs. Controller
      details tab has been selected by default
6.    Customer taps on SETTINGS icon. Settings page gets displayed with main menu
7.    Customer taps on LIGHT menu option. Light sub-menu gets displayed
8.    Customer taps on CONTROLLER SMS LIMIT menu option. The app takes the user to controller
      SMS limit page
9.    Customer turns ON the ON/OFF button and taps on SEND button. He/she receives toast
      message
10.   Customer inputs value for SMS limit and taps on SEND button. He/she receives another toast
      message
Description:
Summary: As a customer, I want to configure the settings menu so that I can have the frequently
used menus in my menu list
Description:
1. When the configuration page is displaying hidden settings, the user taps SEND button without
   selecting any menu item, the app shall display below message:
   Message: Warning message code- W055
2. When the configuration page is displaying active settings, the user taps SEND button without
   unchecking any menu item, the app shall display below message:
   Message: Warning message code- W056
Update on 3-Jan-17 (AT-270)
1. Configuration icon shall be displayed in all sub-menus except for the below:
    <Program#> - Time based
    <Program#> - Flow based
    <Program#> - Fertilizer
    <Program#> - Fertilizer Time based
    <Program#> - Fertilizer Flow based
    <Program#> - <Fertilizer#> Time based
    <Program#> - <Fertilizer#> Flow based
Description:
1. Popup page info for Settings → Light Settings → Date and Time: Information message code-
   I036
2. Popup page info for Settings → Light Settings → Check Signal Strength: Information message
   code- I037
3. Popup page info for Settings → Light Settings → Controller Status: Information message code-
   I038
Description:
Description:
Description:
Description:
Summary: As a customer, I want to access CCTV app so that I can observe my farm using phone
Description:
       Clarify my doubts
       Report an issue
       Check status of a service request
Description:
1. When user taps on Call option in navigation menu, the app shall take the user to select dealer
   page
2. Select dealer page shall contain below elements:
    Page title “Call - Select Dealer”
    Info icon with the message – “Please select a dealer to place a call”
    Navigation icon on top left corner of the page
    List of dealers from whom the customer purchased his devices
3. When user selects a dealer, the app shall place a call to the registered mobile number of the
   selected dealer upon confirmation
4. Confirmation message:
   Message: Confirmation message code- C017
5. When user taps the navigation icon or slides the slider menu, the app shall display navigation
   menu
Summary: As a customer, I want to see live update of my controller so that I know the complete
current status of my controller
Description:
1. When user taps on ‘Controller Status’ in quick menu, the app shall send live update SMS to the
   controller
2. SMS code as below:
   •       SMS Code: IDSET009 from [SMS for ID Settings
   link|https://iexemplar.atlassian.net/wiki/display/AT/Agritel+-+SMS+for+ID+Settings]
   •       Success Toast Message: Information message code- I054
3. The controller response against live update SMS should be displayed in a new page
4. The new page title shall be ‘Live Update’
5. The new page shall have an OK button. When user taps on the button, the app shall take the
   user to my devices page
Description:
6. Section – Zone status: This section should display below 3 particulars horizontally delimited by a
   white space:
   Ex: P1 ZONE=001 ON RT 02:10:00
      Program number – First 2 literals
      Zone number and status –
       o KW_Valve = “V=”
       o KW_ValveRT = ”VT=”
       o The app shall check for KW_Valve. If found, retrieve 6 literals after KW_Valve and
           display “ZONE=” followed by the extracted 6 literals
           Ex: ZONE=001 ON
       o If KW_Valve not found, display the string “ZONE OFF”
      Remaining Time – Extract 8 literals after KW_ValveRT and display “RT “ followed by the
       extracted result
       RT 02:10:00
7. Section – RYB: This section should display RYB values in three columns
     Column 1
        o Display 3 digits after “R=”. The label shall be “R”
        o Display 3 digits after “Y=”. The label shall be “Y”
        o Display 3 digits after “B=”. The label shall be “B”
     Column 2
        o Display 3 digits after “RY=”. The label shall be “C1”
        o Display 3 digits after “YB=”. The label shall be “C2”
        o Display 3 digits after “BR=”. The label shall be “C3”
     Column 3
        o Display the decimal number after “RA=”. The label shall be “RA”
        o Display the decimal number after “YA=”. The label shall be “YA”
        o Display the decimal number after “BA=”. The label shall be “BA”
        o All decimal numbers would contain 2 digits and 1 decimal place with decimal separator
            (00.0)
     Ex:
        R 280 C1 230 RA 30.1
        Y 310 C2 140 YA 52.2
        B 200 C3 240 BA 41.4
8. Section – CSQ & GPRS:
     Display 3 digits after “CSQ=”, the label shall be “CSQ”
     GPRS shall be displayed in the same line next to CSQ. It shall be single digit after “GPRS=”
     Ex: CSQ 016 GPRS 1
9. Section – SMS Count:
     Display 3 digits after “LIMITSMSCOUNT=”. The label shall be “Limit SMS Count”
        Ex: Limit SMS Count 080
10. Section – TCP Status:
     Extract the value between the string "TCPSTAT=" and “M”. The result shall be displayed
        without white space. The label shall be "TCPSTAT”
     Ex: TCPSTAT GPRS
11. Section – Additional content:
     Display the complete content after display area content (i.e.) after third occurrence of
        comma (,) except the page indicator
     Ex: WPS MODE=ON
        TIMER-100
        FLOW-080
        MOISTURE-090
        FERT-070
        MOISTURE MODE ON
Summary: As a controller, I want to toggle pump ON/OFF status in the app automatically
Description:
1. Controller ON/OFF button in home page shall be turned OFF when controller sends message
   with below codes: 03, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 37, 38, 39, 40, 41, 42, 43, 101, 102,
   103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113 and 114
2. The button should be turned OFF if the button is ON
3. Controller ON/OFF button in home page shall be turned ON when controller sends message with
   below codes: 01, 02, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
4. The button should be turned ON if the button is OFF
5. If controller ON/OFF button was automatically changed to OFF due to any of the error message
   codes, following manual ON message should be sent as below:
    Motor OFF message followed by motor ON
6. Error message codes: 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113 and 114
Summary: As a customer, I want to chat with my dealer so that I can get my issue(s) resolved
Description:
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. Customer taps the app icon, splash screen gets displayed followed by the home page
3. The customer taps on menu icon or swipes the screen from left edge to right to see the
   navigation drawer menu
4. The customer taps on the Chat option in the drawer menu
5. The app takes the user to customer service chat – customer page. No chat message displayed.
   Below message got displayed:
   Message: Information message code- I049
6. Customer taps on new message icon, the app navigates to select dealer page
7. Customer selects a dealer and taps SUBMIT button, the app navigates to chat user page
8. Customer inputs the change message and taps SEND button
9. The message has been sent to the selected dealer and all admin users. The message got
   displayed in chat user page also
   Chat page
3. Bullet point 3 in original message should be as below:
   Chat message list shall display:
    The customer name, date and time in first row
    Chat message and number of unread messages in second row
4. The number of unread messages should be highlighted
5. The chat message list shall be sort by date and time in descending order
   Chat page
1. First row of the chat message list shall contain dealer or admin name whoever replies to the
   customer request
Summary: As a dealer, I want to view customer messages and respond to the same so that I can
answer to the customer queries or solve their issues
Description:
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. Dealer taps the app icon, splash screen gets displayed followed by the home page
3. The dealer taps on menu icon or swipes the screen from left edge to right to see the navigation
   drawer menu
4. The dealer taps on the Chat option in the drawer menu
5. The app takes the user to customer service– dealer chat page
6. The list of customer names and corresponding chat messages are displayed
7. The dealer taps on a chat card, chat user page got displayed with the chat messages sent
   between the dealer and the customer
8. The dealer enters a response in the input box and taps SEND button
9. The message got displayed in the message display area
Summary: As an admin, I want to view customer messages and corresponding dealer response so
that I can answer to customer pending queries or solve their issues
Description:
3. Chat – By Dealer page shall contain below elements:
     The page title shall be “Chat – By Dealer”
     Menu icon
     List of dealer names
4. Chat message list shall display dealer name and number of unread messages
5. The number of unread messages is among all customers for a dealer
6. Dealer list shall be sort by number of unread messages in descending order
7. When user taps on a dealer name card, the app shall take the user to Chat – By Customer page
8. Chat – By Customer page shall contain below elements:
     The page title shall be “Chat - <Selected dealer name>”
     Back button
     List of chat messages
9. Chat message list shall display:
     The customer name, date and time in first row
     Chat message and number of unread messages in second row
10. The number of unread messages should be highlighted
11. The font style of customer name should be bold
12. The chat message list shall be sort by date and time in descending order
13. The latest received chat message between the selected dealer and customer should be display
    in single line (if the message exceeds one line, … should be displayed at the end)
14. When user taps on the chat card, the app shall take the user to chat user page
15. If no chat message in the chat page, below message shall be displayed:
      Message: Information message code- I079
16.   Chat user page shall contain below elements:
       Page title “Chat - <Customer name>”
       Back button
       Dealer tab
       Admin tab
17.   Back button should be displayed on top left corner of the page. If user taps on the back button,
      the app shall take the user to previous page
18.   Dealer tab shall contain Message display area
19.   Admin tab shall contain below elements:
       Message display area
       Message input field
       SEND button
20.   Message display area in both dealer and admin tabs shall display all chat messages in detail
21.   Each message shall be displayed in below format
      “<Sender name>: <Message>” (a white space should follow the colon)
22.   Sender name can be customer and dealer / customer and admin based on the tab selection
23.   The app shall display time at the end of each message
24.   The messages shall be grouped by date. The date shall be displayed on top of each group
25.   The message should be sort by date and time in ascending order
26.   The font style of sender name should be in bold
27.   Message Input field
28.   The app shall allow admin to input new message in the input box
29.   The input box shall have a clear icon to clear the input box content
30.   When user taps the SEND button, the app shall send the message to the selected customer
31.   The message should be pushed to the customer
Procedure:
1. Assuming the user already installed, used the app and quit it without logout
2. Admin taps the app icon, splash screen gets displayed followed by the home page
3. The admin taps on menu icon or swipes the screen from left edge to right to see the navigation
    drawer menu
4. The admin taps on the Chat option in the drawer menu
5. The app takes the user to customer service– admin chat page
6. The list of dealer names with number of unread messages got displayed
7. The admin taps on a dealer name, the app takes the admin to Chat – By customer page
8. Chat – By customer page displays the list of customer names and corresponding chat messages
9. The admin taps on a chat card, chat user page got displayed with the chat messages sent
    between the dealer and the customer
10. The admin taps on admin tab and enters a response in the input box and taps SEND button
11. The message got displayed in the message display area
12. The same message is being sent to the customer
Summary: As a customer, I want to configure WI-FI module so that I can communicate with
controller without sending SMS
Description:
   1. The launch point for WI-FI configuration is Settings  Water Pump Controller
      Installation settings  WI-FI configuration
   2. The page title shall be “WI-FI Configuration”
   3. Back icon should be displayed on top left corner of the page. If user taps on the back icon,
      the app shall take the user to previous page
   4. This page shall have below input fields:
       WLAN SSID
       WLAN PASSWORD
       TCP IP
       TCP PORT
       MY WIFI SSID
       MY WIFI PASSWORD
       APN NAME
       Device IP
       Device Port
   5. Validation for input fields shall be as below:
       a) Value of below fields shall be alphanumeric uppercase characters and the maximum
          number of characters the app should allow is 32:
           o   WLAN SSID
           o   MY WIFI SSID
           o   APN NAME
       b) Value of below fields should be characters with combination of lower-case, upper-case,
          and Unicode. The maximum number of characters the app should allow is 20:
           o   WLAN PASSWORD
           o   MY WIFI PASSWORD
    c) Value of TCP IP and Device IP fields shall be combination of digits and dots (.). The
       maximum number of characters the app should allow is 21
    d) Value of TCP and Device PORT fields shall be digits and the maximum number of
       characters the app should allow is 10
6. All controls shall be arranged in four sections as shown below:
       Section 1: WLAN SSID and password with a SEND button
1. GET IP button shall be provided after section 5. The response for GET IP button should be
   displayed in a controller response area below the button
         Scenario 1: Controller and app both are within same local network (Communication
          between app and controller is via router)
Description:
1. The app should read controller responses via all operation modes
2. SMS response format for status and fault conditions:
       Message code: Information message code- I067
3. WIFI socket response format for status and fault conditions:
      Message code: Information message code- I072
4. If the message received via SMS, app should:
    Check whether first 5 literal in the message are digits, then it would be a controller status or
        fault message
    Extract last 3 digits from the 5 digits, the result is the message code
    Check sender SIM number and retrieve corresponding controller code from the app. The
        message should be stored under that controller code
5. If the message received via WIFI:
    Delim_Code = “ $D,”
    If the message contains the string Delim_Code, then it would be a controller status or fault
        message
    Look for the string Delim_Code and retrieve the string preceding Delim_Code. The result is
        controller code
    The message should be stored under the extracted controller code
          Retrieve 5 digits after the string Delim_Code. Extract last 3 digits from the 5 digits, the result
           is the message code
6.    If the message is a static status or fault message, it would contain:
       Five digit numeric codes instead of complete description
       Date, time and other real-time details
7.    Example:
       Description for the error message code 101 is “MOTOR OF BECAUSE OF STARTER TRIP
           MOTOR STARTED WITH 3 PHASE ,(MSG)”
       But the controller response is “31101 TRIP-1 DATE=01/01/04 TIME=00:03:31
           FROM:NIAGARA MT = 00:02:11-006/000” which does not have the error description
8.    If the message is a dynamic status or fault message, it would contain:
       Five digit numeric codes
       Complete description
       Date, time and other real-time details
9.    Example:
       Description for the status message code 044 is “P1 ZONE= 999 CLOSE ZONE= 999 OPEN
           TIM=00:00:00”
       Controller response is ”57044 P1 ZONE= 001 CLOSE ZONE= 002 OPEN TIM=00:00:00
           DATE=01/01/04 TIME=00:03:57 FROM:NIAGARA MT = 00:02:11-006/000”
10.   The app should extract the code from the message string and retrieve corresponding message
      description from [Controller Status or Fault Messages
      Page|https://iexemplar.atlassian.net/wiki/display/AT/Controller+Status+or+Fault+Messages]
11.   The message codes from 001 to 100 are status messages from controller
12.   The message codes from 101 to 120 are fault messages from controller
Summary: As a customer, I want to view controller fault messages so that I can take necessary
action
Description:
1. The alert icon in home page shall be changed to button with alert image
2. The new alert button should show the number of new messages as superscript, if any
3. Please refer [Agritel – Controller Status or Fault
   Messages|https://iexemplar.atlassian.net/wiki/display/AT/Controller+Status+or+Fault+Message
   s] for controller fault messages
4. The alert button in home page shall display the number of latest unread messages (with fault
   condition only) from the controller
5. When user taps on alert button in home page, the app shall take the user to controller fault
    messages page
6. The page title shall be “Controller fault messages”
7. The page shall have a back button on top left corner of the page. When user taps on the button,
    the app shall take the user to previous page
8. Once user navigates back to home page, the alert button count should be zero until a new
    response received from the controller with fault condition
9. Controller fault messages page shall display fault messages only
10. The page shall display latest 50 messages. It shall include both old and new messages
11. The new messages should be differentiated from old messages until it is read by the user
12. Message code shall be extracted using the logic in AT-381
13. Look for message description in confluence page using the message code
14. This page shall display the list of message description retrieved from confluence page followed
    by the actual message with comma delimiter
    Ex:
    AUTO ON POWER ON MOTOR ON MOTOR STARTED WITH 3 PHASE, 09001 DATE=29/03/2017
    TIME=11:03:31 OPERATED BY:7373745677 FROM:NIAGARA MT = 00:02:11-006/000
15. The list shall be sort by message sent (by the controller) timestamp in descending order
16. The list shall contain
     Received timestamp left aligned in first row
     Message description in second row
17. Timestamp format shall be the date followed by time which would be in the controller message.
    Timestamp font style shall be bold
    Ex: 29/03/2017 11:03:31
 Pump Runtime
          Zone Runtime
          Fertilizer Pump Runtime
          Green House Runtime
          Standalone Zone Runtime
          Mapped Nodes
          Moisture Sample
          Send and Receive Messages
  4. When user taps on a menu element, the app shall take the user to corresponding report
  5. Mobile app should call responsive web page of all above reports based on the date criteria.
     Please refer report stories (AT-395, AT-390, AT-396, AT-435, AT-355, AW-40, AW-41, AW-42)
     for date criteria
  6. The page shall have a back button on top left corner of the page. When user taps on the
     button, the app shall take the user to previous page
  7. The reports icon in quick menu should also take the user to reports page
  1. Drip common settings: Rename Valve scan to Valve in Common valve scan page
  2. Agri-Irrigation: Fertilizer time in program settings should be in minutes and seconds
  3. Green House: View message added for Program Start from page (Change in SMS only not
     new)
  4. Agri-Irrigation: View added for fertilizer flow calibration in Program common settings
  5. Drip Common Settings:
      a) View added for Maintain PH value
      b) ON/OFF button added for Program Cycle Selection
      c) View added for Program Cycle Selection
  6. Agri-Irrigation: Remove below pages in Program Common Settings:
      a) Time mode
      b) Flow mode
      c) Moisture mode
      d) Level mode
      e) View mode
      f)   Sensor rate
      g) Flow calibration
      h) Level calibration
      i)   Moisture calibration
      j)   Light Density calibration
7. Agri-Irrigation: Calibration sub-menu for Program Common Settings can be removed
8. Agri-Irrigation: New menu list for Program Common Settings is as below:
    a) Adjust Percentage
    b) CT PT Calibration
    c) Fertilizer Calibration
    d) Green House Calibration
9. Agri-Irrigation: New page shall be added in program settings. The page shall have 3 sections
   with below controls:
    a) Section 1: Mode ON / OFF
        Dropdown with options - Timer, Flow, Level and Moisture. Default is Timer
        ON/OFF button
        SEND button. When user taps on send button, ON/OFF shall be send to the
           controller for the selected mode
    b) Section 2: Sensor Rate ON / OFF
        Labels - Flow, Humidity, Temperature and Moisture
        Four ON / OFF buttons for each label
        SEND button for each label. When user taps on send button, ON/OFF shall be send
           to the controller for the corresponding mode
    c) Section 3:
        VIEW and CANCEL buttons
        When user taps on VIEW button, SMS should be sent to the controller and response
           should be displayed in view area
10. Feedback Settings: SMS changed for Complete Controller Status
11. View Controller page:
    a) View icon for Operation mode SMS. When user taps on it, view SMS should be sent and
       response should be displayed in a view area
    b) A new operation mode should be added with ON/OFF button – SMS Application Mode
12. Light Settings:
    a) New page for entering Latitude and Longitude values
    b) The app shall allow user to input numeric values between 0 and 99
    c) The app shall allow positive values only
13. Water Pump Controller: SMS changed for below pages in Installation Settings module:
    a) Conference call
    b) Register for service
      c) Target Registration
  14. Green House Settings: SMS changed for below pages:
      a) Humidity
      b) Temperature
      c) Light Density
      d) Program Cycle Selection
  15. Green House Settings: View added in Light Density page
  16. Label rename:
      a) Green House: Rename the labels Program <#> to Program Cycle <#> in Program Cycle
         Selection page
      b) Green House: Add the label "Green Program Cycle" for ON/OFF button in Green House
         RTC Timer page
      c) Feedback and Light Settings: Rename the label SMS Limit to SMS Limit per Day
         Timer Mode
         Flow Mode
         Moisture Mode
         Level Mode
         View Mode
         Sensor Rate
         Calibration
  3. Program common settings module can be navigated thru program settings menu. User can
     select a program number before navigating to program common settings. The selected
     program number shall be displayed in below pages along with the title:
         Timer mode
         Flow mode
         Moisture mode
         Level mode
  4. Similarly program number shall be displayed in sensor rate page
  5. SMS for below pages has been changed, please refer [Agri-irrigation
     SMS|https://iexemplar.atlassian.net/wiki/display/AW/SMS+-+Agri-Irrigation] for updated
     SMS codes:
         Timer mode
         Flow mode
         Moisture mode
         Level mode
         Sensor Rate
  6. Below pages shall be removed from the application. It is no longer required:
         Flow calibration
         Level calibration
          Moisture calibration
1. Below format should be followed for all success messages in settings module:
   a) If SMS triggered for ON with SEND button, the message can be in below format:
       “<Page title> ON controller message sent”
   b) If SMS triggered for OFF with SEND button, the message can be in below format:
       “<Page title> OFF controller message sent”
   c) If SMS triggered for just SEND button, the message can be in below format:
       “<Page title> controller message sent”
   d) If SMS triggered for VIEW button, the message can be in below format:
        “View <Page title> controller message sent”
   e) Below are exception pages:
        Installation Settings  Status SMS page: “Status SMS ON sent” or “Status SMS OFF
           sent”
        Installation Settings  Controller SMS Balance: “Controller SMS balance value sent”
        SMS for Feedback settings  SMS page
           o ON SMS message: “SMS ON Sent”
           o OFF SMS message: “SMS OFF Sent”
        SMS for Feedback settings  View Valve Condition page: “View valve condition sent”
        SMS for Feedback settings  View Test page: “View test sent”
        SMS for Feedback settings  View Setting for DNDSMS page: “View Setting for
           DNDSMS sent”
        SEND button in Feedback Settings, Light Settings  Controller SMS Limit: “Controller
           SMS Limit ON sent” or “Controller SMS Limit OFF sent”
        Input value and tap SEND button in Feedback Settings, Light Settings  Controller SMS
           Limit: Controller SMS Limit sent
        View button in Feedback Settings  Controller SMS Limit: View controller SMS Limit
           sent
        When user taps on GET HUMIDITY button in Green House settings  Humidity
           Temperature Calibration page, message should be: “Get Humidity controller message
           sent”
        When user taps on GET TEMPERATURE button in Green House settings  Humidity
           Temperature Calibration page, message should be: “Get Temperature controller
           message sent”
          If SMS triggered for VIEW button with page title “View Set <n> where n represents a
           numeric values from 1 to 11, the message can be in below format:
            “<Page title> controller message sent”
        The app should receive zone number input from user. The zone number should be 3 digits
   and maximum value should be 128. The zone number should be sent to the controller using
   message code: 22 in [Drip Common
   Settings|https://iexemplar.atlassian.net/wiki/display/AW/SMS+-+Agri-Irrigation#space-menu-
   link-content]
       The app should allow user to toggle voice feedback and send the same to the controller.
   Message code: 24 in [Installation
   Settings|https://iexemplar.atlassian.net/wiki/display/AW/SMS+-+Water+Pump+Controller]
Summary: As a customer, I want to configure error notification so that I can suppress unwanted
message in my inbox (fault message page)
Description:
Description:
8. The app throws server error during the process of node unmapping
   a) Server error is due to poor network connection. The device should be connected to
      uninterrupted network
Comments:
    1. Label for ON/OFF button: CCTV access
    2. Label for app URL: CCTV Link
    3. Place holder for app URL input box: Please enter CCTV Link