1. Login
    1. Summary
      1. Implementation of Login and its functionalities
    2. Admin login is based on yard and shall not have complete access and permission to make changes/updates to the assets of another yard
      1. The admins of a selected yard shall have access to all the modules of the application as per their functionalities
    3. Description
      1. Username
      2. Password
      3. Forgot Password
        1. Enter email id and click Submit.
          1. Create new password from email inbox link
      4. Login button
        1. Onclick will validate authentic Admin and open Dashboard screen
        2. Invalid credentials is helped ut with Forget password
  2. Slidemenu
    1. Summary
      1. Implementation of Slidemenu
    2. Slidemenu will have the following modules
      1. Dashboard
      2. Train List Inspectiona
      3. Users
      4. Yards
      5. Inspections
      6. Generate reports
      7. Dcuments
    3. Header, Footer and Left panel remains the same throughout the site
  3. Dashboard
    1. Summary
      1. Implementation of Dashboard and its functionalities
    2. Total number of inspections created in this system so far is displayed as a 'Number'
    3. Total number of inspections completed in this system so far is displayed as a 'Number'
    4. Has the following information with search, sort
      1. Inspection ID
      2. Yard name
      3. Train name
      4. Track Number
      5. Rail cars (configuration)
      6. Inspection Date
      7. Status
      8. QC Check
        1. Need more info from client
      9. Auditor Status
        1. Need more info from client
      10. Inspections are listed here in the dashboard only if their inspections have been marked as started by the Inspectors.
    5. Filter: filter can also be applied based on date and time. So that admin can check what are the inspection that have passed and still valid for next hours
    6. Detail View
      1. Clicking on one of the listed inspections in the dashboard, the user shall be taken to the detail view of that Inspection
        1. The details view shows the following
          1. Inspection ID
          2. Inspection Status
          3. Inspection Started
          4. Orange Color
          5. Inspection Passed
          6. Green Color
          7. The inspection is valid for upto 24hrs
          8. Inspection can be started again for the same consist anytime? Also within 24 hrs without being serviced?
          9. Defect Reported
          10. Red Color
          11. Allowed to be serviced with exception
          12. Not allowed for servicing
          13. The defects are fixed and notified to the admin
          14. Admin will Re-initiate the inspection for the same inspection ID
          15. Inspection failed: should we have this status?
          16. Rail Car configuration
          17. Kinds of test assigned (this is for the entire inspection and not for individual cars. Will there be tests assigned for particular cars only in a consist?)
          18. Brake Test
          19. Cab Signal Test
          20. Daily Inspection
          21. More...
          22. On select of an individual car from the consist, the history of the car is displayed
          23. The inspection details with the inspector name and time stamp
          24. Inspection status
          25. Defects if found any with pictures/documents if available
          26. If the car has a green outline, it means the car has passed with individual car inspection alone. If the entire train goes solid green, then it means the brake/cab signal tests also have been passed
          27. Inspector name with time stamp
        2. Back to Dashboard: takes the user to the main dashboard
    7. No information here is editable by the admin. The entire dashboard is read only.
      1. Validity of the inspection shall be displayed
  4. Generate reports
    1. Summary
      1. Implementation of Generate reports
    2. By providing details in one or more of the given fields, the user can generate the reports
      1. Type of report
        1. Type of report and their formats have to be given by the client
          1. ME-10
          2. Harmon Yard check sheet
          3. Car history report - 2C
      2. Inspection date
      3. Inspection name/ID
      4. Inspector/Employee name
      5. 'Generate' button
        1. Based on the details provided the report shall be generated
      6. 'Reset' button
        1. Resets the information provided in one or more fields
  5. Profile
    1. Summary
      1. Implementation of User Profile and its functionalities
    2. Description
      1. Name Email id Contact no Role Status
        1. None of these data are editable
      2. Change Password
        1. The user can change the password by giving the current password, the new password and confirming the new password
  6. Logout
    1. Summary
      1. Implementation of Logout and its functionalities
    2. Description
      1. On click of logout, a confirmation pop-up is displayed
        1. Upon confirmation, the user shall be logged out of the system and taken to login screen
  7. Inspections
    1. Summary
      1. Implementation of Inspections module and its functionalities
    2. List View
      1. Has the following fields with search, sort and filter
        1. Serial Number
          1. Number assigned in ascending order for the inspections created
        2. Inspection Name
        3. Craft
          1. The name of the craft under which the inspection falls
      2. Detail view icon
        1. Takes the user to the detail view of the selected inspection
          1. Displays the the details of the selected inspection in the form of flow chart
        2. Edit?
        3. Delete Icon: Allows the user to delete the inspection record
        4. Export
          1. Exports the selected inspection as a flow diagram
      3. Delete Icon: Allows the user to delete the inspection record
      4. Export
        1. Exports the list of all inspections available in the system
    3. Add Inspection
      1. A pop-up is displayed with the following fields
        1. Inspection name: we don't need this
        2. System
          1. The user can pick the existing System name available in the application
          2. Add System
          3. If the admin wants to add a new System to the application, he can click on add System and give name to it
        3. Add Components
          1. The user can pick the existing System name available in the application
          2. Add Component
          3. If the admin wants to add a new Component to the application, he can click on add component and give name to it
          4. If a new component is being added, under what system does that component come is also important and mandatory
        4. Add Defects
          1. The user can pick the existing System name available in the application
          2. Add defect
          3. If the admin wants to add a new Defect to the application, he can click on add defect and give name to it
          4. If a new defect is being added, under what component and system does that defect come is also important and mandatory
        5. Craft
          1. The admin has to pick the crafts available in the system. More than one craft can be mapped to an inspection. New crafts cannot be added to the system through this module
        6. Save
          1. All of the above four information is mandatory to create an inspection. Once provided, it can be added to application by clicking on save.
        7. Cancel
          1. Any information provided shall be discarded and the user shall be taken to the previous screen if clicked on cancel
    4. Sub menu
      1. Takes the user to tabs of the following, where the user can switch tabs directly from this screen and from the slide menu
        1. System
        2. Component
        3. Defect
        4. Displays the list of items under each tab with their names and an option to delete
    5. When a new inspection/defect/system/component is added to the system from a admin belonging to a particular yard, should the same be updated all over the system across all yards?
  8. Documents
    1. List view
      1. List of all documents with their names and the craftsmanship
        1. With search, sort and filter
        2. View icon: Displays the document Delete Icon: Allows the user to delete the document
          1. Supported document formats?
        3. Delete Icon: Allows the user to delete the document record
      2. The documents shall be displayed in alphabetical order
    2. Upload Document
      1. Has the following fields to which the details have to be provided to successfully upload a document by clicking on the upload button
        1. Craft
        2. Title(non-mandatory)
        3. File
        4. Description(non-mandatory)
      2. Cancel: Any information provided shall be discarded and taken to the main screen of documents
  9. Users
    1. Summary
      1. Implementation of Users and its functionalities
    2. List View
      1. Has the following fields with search, sort and filter
        1. Employee ID
        2. Name
        3. Email ID
        4. Phone number
        5. Craft
        6. Certification date
          1. When the certification is about to expire, 1 month in advance both admin and employee shall be notified. The same notification shall be sent 15 days before and 7 days before.
          2. On the day of expiry of certification both admin and employee shall be notified that certification has expired.
          3. Once the certification expires, the user cannot be assigned to any inspections
          4. Should we also not let him complete the ongoing inspections if any? or/and log him out of the system? and allow him to login only after the certification date is updated?
        7. Yard
        8. Division
        9. Agency
      2. Edit icon: Allows the admin to edit the employee details/information
      3. Delete Icon: Allows the user to delete the employee record
    3. Add User
      1. The following information has to be provided to successfully add a user
      2. Save Button: saves the information and the employee is added to the system Cancel: Any information if provided shall be discarded and the admin shall be taken to the main screen.
    4. Download template
      1. To upload the employees in bulk, a template shall be provided, where the admin has fill in the details and upload the employees in bulk to the system.
        1. Is there a restriction on how many can be uploaded at a time? eg: 100?
    5. Bulk Upload
      1. A pop shall be displayed where the admin can upload the file of list of employees by adding the file and clicking on upload
        1. The file should follow the format to be successfully uploaded else, validation error shall be displayed.
        2. Supported file formats are: xls, xlsx, xlsb, xlsm
      2. Cancel: closes the pop-up and takes the admin to the main screen.
  10. Yards
    1. Summary
      1. Implementation of Users and its functionalities
    2. List View
      1. Has the following fields with search, sort and filter
        1. Yard ID
        2. Yard Name
        3. Number of tracks with their ID/names
          1. How many cars can fit under each track at maximum
          2. More cars than the maximum given number cannot be assigned under that track
          3. There can be multiple trains in a single track
      2. Edit icon: Allows the admin to edit the yard details/information
      3. Delete Icon: Allows the user to delete the yard record
    3. Add Yard
      1. The following information has to be provided to successfully add a user
      2. Save Button: saves the information and the employee is added to the system Cancel: Any information if provided shall be discarded and the admin shall be taken to the main screen.
  11. Train List Assignments
    1. List View
      1. The list view consists of the following information with search, sort and filter(filter by date, employee, number of rail cars)
        1. Inspection ID
          1. A system generated ID when a new inspection task is created
        2. Inspection Date
          1. The date on which the inspection is created
        3. Yard name
        4. Train name/number
        5. Track number
        6. Rail Car Configuration
          1. This can range between to 5-12 cars in a consist
          2. Only the cars from the good cars section can be picked to create a consist
        7. Assign Inspector
          1. If the inspectors are assigned, then the column will show as 'Assigned'
          2. When clicked on it, the user will be taken to the Inspectors list screen with inspectors names for the selected inspection
          3. If inspectors are not assigned, then the column will show as 'Assign'
          4. When clicked on it, a pop-up shall be displayed with pre-populated values of the inspection task
          5. Following are the fields based on the crafts of the employees
          6. Electrician
          7. Machinist
          8. Cleaner
          9. Servicer/Lavatory
          10. Laborer
          11. DACMO
          12. Foreman General
          13. Foreman
          14. General Foreman
          15. Superintendant
          16. More then one inspector can be selected from the dropdown based on their craft. The employee name can also be searched in the respective fields. All these employee names are coming from the Users module.
          17. Save
          18. Saves the information provided and those inspectors are assigned to the selected inspection
          19. Cancel
          20. Any or all information provided on inspectors shall be discarded and the user shall be taken to the previous screen
          21. One inspection can be assigned to two or more employees of different crafts
        8. Validity of the inspection: in count down hh:mm
        9. Action
          1. View
          2. Takes the user to the detail view on the created inspection
          3. The inspection task details are displayed along with the car configuration
          4. Under what conditions the details of the Inspection should allowed to be edited and not edited? Is this inclusive of editing the inspectors?
          5. The details shall not be allowed to be edited if the inspection has passed
          6. If inspection has failed/defect found, editing is allowed
          7. The car is allowed to be replaced by moving the defective car to the Maintenance and picking a different car from the inventory
          8. The consist/the same inspection ID has to go through inspection again because the cars have been replaced
          9. If the inspection is under progress, editing will not be allowed
          10. Delete: Under what conditions the inspection record can be deleted?
          11. Delete
          12. Allows the user to delete the inspection task record upon confirmation
          13. The admin cannot delete the inspection passed records
          14. The admin cannot delete the defect reported records
    2. Inspector List
      1. This is a list of inspection tasks created with the inspectors names for each of the inspections
        1. This contains the following information with search, sort and filter
          1. Inspection ID
          2. Inspection Date
          3. Yard name
          4. Train name
          5. Train number
          6. List of inspector names under their respective crafts
          7. Only the inspectors information from this screen is editable. Any required changes have to be made by clicking on the edit icon provided at the end of the table.
    3. Add train should be renamed to Create Inspection task?
      1. Create Inspection
        1. Clicking on this button takes the user to a screen where the admin is expected to provide the information of listed fields
          1. Select Yard: This will be by default the schedulers' yard only? this should not be allowed to pick from the dropdown or edit?
          2. Inspection date
          3. Train Number (not mandatory)
          4. Select Track (should this be mandatory?)
          5. The track number/ID has to be picked from the dropdown options.
          6. The track numbers/ID will be added in the DB directly by the developer. The admins cannot add the new tracks by themselves
          7. More cars than the maximum given number cannot be assigned under that track
          8. Assign Inspector
        2. The inspection for the same train can be created in different yard, as long as the inspection in the previous yard is completed.
      2. Select Cars
        1. The cars can be dragged and dropped in the configuration space provided beside the inventory,
          1. Even after adding the cars in the configuration space, they can be re-arranged as and how required
          2. If the selected car is part of the couple-cars, then by selecting one car, automatically the other car also gets selected and shall be shown in the arrangement
          3. The head ends of the consist is represented with small triangles in the configuration space.
          4. Rail cars can range between 5-12 only
      3. Inventory
        1. Search: The cars can be searched using the search bar provided under the inventory section.
          1. The search result will show the car id if it's available in the inventory. The car can belong as follows
          2. To the same yard
          3. Whether the car is under the good section or under maintenance
          4. To a different yard, then yard name shall also be displayed
          5. If not found, a error message shall be displayed
        2. This has two main sections
          1. Good cars
          2. List of cars that belong to the selected yard and can be used to make a consist
          3. Once the cars are added to the train and they are not available to make another consist and cannot be a part of another inspection until it is dis-assembled from the existing inspection
          4. Under Maintenance
          5. List of cars that belong to the selected yard and cannot be used to make a consist
          6. The cars here shall be fixed and notified to the admin
          7. The cars can be moved between the two sections by confirming their action while doing so. If it's a couple-car then both of them will be transferred between the sections.
          8. By selecting a car (in both the sections) and clicking on the delete icon, the car shall be deleted upon confirmation from the admin
          9. For a couple-car, deleting a car will only delete the selected car from the two, and the other one will continue to remain in the one of the two sections, unless coupled with another car.
          10. By clicking on detail icon beside the selected car, the admin can goto the history of the rail car
        3. The replaced cars from a train might now belong to the yard where the inspection is created, though the car belonged to a different yard until yesterday/previous inspection
        4. An option to pair the cars in the inventory space
      4. Save
      5. Cancel
      6. Add Car
        1. A pop-up is displayed
          1. Car ID should be provided and is mandatory field
          2. Is there a format for CAR ID?
          3. Make a couple car
          4. This enables the admin to add another car and pair them both.
          5. Save
          6. Saves the information provided
          7. Cancel
          8. Any or all information provided on inspectors shall be discarded and the user shall be taken to the previous screen
        2. The added car belongs to the inventory of which yard admin has added it. Though it will be visible to other yard admins.
          1. By default all the cars added, are assumed to be in good condition and shall be added to the inventory under the good cars section
    4. Detail view
      1. Shows the available information of the inspection selected
      2. Displays the configuration of the train/inspection
        1. If the car has a green outline, it means the car has passed with individual car inspection alone. If the entire train goes solid green, then it means the brake/cab signal tests also have been passed
      3. If the car/s are dis-assembled and re-assembled, the inspection has to be re-inititated
        1. The inspection cannot be closed or passed without re-initiating the inspection
      4. This has re-initiate and dis-assmble buttons
  12. Crafts
    1. The crafts in the system are directly added to the database through backend. There's no feature to add the crafts later for the admin. Even in the future, if a new craft has to be added to the system, it should be done by the developers only.