Create and Manage Annual Maintenance Contracts (AMC)
Monitoring the AMC Dashboard
- Given I am logged into the system and navigate to the "AMC" module,
- Then I must see a top summary ribbon that alerts me to upcoming contract expirations, specifically displaying metrics for:
- Total AMC
- AMC Due 7 Days
- AMC Due 15 Days
- AMC Due 30 Days
- And I must see a searchable and filterable data grid containing all AMC records.
- And the data grid must display the following columns: Doc No, Customer Name, PAID/Free (visual badge), Status (e.g., Active / Running), AMC Start Date, AMC End Date, Renewal Date, Next Visit Due On, Next Action Date, Assigned To, and Last Visit Date.
- And I must be able to click on a specific "Doc No" hyperlink to view the detailed contract record.
Navigating to AMC Creation and Linking Master Data
- Given I am on the AMC Dashboard,
- When I click the primary "+" (Add) button,
- Then I am navigated to the AMC creation form.
- And the system must auto-generate a unique document number in the "Doc No" field (e.g., AMC-00006) which should be read-only.
- And I must be able to select the target client from the "To Customer" dropdown, with an adjacent "+" quick-add button to create a new customer record if they do not exist.
- And I must be able to link this AMC to an existing quotation via the "From Quotation" dropdown.
- And I must be able to select the specific "Lift" associated with the contract and preview its details using the eye icon.
Configuring Contract Terms and Scheduling
- Given I am filling out the AMC form,
- Then I must select the "AMC Source" (Required).
- And I must define the payment structure by selecting the "Billing Frequency" and defining if the contract is "AMC Paid" or Complimentary (Required).
- And I must establish the contract timeline using date pickers for the "Start Date" and "End Date".
- And I must select the "AMC Payment Terms" from a dropdown list.
- And I must define the frequency of maintenance visits by selecting a "Service Interval".
Assigning Resources and Finalizing the Contract
- Given the contract terms and schedules are configured,
- Then I must assign the AMC to a specific service department or personnel using the "Assign To" dropdown (Required).
- And I must set the current "Status" of the contract (Required).
- And I can optionally input additional text into the "Remarks" field.
- And I can upload a signed contract or supporting document using the "Upload File" picker.
- When I click the "Save AMC" button at the bottom of the form,
- Then the system must validate that all mandatory fields (marked with an asterisk *) are populated.
- And if validation passes, the new AMC record is saved, added to the dashboard grid, and scheduled service visits are automatically generated in the background based on the chosen "Service Interval".