Hi everyone,
I am currently developing an insurance portal automation where the bot needs to log in to multiple insurance portals and generate quotations for the same vehicle.
Requirement:
When I run the bot, it should:
- Go to Portal 1 → Generate quotation
- Then Portal 2 → Generate quotation
- Then Portal 3 → Generate quotation
… and so on.
Challenge:
Across all portals:
- Around 70% of the data is common, such as:
- Vehicle Number
- TP Start Date
- TP End Date
- Policy Start Date
- Policy End Date
However, some fields differ between portals:
- Add-ons
- Product Variant
- Policy Type
- Plan Names
Even though the meaning is similar, each portal:
- Uses different labels
- Has different option names
- Has fewer or more options
- Sometimes doesn’t have certain options at all
My Current Approach (Working Fine)
I created an input Excel file structured row-wise:
- One row for TATA portal
- One row for ICICI portal
- One row for other portals
Each row contains all the specific mapped values required for that particular portal.
This makes it easy to:
- Maintain portal-specific variations
- Map fields clearly
- Avoid confusion
- Handle missing options properly
Client Requirement (New Change)
The client wants:
- Only one single sheet
- Only one single column structure
- Column 1 → Field Names
- Column 2 → Values
They want the bot to:
- Read from the same column
- Identify which input belongs to which portal
- Dynamically decide what to use for each portal
- Avoid separate sheets or separate files
Even if there are 5 or 10 portals, everything must be maintained in one column.
My Concern:
Since:
- Add-on names differ per portal
- Plan names differ per portal
- Some options exist in one portal but not in another
Maintaining everything in a single column may:
- Make mapping complex
- Reduce maintainability
- Increase logic complexity
- Increase chances of runtime errors
My Question to the Community:
- What is the best design pattern for this scenario?
- Is there a recommended data structure (DataTable / JSON / Dictionary) that can handle:
- Common fields
- Portal-specific fields
- Dynamic field mapping?
- How can we design this in a scalable and maintainable way if the client insists on a single-column structure?
- Would it be better to introduce a mapping layer instead of changing the input structure?
Any suggestions on architecture, best practices, or similar implementation experience would be really helpful. Also, tell me whether this approach is doable or not.
Thank you in advance!