- Add `divorced` and `domestic partnership` to marital status options. If `domestic partnership`, add 1 risk point to the life score and remove 1 risk point from disability. *Input* ```jsx { "age": 35, "dependents": 2, "house": {"ownership_status": "owned"}, "income": 0, "marital_status": "domestic partnership", "risk_questions": [0, 1, 0], "vehicle": {"year": 2018} } ``` *Output* ```jsx { "auto": "regular", "disability": "ineligible", "home": "economic", "life": "regular" } ``` - Houses have a status ( `owned` and `rented`). If `owned` she is eligible for `Home` insurance. If `rented` she is eligible for `Renters` insurance. *Input* ```jsx { "age": 35, "dependents": 2, "house": {"ownership_status": "rented"}, // "house": {"ownership_status": "owned"}, "income": 0, "marital_status": "married", "risk_questions": [0, 1, 0], "vehicle": {"year": 2018} } ``` *Output* ```jsx { "auto": "regular", "disability": "ineligible", "renters": "economic", // "home": "economic, "life": "regular" } ``` - If the second risk answer is true then add 2 points in the Disability Insurance. *Input* ```jsx { "age": 35, "dependents": 2, "house": {"ownership_status": "owned"}, "income": 100000, "marital_status": "single", "risk_questions": [0, 1, 0], "vehicle": {"year": 2018} } ``` *Output* ```jsx { "auto": "regular", "disability": "responsible", "home": "economic", "life": "regular" } ``` - If all the risk answers are false and the user has an income lower than 25k, then he is ineligible for all insurance lines. *Input* ```jsx { "age": 35, "dependents": 2, "house": {"ownership_status": "owned"}, "income": 20000, "marital_status": "married", "risk_questions": [0, 0, 0], "vehicle": {"year": 2018} } ``` *Output* ```jsx { "auto": "ineligible", "disability": "ineligible", "home": "ineligible", "life": "ineligible" } ``` - Add `Umbrella` insurance line. If the user got an economic score in any of the four main lines of insurance (life, disability, home & auto), he is eligible to get umbrella insurance. Base rules are applied to it. *Input* ```jsx { "age": 35, "dependents": 2, "house": {"ownership_status": "owned"}, "income": 0, "marital_status": "married", "risk_questions": [0, 1, 0], "vehicle": {"year": 2018} } ``` ```jsx { "auto": "regular", "disability": "ineligible", "home": "economic", "life": "regular", "umbrella": "economic" } ``` - The user can have from 0 to N `vehicles` and `houses`. The payload will change to a `list` of `objects`. If the user has only one vehicle, add 1 point to that vehicle’s score. This same rule applies to houses. *Input* ```jsx { "age": 35, "dependents": 2, "houses": [ {"id": 1, "ownership_status": "owned"} ], "income": 0, "marital_status": "married", "risk_questions": [0, 1, 0], "vehicles": [ {"id": 1, "year": 2019}, {"id": 2, "year": 2010}, {"id": 3, "year": 2012}, ] } ``` *Output* ```jsx { "auto": [ {"id": 1, "plan": "regular"}, {"id": 2, "plan": "economic"}, {"id": 3, "plan": "economic"}, ], "disability": "ineligible", "home": [ {"id": 1, "plan": "regular"} ], "life": "regular", } ```