Bug #2615
Dynamic Agreement Drafting & Template Management for Charging Stations
Description
Develop an Agreement Drafting module in the CMS that allows users to create and save reusable agreement templates for different charging station partnership scenarios. The system should automatically populate station, partner, and company details dynamically into the agreement and generate a printable/downloadable agreement document.
This feature will eliminate the need to manually prepare agreements every time for new stations, partners, vendors, or landowners.
Business Requirement
Currently, agreements are prepared manually for every charging station or partnership setup. This process is time-consuming and error-prone.
- Agreement drafts/templates can be saved
- Different agreement types can be managed
- Station and partner details are auto-filled dynamically
- Final agreements can be previewed, printed, and downloaded
Examples:
- Landowner Agreement
- Revenue Sharing Agreement
- Franchise Agreement
- Vendor Agreement
- Site Lease Agreement
- Charging Station Installation Agreement
- Custom Agreements
Requirements¶
Agreement Template Management
Add a new module:
Users should be able to:
- Create new agreement templates
- Edit existing templates
- Save draft templates
- Duplicate templates
- Delete inactive templates
- Categorize templates by agreement type
Dynamic Placeholder Support
Templates should support dynamic placeholders/variables such as:
| Placeholder | Example Value |
| ----------------- | ----------------- |
| Station Name | Rama’s Resort |
| Station Address | Jaipur, Rajasthan |
| Partner Name | Mohit Tailor |
| Company Name | ChargeJet |
| Agreement Date | 01-Apr-2026 |
| Revenue Share | 20% |
| Partner Type | Landowner |
| Contract Duration | 5 Years |
- User selects agreement template
- User selects:
- Station
- Partner
- Agreement type
- System auto-fills all available details dynamically
- User can review/edit content before finalization
- Generate final agreement document
- Allow:
- Download PDF
- Save copy in system
Provide a rich text editor supporting:
- Text formatting
- Headers
- Tables
- Signature sections
- Terms & conditions
- Dynamic variable insertion
- Page breaks
- Company branding/logo
Preview & Print
Users should be able to:- Preview agreement before generation
- Print agreement directly
- Download as PDF
- Generate final formatted document
Generated agreements should be stored and linked with:
- Station
- Partner
- Agreement type
- Generated date
- Generated by user
Maintain history of:
- Generated agreements
- Edited templates
- Version updates
- Regenerated agreements
Allow role-based permissions for:
- Create templates
- Edit templates
- Generate agreements
- Download agreements
- Delete templates
- Mandatory placeholders should not remain empty
- Agreement generation should fail if required station/partner data is missing
- Template deletion should be restricted if actively used
Updated by Saransh Bakoliya about 2 months ago
Today i have worked on ->
1. Created the Agreement Templates module structure and integrated it into the CMS navigation and routing system.
2. Added role-based routing and sidebar menu integration for the “Agreement Templates” page under Partnership Management.
3. Created reusable TypeScript interfaces for agreement templates, generated agreements, API responses, and dynamic variables.
4. Implemented mock agreement service APIs including template listing, create, update, and delete functionality.
5. Developed the Agreement Templates listing page with:
* Search functionality
* Table view
* Status indicators
* Action buttons
* Branding/theme integration
6. Built the reusable Agreement Template Dialog component for creating and editing agreement templates.
7. Implemented agreement type management and template form handling including:
* Template name
* Agreement type
* Description
* Template content
* Active/inactive status
8. Started dynamic placeholder engine setup by creating agreement variable registry and reusable Variable Selector component architecture for future auto-fill functionality.
Updated by Yashaditya Singh about 2 months ago
Analyzed the Dynamic Agreement Drafting & Template Management requirements and reviewed the agreement generation workflow for charging station partnerships. I explored a scalable template-driven approach using dynamic placeholders, reusable agreement templates, and flexible field mapping from multiple related tables such as station, partner, vendor, and company details. I also discussed handling custom expressions and cross-table data binding to reduce future code changes for new agreement types and business requirements.
Updated by Shreya Agarwal about 2 months ago
I began exploring the frontend structure of the EVCSMS project to understand how a real-world application is organized. I try to understand how permissions are implemented and how different modules interact within the project. I also started observing the methods, patterns, and overall flow used in the application. This was an initial step to get familiar with the project architecture and how things are structured in practice.
Updated by Saransh Bakoliya about 2 months ago
Today i have worked on -.
Developed Agreement Templates CMS module with route integration and sidebar menu setup under Partnership Management.
Implemented Agreement Templates listing page with branded CMS UI, search functionality, table structure, status chips, and action buttons.
Created Add/Edit Agreement Template modal with responsive layout, dynamic variable support, agreement type selection, active status toggle, and template content editor.
Designed and integrated Dynamic Variables system using API-aligned placeholder structure for Station, Partner, Company, and Agreement entities.
Refactored frontend models and services to align with backend API contract by removing mock/version-based fields and updating payload structures.
Integrated Agreement Template APIs using project-standard apiClient architecture for Create, Get, Update, and Delete operations.
Improved overall UI consistency with existing CMS branding by applying shared styling utilities, responsive layouts, branded headers, and enterprise modal design patterns.
Updated by Shreya Agarwal about 2 months ago
Today I started learning how to make pages responsive for different screen sizes like mobile, tablet, and desktop. I understood the basic idea of using breakpoints to adjust layout according to screen width. I tried applying these concepts in the station details , but it is still in progress. Along with this, I explored basic MUI responsive features like useMediaQuery. Overall, I am still practicing and improving my understanding of responsive UI development. and also try to understand project structure for frontend .
Updated by Yashaditya Singh about 2 months ago
Completed the backend implementation for the Dynamic Agreement Drafting & Template Management module, including agreement template CRUD APIs, placeholder management, dynamic agreement generation, generated agreement storage, template history tracking, and soft delete functionality. I also debugged and resolved the Dapper mapping issue caused by newly added soft delete columns in generated agreements, verified placeholder replacement and validation flow, and reviewed the implementation against ticket requirements to identify remaining enhancement areas.
Updated by Yashaditya Singh about 2 months ago
Completed the backend implementation for the Dynamic Agreement Drafting & Template Management module, including agreement template CRUD APIs, placeholder management, dynamic agreement generation, generated agreement storage, template history tracking, and soft delete functionality. I also debugged and resolved the Dapper mapping issue caused by newly added soft delete columns in generated agreements, verified placeholder replacement and validation flow, and reviewed the implementation against ticket requirements to identify remaining enhancement areas.
Updated by Saransh Bakoliya about 2 months ago
Today i have worked on ->
1. Implemented Agreement Templates module UI for creating and managing reusable agreement drafts.
2. Integrated dynamic agreement template form with agreement type, status, description, and template content support.
3. Added dynamic placeholder support for station, partner, and company variables in agreement templates.
4. Integrated existing project HTML editor (CKEditor-based HtmlEditor component) for rich text agreement drafting.
5. Developed Agreement Preview component for rendering formatted agreement HTML content.
6. Added PDF download functionality for generated agreement preview documents.
7. Integrated Agreement Template CRUD APIs including create, update, fetch, and delete operations.
8. Fixed API integration issues, CKEditor duplicate module conflicts, TypeScript errors, and component import/path issues.
Updated by Yashaditya Singh about 2 months ago
completed and validated the core backend workflow for the Agreement Drafting module, including agreement template CRUD APIs, placeholder management, dynamic agreement generation, generated agreement storage, template history handling, and soft delete functionality. Performed API testing for template creation, placeholder replacement, agreement generation, retrieval, and delete validation flows.
Updated by Yashaditya Singh about 2 months ago
Worked on the Dynamic Agreement Drafting & Template Management module and continued backend integration and permission handling. I added and verified agreement template related permissions, mapped them with APIs, and assigned required permissions to admin role/user for testing. I also analyzed and validated schema-level permission scripts and checked permission visibility flow in the application.
Additionally, I created APIs to fetch all partner names and fetch partner details by ID, and verified the response structure and database mappings required for the partner-related functionality.
Updated by Saransh Bakoliya about 2 months ago
Today I worked on ->
Enhanced Agreement Templates management module with improved UI actions for preview, edit, delete, and generate agreement workflows.
Implemented Generate Agreement dialog with dynamic template selection and agreement generation flow.
Integrated real Station APIs and Partner APIs for fetching and selecting agreement-related entities dynamically.
Developed Generated Agreements module with agreement listing, preview, delete, and PDF download functionality.
Added dynamic agreement content rendering using selected template data and placeholder replacement logic.
Fixed multiple frontend issues related to template deletion, API response mapping, undefined IDs, routing/navigation, and data rendering.
Improved overall UI consistency using existing project branding styles, reusable components, dialogs, tables, and action handling flows.
Updated by Saransh Bakoliya about 2 months ago
Today i have worked on ->
Enhanced Agreement Templates module with improved UI and action workflows for preview, edit, delete, and generate agreement functionalities.
Implemented dynamic Generate Agreement dialog with template-based agreement generation and placeholder replacement support.
Integrated real Charging Station APIs and Partner APIs for dynamic data fetching and agreement entity selection.
Developed Generated Agreements module with agreement listing, preview, delete, and PDF download capabilities.
Added dynamic agreement content rendering using selected template data and real-time variable mapping logic.
Fixed multiple frontend issues related to template deletion, undefined IDs, API payload mapping, routing/navigation, and response handling.
Improved overall UI consistency using existing project branding styles, reusable dialogs, tables, cards, and action handling components.
Optimized agreement generation flow with editable agreement content preview, better modal structure, and improved user experience for large templates.
Updated by Shreya Agarwal about 2 months ago
Today I worked on improving the Agreement Template UI layout in the React MUI dialog. I focused on restructuring the grid system to correctly align the Template Details and Dynamic Variables side by side in the top row. I also worked on fixing the Content section to ensure Description and Template Content display in full width as per design requirements. Some final layout refinements are still pending, which I will complete in the next update.
Updated by Saransh Bakoliya about 2 months ago
- Enhanced Agreement Templates module with improved branded UI and tab-based navigation for Templates and Generated Agreements.
- Implemented Generated Agreements workflow with dynamic agreement generation, preview, and delete functionality.
- Integrated Station and Partner APIs for dynamic agreement creation and entity selection.
- Added agreement preview dialog with modern branded UI, responsive layout, and improved agreement rendering.
- Implemented Generated At date-time tracking using project-wide formatter utilities for consistent formatting.
- Fixed agreement type mapping, preview rendering issues, placeholder handling, and generated content display.
- Improved search/filter section UI with optimized search bar, Apply/Reset actions, and responsive enterprise styling.
Updated by Shreya Agarwal about 2 months ago
Today I worked on fixing the spacing issue between the Dialog Title and the main Paper card component in Agreement template dialog . I adjusted the layout structure and applied proper padding/margin to ensure consistent spacing and better visual alignment. This improvement made the dialog UI cleaner and more balanced. The changes enhanced overall readability .
Also worked on completing multiple UI translation updates for the application, focusing on station management, routing, expenses, and popup message modules. I standardized and translated various labels, messages, and validation texts used across the system, ensuring consistency across multiple languages. This included work on station service configuration, route suggestions, charger tagging, and monthly expense settings. made the UI content more structured and user-friendly.
Updated by Saransh Bakoliya about 2 months ago
Today i worked on ->
EODR - Agreement Template Module
Integrated new Agreement Types API for dynamic dropdown population.
Implemented backend API filtering for Search and Agreement Type with Apply/Reset actions.
Removed frontend filtering logic and shifted complete filtering to API-based flow.
Fixed Generated Agreements and Templates API response handling for new backend structure.
Fixed delete template flow and added proper backend error handling messages.
Redesigned action buttons (View/Edit/Generate/Delete) according to primary UI style.
Fixed Dynamic Variables rendering and added safe parsing for updated API responses.
Added Custom Variable support with branded UI and dynamic chip insertion into editor.
Updated by Yashaditya Singh about 2 months ago
Completed pagination and filter integration improvements for the Agreement Template module by implementing search and agreement type filters, updating repository and service layer logic, and improving paginated API response handling. Also added Agreement Type functionality along with the master table implementation and validated all filtering and pagination scenarios successfully.
Updated by Saransh Bakoliya about 2 months ago
Today i worked on ->
EOD Report
1. Integrated Agreement Types GET and POST APIs.
2. Added searchable filters for Generated Agreements.
3. Implemented Station and Partner dropdown API integration.
4. Added Apply and Reset filter functionality with API calls.
5. Updated Generated Agreements filter UI to match project branding.
6. Added custom agreement type creation with database save support.
7. Improved delete confirmation dialogs for templates and generated agreements.
8. Updated Generate Agreement variables section and readonly field behavior.
Updated by Saransh Bakoliya about 1 month ago
Today i worked on ->
Implemented dynamic agreement generation with editable Revenue Share support.
Added branded readonly information cards for Station, Partner, and Agreement details.
Integrated translation (t()) support across Generate Agreement dialog UI.
Added dynamic placeholder replacement support for agreement template content.
Fixed generated agreement preview and PDF rendering with updated values.
Improved Generated Agreements and Agreement Templates UI consistency with project branding.
Cleaned unused imports and optimized GenerateAgreementDialog component structure.
Updated by Saransh Bakoliya about 1 month ago
Today i worked on ->
1. Implemented dynamic agreement placeholder handling for Station, Partner, Revenue Share, and Agreement Date fields.
2. Updated Generate Agreement dialog UI with improved card layout, editable Revenue Share input, and consistent project styling.
3. Fixed agreement preview rendering issue by correcting HTML/table rendering logic and preserving formatted content.
4. Refactored agreement payload structure to use customPlaceholders matching backend API requirements.
5. Improved template variable handling and placeholder replacement flow for dynamic agreement generation.
6. Enhanced UI consistency across Generate Agreement, Template Preview, and Variable Selector components.
Updated by Saransh Bakoliya about 1 month ago
Today i have worked on ->
Implemented agreement module permission handling using backend permission keys.
Added view/manage permission checks for Agreement Templates page.
Added generate permission validation for Generate Agreement dialog.
Added generated agreement view/delete permission handling.
Integrated permission-based visibility for Agreement sidebar menu items.
Restricted Add, Edit, Delete, and Generate actions based on user permissions.
Debugged dynamic variables issue and verified frontend rendering logic.
Identified live environment placeholder issue as API/data-related, not UI-related.
Fixed agreement preview rendering issues related to HTML/template formatting.
Worked on agreement date field enhancements and calendar integration analysis using existing project UI components.
Updated by Saransh Bakoliya about 1 month ago
Today i worked on ->
Created the Agreement Type Master Data page under the Master Data module.
Integrated Agreement Type APIs for listing, creating, updating, and retrieving records.
Implemented permission-based access using agreement.templates.view and agreement.templates.manage.
Developed the Add and Edit Agreement Type dialog following the project's primary UI design.
Added search functionality for Agreement Type Name, Code, and Description with Apply and Reset actions.
Removed pagination and optimized the page layout for a cleaner master data management experience.