
Automatically infer Joi schemas from design inputs and validate template data with precision β ensuring every field, type, and rule is production-ready.
Inferred Joi schema for the TATA AIG insurance policy template Β· POC build
Browse, filter, and inspect all Joi-validated fields for the active template schema
Showing 8 of 8 fields
Click column headers to sortField Name | Type | Required | Default | Description | |
|---|---|---|---|---|---|
| claimantDetails | object | β | Nested object containing claimant contact and KYC verification data | ||
| coverageAmount | number | β | Total sum insured in INR for the policy coverage period | ||
| insuredName | string | β | Full legal name of the primary insured individual as per government ID | ||
| isActive | boolean | true | Whether the policy is currently active and valid for claims | ||
| policyNumber | string | β | Unique identifier for the insurance policy (e.g., TATA-AIG-2024-XXXXXX) | ||
| premiumAmount | number | β | Annual premium amount in INR, excluding GST and surcharges | ||
| riders | array | [] | List of optional rider objects attached to the base policy | ||
| templateVersion | string | "v1.0" | Handlebars template version tag used for rendering this document |
Inspect the auto-generated Joi schema alongside JSON Schema and OpenAPI representations.
1// Generated by agile-templates Β· tata-aig-poc-v12const Joi = require('joi');34const policySchema = Joi.object({5 policyNumber: Joi.string().required().min(12).max(20),6 policyHolder: Joi.object({7 fullName: Joi.string().required().regex(/^[a-zA-Z ]+$/),8 dateOfBirth: Joi.date().required().iso(),9 email: Joi.string().email().required(),10 phone: Joi.string().pattern(/^[0-9]{10}$/).required()11 }).required(),12 planType: Joi.string().valid('MediPrime-Gold', 'MediPrime-Silver', 'BasicHealth').required(),13 coverages: Joi.array().items(14 Joi.object({15 type: Joi.string().required(),16 sumInsured: Joi.number().positive().required(),17 premium: Joi.number().min(0).required(),18 isActive: Joi.boolean().default(true)19 })20 ).min(1).required(),21 policyPeriod: Joi.object({22 startDate: Joi.date().iso().required(),23 endDate: Joi.date().iso().min(Joi.ref('startDate')).required()24 }).required()25});2627module.exports = { policySchema };
1// Generated by agile-templates Β· tata-aig-poc-v12const Joi = require('joi');34const policySchema = Joi.object({5 policyNumber: Joi.string().required().min(12).max(20),6 policyHolder: Joi.object({7 fullName: Joi.string().required().regex(/^[a-zA-Z ]+$/),8 dateOfBirth: Joi.date().required().iso(),9 email: Joi.string().email().required(),10 phone: Joi.string().pattern(/^[0-9]{10}$/).required()11 }).required(),12 planType: Joi.string().valid('MediPrime-Gold', 'MediPrime-Silver', 'BasicHealth').required(),13 coverages: Joi.array().items(14 Joi.object({15 type: Joi.string().required(),16 sumInsured: Joi.number().positive().required(),17 premium: Joi.number().min(0).required(),18 isActive: Joi.boolean().default(true)19 })20 ).min(1).required(),21 policyPeriod: Joi.object({22 startDate: Joi.date().iso().required(),23 endDate: Joi.date().iso().min(Joi.ref('startDate')).required()24 }).required()25});2627module.exports = { policySchema };
Compare field changes between Joi schema versions for TATA AIG POC template
Export the inferred Joi schema in multiple formats for use in validation pipelines, API specs, and TypeScript projects.
Explore Joi schemas from other insurance template categories
Joi validation schema for motor insurance policy documents including vehicle details, owner info, and premium calculation fields.
Comprehensive schema for health policy templates covering member details, sum insured, exclusions, and rider validations.
Schema for travel insurance documents with destination, duration, coverage type, and emergency contact validations.
Validation schema for home insurance templates including property details, sum insured breakdown, and endorsement fields.
Schema for term life insurance documents with beneficiary management, premium frequency, and nominee validation logic.
No comments yet. Be the first!