diff --git a/src/models.py b/src/models.py index 7b3a628..2dace80 100644 --- a/src/models.py +++ b/src/models.py @@ -68,6 +68,7 @@ class EstimationRequest(BaseModel): class EstimationDetails(BaseModel): dtq: bool reason: str + priceId: int tier: float total_price: float diff --git a/src/services/estimation_service_v2.py b/src/services/estimation_service_v2.py index c7b1007..cc60523 100644 --- a/src/services/estimation_service_v2.py +++ b/src/services/estimation_service_v2.py @@ -226,7 +226,7 @@ class EstimationService: prices = plan_data["prices"] for price in prices: if price["coverage"] == coverage and price["tier"] == f"Tier {tier.value}": - return price["price"] + return price["id"] return 0 def calculate_bmi(self, weight, ft, inch): @@ -295,16 +295,15 @@ class EstimationService: ) ) - plan_price = self.get_plan_price(plans[0], base_tier, plan_coverage) + plan_price_id = self.get_plan_price(plans[0], base_tier, plan_coverage) if is_dtq: return EstimationResponse( - status="rejected", + status="rejected", details=EstimationDetails( dtq=is_dtq, reason=reason, - tier=base_tier.value, - total_price=plan_price + price_id=plan_price_id, ), results=estimation_results ) @@ -317,8 +316,7 @@ class EstimationService: details=EstimationDetails( dtq=True, reason="Declined due to high Rx spend", - tier=base_tier.value, - total_price=plan_price + price_id=plan_price_id, ), results=estimation_results ) @@ -326,7 +324,7 @@ class EstimationService: if new_tier > base_tier: base_tier = new_tier - plan_price = self.get_plan_price(plans[0], base_tier, plan_coverage) + plan_price_id = self.get_plan_price(plans[0], base_tier, plan_coverage) status = "accepted" if base_tier is not None else "rejected" @@ -335,8 +333,7 @@ class EstimationService: details=EstimationDetails( dtq=is_dtq, reason=reason, - tier=base_tier.value, - total_price=plan_price + price_id=plan_price_id, ), results=estimation_results )