NaviPlan API icon

NaviPlan API

An API for accessing NaviPlan plan data for a client

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https",
    "http"
  ],
  "host": "demo.uat.naviplancentral.com",
  "basePath": "/plan",
  "info": {
    "contact": {
      "x-twitter": "AdvicentFP"
    },
    "description": "An API for accessing NaviPlan plan data for a client.",
    "title": "NaviPlan API",
    "version": "v1",
    "x-apisguru-categories": [
      "financial"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_Advicent_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://demo.uat.naviplancentral.com/plan/swagger/docs/v1",
        "version": "2.0"
      },
      {
        "format": "swagger",
        "url": "https://demo.uat.naviplancentral.com/plan/swagger/docs/v1",
        "version": "2.0"
      }
    ],
    "x-providerName": "naviplancentral.com",
    "x-serviceName": "plan"
  },
  "paths": {
    "/api/Advisors": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the Advisors in the plan.",
        "operationId": "Advisors_Get",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvisorsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for advisor details"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve Advisors",
        "tags": [
          "Advisors"
        ]
      }
    },
    "/api/Advisors/{householdId}/{clientId}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the Advisors for the client.",
        "operationId": "Advisors_GetByHouseholdidClientid",
        "parameters": [
          {
            "description": "Integer id of the household",
            "format": "int32",
            "in": "path",
            "name": "householdId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Guid id of the client.",
            "in": "path",
            "name": "clientId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvisorsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for advisor details"
          },
          "403": {
            "description": "Request is restricted for access to advisor information"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve Advisors for a Client",
        "tags": [
          "Advisors"
        ]
      }
    },
    "/api/Advisors/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an Advisor from the plan.",
        "operationId": "Advisors_GetById",
        "parameters": [
          {
            "description": "Guid id of the advisor",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvisorModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for advisor details"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve an Advisor",
        "tags": [
          "Advisors"
        ]
      }
    },
    "/api/Assumptions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing all assumptions for the specified plan.",
        "operationId": "Assumptions_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AssumptionsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve plan assumptions",
        "tags": [
          "Assumptions"
        ]
      }
    },
    "/api/BusinessEntities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the business entities in the plan.",
        "operationId": "BusinessEntities_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/BusinessEntitiesModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve business entities",
        "tags": [
          "BusinessEntities"
        ]
      }
    },
    "/api/BusinessEntities/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a business entity from the plan.",
        "operationId": "BusinessEntities_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of business entity to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/BusinessEntityModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a business entity",
        "tags": [
          "BusinessEntities"
        ]
      }
    },
    "/api/Calculations/MonteCarlo": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Currently just stubbed out, POC in development",
        "operationId": "Calculations_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "boolean"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve Monte Carlo results from standalone calc service",
        "tags": [
          "Calculations"
        ]
      }
    },
    "/api/DefinedBenefitPensions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the defined benefit pensions in the plan.",
        "operationId": "DefinedBenefitPensions_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve defined benefit pensions",
        "tags": [
          "DefinedBenefitPensions"
        ]
      }
    },
    "/api/DefinedBenefitPensions/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a defined benefit pension from the plan.",
        "operationId": "DefinedBenefitPensions_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of defined benefit pension to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a definedBenefitPension",
        "tags": [
          "DefinedBenefitPensions"
        ]
      }
    },
    "/api/Eula/Accept": {
      "post": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Eula_Accept",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "InternalServerError"
          }
        },
        "summary": "Accepts the EULA",
        "tags": [
          "Eula"
        ]
      }
    },
    "/api/Family": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing all familymembers for the specified plan.",
        "operationId": "Family_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FamilyModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve family",
        "tags": [
          "Family"
        ]
      }
    },
    "/api/GoalAdjustments/Education/{id}/Adjustments": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function retrieves a goal and the adjustments made to it",
        "operationId": "GoalAdjustments_GetEducationByIdClientidPlanid",
        "parameters": [
          {
            "description": "The id of the goal to retrieve adjustments for.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsEducationGoalAdjustmentsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieve the adjustments",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/Education/{id}/Calculations": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "This function returns the posted object and the adjusted calculation values",
        "operationId": "GoalAdjustments_PostEducationByIdGoaladjustmentsPlanid",
        "parameters": [
          {
            "description": "The id of the goal to retrieve adjustments for.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The adjusted values for this goal",
            "in": "body",
            "name": "goalAdjustments",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
            }
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Perform calculations",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/GoalSuccessRates": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "GoalAdjustments_GetGoalSuccessRatesByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Goal Success Rates successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalSuccessRateResultsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Returns a list of goals with their relevant success rates.",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/MajorPurchase/{id}/Adjustments": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function retrieves a goal and the adjustments made to it",
        "operationId": "GoalAdjustments_GetMajorPurchaseByIdClientidPlanid",
        "parameters": [
          {
            "description": "The id of the goal to retrieve adjustments for.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsMajorPurchaseGoalAdjustmentsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieve the adjustments",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/MajorPurchase/{id}/Calculations": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "This function returns the posted object and the adjusted calculation values",
        "operationId": "GoalAdjustments_PostMajorPurchaseByIdGoaladjustmentsPlanid",
        "parameters": [
          {
            "description": "The id of the goal to retrieve adjustments for.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The adjusted values for this goal",
            "in": "body",
            "name": "goalAdjustments",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
            }
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Perform calculations",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/Restrictions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function returns a list of adjustment restrictions for all goals.",
        "operationId": "GoalAdjustments_GetGoalAdjustmentRestrictionsByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Restrictions successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsRestrictionsResultModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Returns a list of goal adjustment restrictions.",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/Retirement/Adjustments": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function retrieves a goal and the adjustments made to it for a particular client",
        "operationId": "GoalAdjustments_GetRetirementByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsRetirementGoalAdjustmentsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieve the adjustments",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/Retirement/Calculations": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "This function returns the posted object and the adjusted calculation values",
        "operationId": "GoalAdjustments_PostRetirementByGoaladjustmentsPlanid",
        "parameters": [
          {
            "description": "The adjusted values for this goal",
            "in": "body",
            "name": "goalAdjustments",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
            }
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Perform calculations",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/GoalAdjustments/{id}/WhatAreMyOptions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "GoalAdjustments_GetWhatAreMyOptionsByIdClientidPlanid",
        "parameters": [
          {
            "description": "The id of the goal to retrieve WAMO values for.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "What are my options results successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsWhatAreMyOptionsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Returns WAMO values for current goal",
        "tags": [
          "GoalAdjustments"
        ]
      }
    },
    "/api/Goals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the goals in the plan.",
        "operationId": "Goals_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/GoalsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve goals",
        "tags": [
          "Goals"
        ]
      }
    },
    "/api/Goals/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a goal from the plan.",
        "operationId": "Goals_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of goal to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/GoalModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve goals",
        "tags": [
          "Goals"
        ]
      }
    },
    "/api/HoldingCompanies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the holding companies in the plan.",
        "operationId": "HoldingCompanies_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/HoldingCompaniesModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve holding companies",
        "tags": [
          "HoldingCompanies"
        ]
      }
    },
    "/api/HoldingCompanies/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a holding company from the plan.",
        "operationId": "HoldingCompanies_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of holding company to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/HoldingCompanyModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a holding company",
        "tags": [
          "HoldingCompanies"
        ]
      }
    },
    "/api/Households": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of households the current user has access to or one household specified by a householdId parameter",
        "operationId": "Households_GetByHouseholdid",
        "parameters": [
          {
            "description": "The Id of the specific household to retrieve",
            "format": "int32",
            "in": "query",
            "name": "householdId",
            "required": false,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/HouseholdsModel"
            }
          },
          "401": {
            "description": "Unauthorized for household data access"
          },
          "403": {
            "description": "Access to household is restricted"
          }
        },
        "summary": "Retrieve all Households associated with the user",
        "tags": [
          "Households"
        ]
      }
    },
    "/api/Liabilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the liabilities in the plan.",
        "operationId": "Liabilities_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilitiesModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve liabilities",
        "tags": [
          "Liabilities"
        ]
      }
    },
    "/api/Liabilities/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a liability from the plan.",
        "operationId": "Liabilities_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of liability to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilityModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a liability",
        "tags": [
          "Liabilities"
        ]
      }
    },
    "/api/LifestyleAssets": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the lifestyle assets in the plan.",
        "operationId": "LifestyleAssets_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve lifestyle assets",
        "tags": [
          "LifestyleAssets"
        ]
      }
    },
    "/api/LifestyleAssets/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a lifestyle asset from the plan.",
        "operationId": "LifestyleAssets_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of lifestyle asset to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve lifestyle assets",
        "tags": [
          "LifestyleAssets"
        ]
      }
    },
    "/api/LivePlan/Goals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetGoalsByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalsModelsLiveGoalBaseModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves all goals from the live plan",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/Goals/Funding": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function retrieves a list of funding accounts for the goals in the plan",
        "operationId": "LivePlan_GetGoalFundingListByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalsModelsGoalFundingListModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieve a list of funding accounts",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/Goals/{id}/WhatAreMyOptions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This function retrieves the WAMO values for the specified goal",
        "operationId": "LivePlan_GetWhatAreMyOptionsByIdClientidPlanid",
        "parameters": [
          {
            "description": "The id of the goal",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsWhatAreMyOptionsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieve WAMO values for a given goal",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/NetWorth/Accounts": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetAccountsByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsAccountBaseModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves accounts for a given plan",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/NetWorth/Liabilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetLiabilitiesByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsLiabilityBaseModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves liabilities for a given plan",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/NetWorth/LifestyleAssets": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetLifestyleAssetsByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsLifestyleAssetBaseModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves lifestyle assets for a given plan",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/NetWorth/RealEstate": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetRealEstateAssetsByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsRealEstateBaseModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves real estate accounts for a given plan",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/Projections/NetWorth": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetProjectedNetWorthByClientidPlanid",
        "parameters": [
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiProjectionsModelsNetWorthProjectionsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves net worth projections",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/LivePlan/Projections/{id}/NeedsVsAbilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "LivePlan_GetProjectedNeedsVsAbilitiesByIdClientidPlanid",
        "parameters": [
          {
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
            "in": "query",
            "name": "clientId",
            "required": false,
            "type": "string"
          },
          {
            "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AdvicentNaviPlanRestApiProjectionsModelsNeedsVsAbilitiesProjectionsModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          },
          "503": {
            "description": "Unable to acquire a NaviPlan engine"
          }
        },
        "summary": "Retrieves needs vs abilities projections",
        "tags": [
          "LivePlan"
        ]
      }
    },
    "/api/NetWorth": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing net worth values for specific dates within the plan:\r\n              * Plan Start Date\r\n              * Retirement Date\r\n              * Plan End Date.",
        "operationId": "NetWorth_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/NetWorthModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve net worth",
        "tags": [
          "NetWorth"
        ]
      }
    },
    "/api/Password/HasUserSetPassword": {
      "post": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Password_HasUserSetPassword",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "summary": "Determines if the currently logged in user has set their own password",
        "tags": [
          "Password"
        ]
      }
    },
    "/api/Password/PasswordRequirements": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Password_PasswordRequirements",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "500": {
            "description": "InternalServerError"
          }
        },
        "summary": "Gets the password complexity requirements",
        "tags": [
          "Password"
        ]
      }
    },
    "/api/Password/Reset": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "operationId": "Password_ResetByModel",
        "parameters": [
          {
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ResetPasswordModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest"
          }
        },
        "summary": "Resets the password for the supplied user name",
        "tags": [
          "Password"
        ]
      }
    },
    "/api/Password/Set": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "operationId": "Password_SetByModel",
        "parameters": [
          {
            "description": "",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SetPasswordModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "summary": "Sets the password for the currently logged in user",
        "tags": [
          "Password"
        ]
      }
    },
    "/api/PlanInformation": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves the high level plan information for a given plan",
        "operationId": "PlanInformation_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PlanInformationModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve plan information",
        "tags": [
          "PlanInformation"
        ]
      }
    },
    "/api/PlanStatuses": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves the data statuses of the published plan if on demand updates\r\n            are enabled",
        "operationId": "PlanStatuses_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3)",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PlanStatusesModel"
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan status access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve plan data statuses",
        "tags": [
          "PlanStatuses"
        ]
      }
    },
    "/api/PortfolioAccounts": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the portfolio accounts in the plan.",
        "operationId": "PortfolioAccounts_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PortfolioAccountsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve portfolio accounts",
        "tags": [
          "PortfolioAccounts"
        ]
      }
    },
    "/api/PortfolioAccounts/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a portfolio account from the plan.",
        "operationId": "PortfolioAccounts_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of portfolio account to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/PortfolioAccountModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a portfolio account",
        "tags": [
          "PortfolioAccounts"
        ]
      }
    },
    "/api/ProjectedAnnualSummary": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing annual summary information \r\n              for each year of the projected plan.",
        "operationId": "ProjectedAnnualSummary_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ProjectedAnnualSummariesModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected annual summaries",
        "tags": [
          "ProjectedAnnualSummary"
        ]
      }
    },
    "/api/ProjectedAnnualSummary/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing annual summary information \r\n              for a single specified year of the projected plan.",
        "operationId": "ProjectedAnnualSummary_GetByIdPlanid",
        "parameters": [
          {
            "description": "Index into the list of annual projections",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ProjectedAnnualSummaryModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected annual summary by id",
        "tags": [
          "ProjectedAnnualSummary"
        ]
      }
    },
    "/api/ProjectedCashFlow": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing cash flow information \r\n              for each year of the projected plan.",
        "operationId": "ProjectedCashFlow_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CashFlowProjectionsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected cash flow",
        "tags": [
          "ProjectedCashFlow"
        ]
      }
    },
    "/api/ProjectedCashFlow/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing cash flow information \r\n              for a single specified year of the projected plan.",
        "operationId": "ProjectedCashFlow_GetByIdPlanid",
        "parameters": [
          {
            "description": "Index into the list of annual projections",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CashFlowProjectionModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected cash flow by id",
        "tags": [
          "ProjectedCashFlow"
        ]
      }
    },
    "/api/ProjectedGoals/AssetsFundingGoals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves the assets funding each goal throughout the plan years",
        "operationId": "ProjectedGoals_GetAssetsFundingGoalsByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AssetsFundingGoalModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve assets funding goals over time",
        "tags": [
          "ProjectedGoals"
        ]
      }
    },
    "/api/ProjectedGoals/NeedsVsAbilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a needs and abilities data for all goals throughout\r\n              the plan years.",
        "operationId": "ProjectedGoals_GetNeedsVsAbilitiesByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/NeedsVsAbilitiesModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve needs vs abilities data",
        "tags": [
          "ProjectedGoals"
        ]
      }
    },
    "/api/ProjectedNetWorth": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing net worth information \r\n              for each year of the projected plan. These are EOY numbers.",
        "operationId": "ProjectedNetWorth_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/NetWorthProjectionsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected net worth",
        "tags": [
          "ProjectedNetWorth"
        ]
      }
    },
    "/api/ProjectedNetWorth/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves an object containing net worth information \r\n              for a single specified year of the projected plan. These are EOY numbers.",
        "operationId": "ProjectedNetWorth_GetByIdPlanid",
        "parameters": [
          {
            "description": "Index into the list of annual projections",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/NetWorthProjectionModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve projected net worth by id",
        "tags": [
          "ProjectedNetWorth"
        ]
      }
    },
    "/api/RestrictedStocks": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the restricted stocks in the plan.",
        "operationId": "RestrictedStocks_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RestrictedStocksModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve restricted stocks",
        "tags": [
          "RestrictedStocks"
        ]
      }
    },
    "/api/RestrictedStocks/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a restricted stock from the plan.",
        "operationId": "RestrictedStocks_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of restricted stock to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RestrictedStockModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a restricted stock",
        "tags": [
          "RestrictedStocks"
        ]
      }
    },
    "/api/ServiceInformation/Statistics": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "ServiceInformation_Statistics",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Provides additional information about the service.",
            "schema": {
              "$ref": "#/definitions/ServiceInformation"
            }
          }
        },
        "summary": "This resource can be used to check the status of the service.",
        "tags": [
          "ServiceInformation"
        ]
      }
    },
    "/api/StockOptions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a list of all of the stock options in the plan.",
        "operationId": "StockOptions_GetByPlanid",
        "parameters": [
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/StockOptionsModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve stock options",
        "tags": [
          "StockOptions"
        ]
      }
    },
    "/api/StockOptions/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "This operation retrieves a stock option from the plan.",
        "operationId": "StockOptions_GetByIdPlanid",
        "parameters": [
          {
            "description": "ID of stock option to retrieve",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the plan to retrieve data from (e.g. 1001-11-3).",
            "in": "query",
            "name": "planId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/StockOptionModel"
            }
          },
          "202": {
            "description": "Plan migration is processing"
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Unauthorized for plan data access"
          },
          "404": {
            "description": "Object not found"
          }
        },
        "summary": "Retrieve a stock option",
        "tags": [
          "StockOptions"
        ]
      }
    },
    "/api/auth/Login": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "operationId": "Auth_LoginByModel",
        "parameters": [
          {
            "description": "DomainProvider username and password",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LoginModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "ApiSession",
            "schema": {
              "$ref": "#/definitions/PublicSessionInfoModel"
            }
          },
          "401": {
            "description": "Invalid request parameters"
          },
          "500": {
            "description": "Invalid HTTP scheme"
          }
        },
        "summary": "Start a session with the DomainProviders user store",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/auth/LoginConfiguration": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Auth_PasswordRequirements",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Gets the login rules",
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/auth/Logout": {
      "post": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Auth_Logout",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "tags": [
          "Auth"
        ]
      }
    },
    "/api/auth/ResumeSession": {
      "post": {
        "consumes": [],
        "deprecated": false,
        "operationId": "Auth_ResumeSession",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "resume session",
            "schema": {
              "$ref": "#/definitions/PublicSessionInfoModel"
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "summary": "Validate and extend the duration of a session",
        "tags": [
          "Auth"
        ]
      }
    }
  },
  "definitions": {
    "AdvicentDomainLogicGoalWhatIfEducationGoalAdjustments": {
      "properties": {
        "duration": {
          "format": "double",
          "type": "number"
        },
        "expensesCovered": {
          "format": "double",
          "type": "number"
        },
        "lumpSumContribution": {
          "format": "double",
          "type": "number"
        },
        "lumpSumDate": {
          "format": "date-time",
          "type": "string"
        },
        "monthlySavingsContribution": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments": {
      "properties": {
        "lumpSumContribution": {
          "format": "double",
          "type": "number"
        },
        "lumpSumDate": {
          "format": "date-time",
          "type": "string"
        },
        "monthlySavingsContribution": {
          "format": "double",
          "type": "number"
        },
        "targetDate": {
          "format": "date-time",
          "type": "string"
        },
        "totalNeed": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments": {
      "properties": {
        "clientRetirementAge": {
          "format": "double",
          "type": "number"
        },
        "coClientRetirementAge": {
          "format": "double",
          "type": "number"
        },
        "discretionaryExpenseCoverage": {
          "format": "double",
          "type": "number"
        },
        "fixedExpenseCoverage": {
          "format": "double",
          "type": "number"
        },
        "lumpSumContribution": {
          "format": "double",
          "type": "number"
        },
        "lumpSumDate": {
          "format": "date-time",
          "type": "string"
        },
        "monthlySavingsContribution": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsCalcProjection": {
      "properties": {
        "projectedAbilities": {
          "format": "double",
          "type": "number"
        },
        "projectedNeed": {
          "format": "double",
          "type": "number"
        },
        "projectedRetirementAssetValues": {
          "format": "double",
          "type": "number"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections": {
      "properties": {
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "percentCovered": {
          "format": "double",
          "type": "number"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCalcProjection"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments": {
      "properties": {
        "goalAdjustments": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments": {
      "properties": {
        "goalAdjustments": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsCoverageProjectionsResultModelAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments": {
      "properties": {
        "goalAdjustments": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsGoalAdjustmentsResultAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsEducationGoalAdjustmentsModel": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfEducationGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfEducationGoalAdjustments"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalAdjustmentsModelAdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalSuccessRateModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "successRate": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalSuccessRateResultsModel": {
      "properties": {
        "goalSuccessRateResults": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsGoalSuccessRateModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsMajorPurchaseGoalAdjustmentsModel": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfMajorPurchaseGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsRestrictionsEducationRestriction": {
      "properties": {
        "canChangeDuration": {
          "type": "boolean"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsRestrictionsResultModel": {
      "properties": {
        "educationRestrictions": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsModelsRestrictionsEducationRestriction"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsRetirementGoalAdjustmentsModel": {
      "properties": {
        "adjustedValues": {
          "$ref": "#/definitions/AdvicentDomainLogicGoalWhatIfRetirementGoalAdjustments"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "projectedResults": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalAdjustmentsCoverageProjections"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalAdjustmentsModelsWhatAreMyOptionsModel": {
      "properties": {
        "additionalMonthlySavings": {
          "format": "double",
          "type": "number"
        },
        "clientRetirementAge": {
          "format": "int32",
          "type": "integer"
        },
        "clientRetirementAgeDate": {
          "format": "date-time",
          "type": "string"
        },
        "coClientRetirementAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientRetirementAgeDate": {
          "format": "date-time",
          "type": "string"
        },
        "expenseCoverageDollars": {
          "format": "double",
          "type": "number"
        },
        "expenseCoveragePercentage": {
          "format": "double",
          "type": "number"
        },
        "lumpSumSavings": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalsModelsGoalFundingAccount": {
      "properties": {
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "fundingAmount": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalsModelsGoalFundingListItem": {
      "properties": {
        "description": {
          "type": "string"
        },
        "fundingAccounts": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalsModelsGoalFundingAccount"
          },
          "type": "array"
        },
        "goalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalsModelsGoalFundingListModel": {
      "properties": {
        "goals": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalsModelsGoalFundingListItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalsModelsLiveGoalBase": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "coveragePercentage": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "inflationRate": {
          "format": "double",
          "type": "number"
        },
        "owners": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiModelsOwnerModel"
          },
          "type": "array"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiGoalsModelsLiveGoalBaseModel": {
      "properties": {
        "clientDescription": {
          "type": "string"
        },
        "clientId": {
          "format": "int32",
          "type": "integer"
        },
        "goals": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiGoalsModelsLiveGoalBase"
          },
          "type": "array"
        },
        "planDescription": {
          "type": "string"
        },
        "planLastUpdateTime": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiModelsOwnerModel": {
      "properties": {
        "firstName": {
          "type": "string"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "lastName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsAccountBaseModel": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsAccountModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsAccountModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "holdings": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsHoldingModel"
          },
          "type": "array"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "legacyId": {
          "type": "string"
        },
        "owner": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiModelsOwnerModel"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsHoldingModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsLiabilityBaseModel": {
      "properties": {
        "liabilities": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsLiabilityModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsLiabilityModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "legacyId": {
          "type": "string"
        },
        "outstandingPrincipal": {
          "format": "double",
          "type": "number"
        },
        "outstandingPrincipalAsOfDate": {
          "format": "date-time",
          "type": "string"
        },
        "owner": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiModelsOwnerModel"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsLifestyleAssetBaseModel": {
      "properties": {
        "lifestyleAssets": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsLifestyleAssetModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsLifestyleAssetModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "owner": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiModelsOwnerModel"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "purchaseValue": {
          "format": "double",
          "type": "number"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        },
        "valuationValue": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsRealEstateBaseModel": {
      "properties": {
        "realEstateAssets": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiNetWorthModelsRealEstateModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiNetWorthModelsRealEstateModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "legacyId": {
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "$ref": "#/definitions/AdvicentNaviPlanRestApiModelsOwnerModel"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiProjectionsModelsNeedsVsAbilitiesProjectionsModel": {
      "properties": {
        "goalId": {
          "format": "int32",
          "type": "integer"
        },
        "percentCovered": {
          "format": "double",
          "type": "number"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiProjectionsModelsNeedsVsAbilitiesProjectionsYear"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiProjectionsModelsNeedsVsAbilitiesProjectionsYear": {
      "properties": {
        "projectedAbilities": {
          "format": "double",
          "type": "number"
        },
        "projectedNeed": {
          "format": "double",
          "type": "number"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiProjectionsModelsNetWorthProjectionsModel": {
      "properties": {
        "netWorthProjections": {
          "items": {
            "$ref": "#/definitions/AdvicentNaviPlanRestApiProjectionsModelsNetWorthProjectionsYearModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AdvicentNaviPlanRestApiProjectionsModelsNetWorthProjectionsYearModel": {
      "properties": {
        "endOfYearRetirementAssets": {
          "format": "double",
          "type": "number"
        },
        "endOfYearTotalAssets": {
          "format": "double",
          "type": "number"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AdvisorModel": {
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "advisorId": {
          "type": "string"
        },
        "advisorTitle": {
          "type": "string"
        },
        "businessPhone": {
          "type": "string"
        },
        "cellPhone": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "emailAddress": {
          "type": "string"
        },
        "faxPhone": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "homePhone": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "middleName": {
          "type": "string"
        },
        "officeName": {
          "type": "string"
        },
        "officeWebsite": {
          "type": "string"
        },
        "pagerNumber": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        },
        "stateProvince": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "AdvisorsModel": {
      "properties": {
        "advisors": {
          "items": {
            "$ref": "#/definitions/AdvisorModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AssetsFundingGoalModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/ProjectedGoalsSummary[AssetsFundingGoalSummary]"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AssetsFundingGoalSummary": {
      "properties": {
        "contributions": {
          "$ref": "#/definitions/IAccumulationCategoryData"
        },
        "endOfYearAssets": {
          "$ref": "#/definitions/IAccumulationCategoryData"
        },
        "goalType": {
          "type": "string"
        },
        "growthAndReinvestments": {
          "$ref": "#/definitions/IAccumulationCategoryData"
        },
        "identifier": {
          "format": "int32",
          "type": "integer"
        },
        "netWithdrawals": {
          "format": "double",
          "type": "number"
        },
        "withdrawals": {
          "$ref": "#/definitions/IAccumulationCategoryData"
        }
      },
      "type": "object"
    },
    "AssumptionsModel": {
      "properties": {
        "assumptions": {
          "$ref": "#/definitions/IAssumptions"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Benefit[CurrencyWithGrowth]": {
      "properties": {
        "benefitType": {
          "enum": [
            "DeathBenefit",
            "MonthlyBenefit",
            "DailyBenefit",
            "MaximumBenefit",
            "WeeklyBenefit",
            "AnnualBenefit",
            "LumpSum"
          ],
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/CurrencyWithGrowth"
        }
      },
      "type": "object"
    },
    "BusinessEntitiesModel": {
      "properties": {
        "businessEntities": {
          "items": {
            "$ref": "#/definitions/IBusinessEntity"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BusinessEntityModel": {
      "properties": {
        "businessEntity": {
          "$ref": "#/definitions/IBusinessEntity"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CashFlowProjectionModel": {
      "properties": {
        "cashFlow": {
          "$ref": "#/definitions/ProjectedCashFlowSummary"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CashFlowProjectionsModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/CashFlowProjectionModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CashFlowSummary": {
      "properties": {
        "surplusDeficit": {
          "format": "double",
          "type": "number"
        },
        "totalIncome": {
          "format": "double",
          "type": "number"
        },
        "totalOutflowsWithTaxes": {
          "format": "double",
          "type": "number"
        },
        "totalOutflowsWithoutTaxes": {
          "format": "double",
          "type": "number"
        },
        "totalTaxes": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ClientPlanSelectorParams": {
      "description": "Parameters to select a plan from a client file",
      "properties": {
        "clientId": {
          "description": "Id of the client user for the plan. Required if current session user is an advisor. Ignored for client user sessions.",
          "type": "string"
        },
        "planId": {
          "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
          "type": "string"
        }
      },
      "required": [
        "planId"
      ],
      "type": "object"
    },
    "Currency": {
      "properties": {
        "formattedDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "formattedNoDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "raw": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        }
      },
      "type": "object"
    },
    "CurrencyWithDate": {
      "properties": {
        "date": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "formattedDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "formattedNoDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "raw": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        }
      },
      "type": "object"
    },
    "CurrencyWithGrowth": {
      "properties": {
        "formattedDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "formattedNoDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "growth": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        },
        "raw": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        }
      },
      "type": "object"
    },
    "Date": {
      "properties": {
        "day": {
          "format": "int32",
          "type": "integer"
        },
        "formatted": {
          "readOnly": true,
          "type": "string"
        },
        "formattedMMMMddyyyy": {
          "readOnly": true,
          "type": "string"
        },
        "formattedMMMdd": {
          "readOnly": true,
          "type": "string"
        },
        "formattedMMMddyyyy": {
          "readOnly": true,
          "type": "string"
        },
        "formattedMMMyyyy": {
          "readOnly": true,
          "type": "string"
        },
        "formattedNA": {
          "readOnly": true,
          "type": "string"
        },
        "month": {
          "format": "int32",
          "type": "integer"
        },
        "toDateTime": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "urlEncoded": {
          "readOnly": true,
          "type": "string"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DefinedBenefitPensionModel": {
      "properties": {
        "definedBenefitPension": {
          "$ref": "#/definitions/IDefinedBenefitPension"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DefinedBenefitPensionsModel": {
      "properties": {
        "definedBenefitPensions": {
          "items": {
            "$ref": "#/definitions/IDefinedBenefitPension"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DescriptiveBoolean": {
      "properties": {
        "rawValue": {
          "type": "boolean"
        },
        "valueAsYesNo": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FamilyModel": {
      "properties": {
        "family": {
          "$ref": "#/definitions/IFamily"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FormattedDateRange": {
      "properties": {
        "endDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "FormattedEnumType[DistributionDividendType]": {
      "properties": {
        "value": {
          "enum": [
            "TaxableIneligible",
            "NonTaxable",
            "TaxableEligible"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[Frequency]": {
      "properties": {
        "value": {
          "enum": [
            "Annual",
            "SemiAnnual",
            "Quarterly",
            "Bimonthly",
            "Monthly",
            "TwiceMonthly",
            "BiWeekly",
            "Weekly",
            "Daily",
            "Continuously",
            "Onetime",
            "EveryXYears"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[Gender]": {
      "properties": {
        "value": {
          "enum": [
            "Male",
            "Female"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[InterCompanyDividendType]": {
      "properties": {
        "value": {
          "enum": [
            "NonTaxable",
            "NonTaxableCda",
            "NonTaxableEligible",
            "TaxableEligible",
            "TaxableIneligible"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[LiabilityType]": {
      "properties": {
        "value": {
          "enum": [
            "Personal",
            "Business",
            "CreditCard",
            "Mortgage",
            "Vehicle",
            "PolicyLoan"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[PayOffOptionsType]": {
      "properties": {
        "value": {
          "enum": [
            "TransferToSurvivor",
            "PayOffAtFirstDeath",
            "PayOffAtOwnerDeath",
            "InsuredForLife"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[PaymentType]": {
      "properties": {
        "value": {
          "enum": [
            "InterestOnly",
            "PrincipalAndInterest",
            "SetPayment",
            "LastPeriodPayment"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[PrivateCorporationShareType]": {
      "properties": {
        "value": {
          "enum": [
            "Undefined",
            "Common",
            "Preferred"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[SEPPDistributionMethod]": {
      "properties": {
        "value": {
          "enum": [
            "RequiredMinDistribution",
            "Amortization",
            "Annuitization"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[SEPPLifeExpectancyTable]": {
      "properties": {
        "value": {
          "enum": [
            "NOT_APPLICABLE_UPPER_CASE",
            "SingleLifeExpectancy",
            "NonSingleLifeExpectancy"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedEnumType[SavingsStrategyType]": {
      "properties": {
        "value": {
          "enum": [
            "PreTax",
            "PostTax",
            "Employer",
            "Owner",
            "Mandatory"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedLifestyleType": {
      "properties": {
        "formatted": {
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "enum": [
            "Undefined",
            "PersonalUse",
            "ListedPersonal",
            "PrimaryResidence",
            "SecondaryResidence",
            "BusinessInterest",
            "Automobile"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormattedMaritalOrTaxFilingStatus": {
      "properties": {
        "value": {
          "enum": [
            "Undefined",
            "Single",
            "HeadOfHousehold",
            "MarriedFilingJointly",
            "MarriedFilingSeparately",
            "SingleParent",
            "Married",
            "CommonLaw",
            "Partner",
            "Divorced",
            "Widowed",
            "Separated"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoalCoveragePercent": {
      "properties": {
        "formattedRaw": {
          "format": "double",
          "type": "number"
        },
        "raw": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GoalId": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "GoalModel": {
      "properties": {
        "goal": {
          "$ref": "#/definitions/IGoal"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoalNeedsVsAbilitiesSummary": {
      "properties": {
        "abilities": {
          "format": "double",
          "type": "number"
        },
        "fixedNeeds": {
          "format": "double",
          "type": "number"
        },
        "fixedNeedsWithTaxes": {
          "format": "double",
          "type": "number"
        },
        "goalType": {
          "type": "string"
        },
        "identifier": {
          "format": "int32",
          "type": "integer"
        },
        "totalNeeds": {
          "format": "double",
          "type": "number"
        },
        "totalNeedsWithTaxes": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GoalsModel": {
      "properties": {
        "goals": {
          "items": {
            "$ref": "#/definitions/IGoal"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GrowthRateValues": {
      "properties": {
        "additionalGrowthPercent": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "isInflationAdjusted": {
          "readOnly": true,
          "type": "boolean"
        },
        "totalGrowth": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "HoldingCompaniesModel": {
      "properties": {
        "holdingCompanies": {
          "items": {
            "$ref": "#/definitions/IHoldingCompany"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "HoldingCompanyModel": {
      "properties": {
        "holdingCompany": {
          "$ref": "#/definitions/IHoldingCompany"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "HouseholdExternalModel": {
      "properties": {
        "accessiblePlans": {
          "items": {
            "$ref": "#/definitions/PublishedPlanModel"
          },
          "type": "array"
        },
        "clientDescription": {
          "type": "string"
        },
        "householdId": {
          "format": "int32",
          "type": "integer"
        },
        "legacyClientId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "HouseholdModel": {
      "properties": {
        "accessiblePlans": {
          "items": {
            "$ref": "#/definitions/PublishedPlanModel"
          },
          "type": "array"
        },
        "clientDescription": {
          "type": "string"
        },
        "householdId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "HouseholdsExternalDataModel": {
      "properties": {
        "externalHouseholdsData": {
          "items": {
            "$ref": "#/definitions/HouseholdExternalModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "HouseholdsModel": {
      "properties": {
        "households": {
          "items": {
            "$ref": "#/definitions/HouseholdModel"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IAccumulationCategoryData": {
      "properties": {
        "allAssets": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "lockedIn": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "nonQualified": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "qualified": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "roth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "tfsa": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IActivityData": {
      "properties": {
        "amountWithGrowth": {
          "$ref": "#/definitions/CurrencyWithGrowth",
          "readOnly": true
        },
        "applicableDateRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "directTo": {
          "readOnly": true,
          "type": "string"
        },
        "frequency": {
          "$ref": "#/definitions/IFormattedFrequency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAddress": {
      "properties": {
        "city": {
          "readOnly": true,
          "type": "string"
        },
        "combinedCityStateProvince": {
          "readOnly": true,
          "type": "string"
        },
        "country": {
          "readOnly": true,
          "type": "string"
        },
        "stateOrProvince": {
          "readOnly": true,
          "type": "string"
        },
        "stateOrProvinceAbbrev": {
          "readOnly": true,
          "type": "string"
        },
        "street1": {
          "readOnly": true,
          "type": "string"
        },
        "street2": {
          "readOnly": true,
          "type": "string"
        },
        "zipOrPostalCode": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IAssetCategories": {
      "properties": {
        "allAssets": {
          "items": {
            "$ref": "#/definitions/IValueDescriptionPair[Currency]"
          },
          "readOnly": true,
          "type": "array"
        },
        "businessAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "lifestyleAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "nonQualifiedAnnuities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "nonQualifiedAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "privateCorporations": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "qualifiedAnnuities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "qualifiedAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "realEstate": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "totalAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAssetClass": {
      "properties": {
        "index": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "maxConstraint": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "minConstraint": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "parentSuperAssetClassIndex": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "weight": {
          "$ref": "#/definitions/IAssetClassWeight",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAssetClassWeight": {
      "properties": {
        "dollarValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "percentage": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAssetId": {
      "properties": {
        "rawId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IAssetMix": {
      "properties": {
        "assetClassDisplayLevel": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "assetClassInfoForDisplayLevel": {
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "readOnly": true,
          "type": "array"
        },
        "classes": {
          "items": {
            "$ref": "#/definitions/IAssetClass"
          },
          "readOnly": true,
          "type": "array"
        },
        "superAssetClasses": {
          "items": {
            "$ref": "#/definitions/IAssetClass"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IAssetValuation": {
      "properties": {
        "costBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "valuationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAssets": {
      "properties": {
        "allAssets": {
          "$ref": "#/definitions/IAssetCategories",
          "readOnly": true
        },
        "clientAssets": {
          "$ref": "#/definitions/IAssetCategories",
          "readOnly": true
        },
        "coClientAssets": {
          "$ref": "#/definitions/IAssetCategories",
          "readOnly": true
        },
        "communityPropertyAssets": {
          "$ref": "#/definitions/IAssetCategories",
          "readOnly": true
        },
        "jointAssets": {
          "$ref": "#/definitions/IAssetCategories",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IAssumptions": {
      "properties": {
        "anyHeadAlreadyRetired": {
          "readOnly": true,
          "type": "boolean"
        },
        "bothRetired": {
          "readOnly": true,
          "type": "boolean"
        },
        "bucketing": {
          "$ref": "#/definitions/IBucketing",
          "readOnly": true
        },
        "client": {
          "$ref": "#/definitions/IHeadAssumptions",
          "readOnly": true
        },
        "coClient": {
          "$ref": "#/definitions/IHeadAssumptions",
          "readOnly": true
        },
        "firstToDieDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "firstToDieMember": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "readOnly": true,
          "type": "string"
        },
        "firstToRetireDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "inflationRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "lastToDieDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "lastToDieMember": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "readOnly": true,
          "type": "string"
        },
        "lastToRetireDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "retirementYearAdjustedIfAlreadyRetired": {
          "$ref": "#/definitions/Year",
          "readOnly": true
        },
        "splitSurplusSavingsStrategiesEnabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "taxMethod": {
          "enum": [
            "Average",
            "Simplified",
            "Detailed"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IBucketing": {
      "properties": {
        "distributionBucketTargetBalance": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "endDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "indexedAt": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "returnRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IBusinessEntity": {
      "properties": {
        "activities": {
          "items": {
            "$ref": "#/definitions/IBusinessEntityActivity"
          },
          "readOnly": true,
          "type": "array"
        },
        "assetId": {
          "$ref": "#/definitions/IAssetId",
          "readOnly": true
        },
        "businessType": {
          "enum": [
            "Undefined",
            "LLC",
            "Partnership",
            "SCorporation",
            "CCorporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "businessTypeFormatted": {
          "readOnly": true,
          "type": "string"
        },
        "currentAnnualDistributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "currentAnnualDividends": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "currentAnnualGrowthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "currentAnnualNetIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "entityName": {
          "readOnly": true,
          "type": "string"
        },
        "liquidationEvent": {
          "$ref": "#/definitions/ILiquidationEvent",
          "readOnly": true
        },
        "marketValuationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "owner": {
          "readOnly": true,
          "type": "string"
        },
        "purchaseAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "purchaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IBusinessEntityActivity": {
      "properties": {
        "applicableDateRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "distributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "expense": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "frequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        },
        "income": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IBusinessPhoneNumbers": {
      "properties": {
        "business": {
          "readOnly": true,
          "type": "string"
        },
        "fax": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ICanadianGovernmentPensions": {
      "properties": {
        "canadianOrQuebecPensionPlan": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "oldAgeSecurity": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlow": {
      "properties": {
        "incomes": {
          "$ref": "#/definitions/ICashFlowIncomes",
          "readOnly": true
        },
        "outflows": {
          "$ref": "#/definitions/ICashFlowOutflows",
          "readOnly": true
        },
        "surplusDeficit": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "taxes": {
          "$ref": "#/definitions/ITaxes",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlowByOwner": {
      "properties": {
        "clientCashFlow": {
          "$ref": "#/definitions/ICashFlow",
          "readOnly": true
        },
        "coClientCashFlow": {
          "$ref": "#/definitions/ICashFlow",
          "readOnly": true
        },
        "totalCashFlow": {
          "$ref": "#/definitions/ICashFlow",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlowCategory": {
      "properties": {
        "isItemizedEnabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "itemized": {
          "items": {
            "$ref": "#/definitions/ICashFlowItem"
          },
          "readOnly": true,
          "type": "array"
        },
        "total": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlowIncomes": {
      "properties": {
        "annuityPayments": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "disabilityIncomes": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "earnedIncome": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "insuranceBenefits": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "investmentIncomes": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lifestyleAssetLiquidations": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lockedInLiquidations": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "longTermCareBenefits": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "miscellaneousIncomes": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "nonQualifiedLiquidations": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "pension": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "privateCorporations": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "qualifiedLiquidations": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "qualifiedLiquidationsNonRequiredMinimumDistributions": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "requiredMinimumDistributions": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "retirementIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "rothLiquidations": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "socialSecurity": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "tfsaLiquidations": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "total": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "withdrawals": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlowItem": {
      "properties": {
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "descriptionWithOwner": {
          "readOnly": true,
          "type": "string"
        },
        "isCPP": {
          "readOnly": true,
          "type": "boolean"
        },
        "isOAS": {
          "readOnly": true,
          "type": "boolean"
        },
        "sourceId": {
          "readOnly": true,
          "type": "string"
        },
        "typeDescription": {
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICashFlowOutflows": {
      "properties": {
        "contributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "educationExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "employerExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "employmentBusinessExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "investmentExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lifestyleExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lifestyleExpensesDiscretionary": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lifestyleExpensesFixed": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "lockedInContributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "medicalExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "miscellaneousExpenses": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "miscellaneousExpensesDiscretionary": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "miscellaneousExpensesFixed": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "nonQualifiedContributions": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "nonQualifiedReinvestments": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "privateCorporationOutflows": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "qualifiedContributions": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "rothContributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "surplusOutflows": {
          "$ref": "#/definitions/ICashFlowCategory",
          "readOnly": true
        },
        "surplusSavings": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "tfsaContributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "totalNeeds": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "totalWithTaxes": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "totalWithoutTaxes": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ICommonShareClassDetails": {
      "properties": {
        "shareClassStructure": {
          "$ref": "#/definitions/IShareClassStructure",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IContributions": {
      "properties": {
        "interCompanyDividendsReceived": {
          "items": {
            "$ref": "#/definitions/IInterCompanyDividendReceived"
          },
          "readOnly": true,
          "type": "array"
        },
        "sharePurchases": {
          "items": {
            "$ref": "#/definitions/ISharePurchase"
          },
          "readOnly": true,
          "type": "array"
        },
        "shareholderLoans": {
          "items": {
            "$ref": "#/definitions/IShareholderLoan"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "ICorporationRealEstateAsset": {
      "properties": {
        "currentYearNetRentalIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "isActiveBusinessIncome": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "marketValueAsOf": {
          "$ref": "#/definitions/CurrencyWithDate",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "preTaxGrowthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "purchaseAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "purchaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "startOfYearCostBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "startOfYearMarketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IDebtModStrategies": {
      "properties": {
        "lumpSumDebtModStrategies": {
          "items": {
            "$ref": "#/definitions/ILumpSumDebtModStrategy"
          },
          "readOnly": true,
          "type": "array"
        },
        "periodicDebtModStrategies": {
          "items": {
            "$ref": "#/definitions/IPeriodicDebtModStrategy"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IDefinedBenefitPension": {
      "properties": {
        "benefit": {
          "$ref": "#/definitions/IOptionalField[Benefit[CurrencyWithGrowth]]",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "isBenefitFormula": {
          "readOnly": true,
          "type": "boolean"
        },
        "isBenefitIntegratedWithCppQpp": {
          "readOnly": true,
          "type": "boolean"
        },
        "isFormulaIntegratedWithCppQpp": {
          "readOnly": true,
          "type": "boolean"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "readOnly": true,
          "type": "string"
        },
        "pensionType": {
          "readOnly": true,
          "type": "string"
        },
        "percentPayableToSurvivor": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "projectedYearsOfService": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IDependent": {
      "properties": {
        "address": {
          "$ref": "#/definitions/IAddress",
          "readOnly": true
        },
        "ageAsOfPlanDate": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "birthdate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "citizenship": {
          "readOnly": true,
          "type": "string"
        },
        "dependentOf": {
          "readOnly": true,
          "type": "string"
        },
        "dependentOfId": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "email": {
          "readOnly": true,
          "type": "string"
        },
        "employer": {
          "$ref": "#/definitions/IEmployer",
          "readOnly": true
        },
        "gender": {
          "$ref": "#/definitions/FormattedEnumType[Gender]",
          "readOnly": true
        },
        "name": {
          "$ref": "#/definitions/IPersonName",
          "readOnly": true
        },
        "ownershipId": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "phone": {
          "$ref": "#/definitions/IPhoneNumbers",
          "readOnly": true
        },
        "relationship": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEmployer": {
      "properties": {
        "address": {
          "$ref": "#/definitions/IAddress",
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "phone": {
          "$ref": "#/definitions/IBusinessPhoneNumbers",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEstateDetails": {
      "properties": {
        "enableFiftyPercentSolution": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "estateFreeze": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "estateFreezeDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "shareOptionsAtFirstDeath": {
          "readOnly": true,
          "type": "string"
        },
        "shareOptionsAtSecondDeathAndDeathInTheSameYear": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IFamily": {
      "properties": {
        "address": {
          "$ref": "#/definitions/IAddress",
          "readOnly": true
        },
        "client": {
          "$ref": "#/definitions/IFamilyMember",
          "readOnly": true
        },
        "coClient": {
          "$ref": "#/definitions/IFamilyMember",
          "readOnly": true
        },
        "dependents": {
          "items": {
            "$ref": "#/definitions/IDependent"
          },
          "readOnly": true,
          "type": "array"
        },
        "headFullNames": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IFamilyMember": {
      "properties": {
        "address": {
          "$ref": "#/definitions/IAddress",
          "readOnly": true
        },
        "ageAsOfPlanDate": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "birthdate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "citizenship": {
          "readOnly": true,
          "type": "string"
        },
        "email": {
          "readOnly": true,
          "type": "string"
        },
        "employer": {
          "$ref": "#/definitions/IEmployer",
          "readOnly": true
        },
        "gender": {
          "$ref": "#/definitions/FormattedEnumType[Gender]",
          "readOnly": true
        },
        "name": {
          "$ref": "#/definitions/IPersonName",
          "readOnly": true
        },
        "ownershipId": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "phone": {
          "$ref": "#/definitions/IPhoneNumbers",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IFormattedFrequency": {
      "properties": {
        "everyNPeriods": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "formatted": {
          "readOnly": true,
          "type": "string"
        },
        "formattedAbbrv": {
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "enum": [
            "Annual",
            "SemiAnnual",
            "Quarterly",
            "Bimonthly",
            "Monthly",
            "TwiceMonthly",
            "BiWeekly",
            "Weekly",
            "Daily",
            "Continuously",
            "Onetime",
            "EveryXYears"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IGeneralSetups": {
      "properties": {
        "appliedBusinessLimit": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "goodWillFutureSalesMarketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "percentageOfLimitToUse": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "previousYearAdjustedAggregateInvestmentIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IGoal": {
      "properties": {
        "assetsRemainingAfterFundingGoal": {
          "$ref": "#/definitions/IOptionalField[Currency]",
          "readOnly": true
        },
        "coverage": {
          "$ref": "#/definitions/IOptionalField[GoalCoveragePercent]",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "endDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "identifier": {
          "$ref": "#/definitions/GoalId",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "type": {
          "enum": [
            "Retirement",
            "SurvivorIncome",
            "CriticalIllness",
            "LongTermCareInsurance",
            "Cashflow",
            "DisabilityIncome",
            "Education",
            "MajorPurchase",
            "EmergencyFund",
            "Undefined",
            "NotSupported"
          ],
          "readOnly": true,
          "type": "string"
        },
        "yearAssetsDepleted": {
          "$ref": "#/definitions/IOptionalField[Year]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IGovernmentPensions": {
      "properties": {
        "estimatedCanadianGovernmentPensions": {
          "$ref": "#/definitions/ICanadianGovernmentPensions",
          "readOnly": true
        },
        "estimatedSocialSecurity": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IHeadAssumptions": {
      "properties": {
        "alreadyRetired": {
          "readOnly": true,
          "type": "boolean"
        },
        "deceasedAge": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "deceasedDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "estateIncomeTaxes": {
          "$ref": "#/definitions/IIncomeTaxes",
          "readOnly": true
        },
        "governmentPensions": {
          "$ref": "#/definitions/IGovernmentPensions",
          "readOnly": true
        },
        "maritalOrTaxFilingStatus": {
          "$ref": "#/definitions/FormattedMaritalOrTaxFilingStatus",
          "readOnly": true
        },
        "preRetirementIncomeTaxes": {
          "$ref": "#/definitions/IIncomeTaxes",
          "readOnly": true
        },
        "retirementAge": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "retirementDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "retirementIncomeTaxes": {
          "$ref": "#/definitions/IIncomeTaxes",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IHistoricalData": {
      "properties": {
        "generalSetups": {
          "$ref": "#/definitions/IGeneralSetups",
          "readOnly": true
        },
        "notionalAccounts": {
          "$ref": "#/definitions/INotionalAccounts",
          "readOnly": true
        },
        "outstandingShareholderLoans": {
          "$ref": "#/definitions/IOutstandingShareholderLoans",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IHolding": {
      "properties": {
        "assetMix": {
          "$ref": "#/definitions/IAssetMix",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "holdAmount": {
          "$ref": "#/definitions/PercentOr[Currency]",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "isClassified": {
          "readOnly": true,
          "type": "boolean"
        },
        "preRetirementReturnRates": {
          "$ref": "#/definitions/IPeriodRateOfReturnDetails",
          "readOnly": true
        },
        "retirementReturnRates": {
          "$ref": "#/definitions/IPeriodRateOfReturnDetails",
          "readOnly": true
        },
        "symbol": {
          "readOnly": true,
          "type": "string"
        },
        "valuation": {
          "$ref": "#/definitions/IAssetValuation",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IHoldingCompany": {
      "properties": {
        "annualDividendYield": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "ccpc": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "commonSharesOutstanding": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "contributions": {
          "$ref": "#/definitions/IContributions",
          "readOnly": true
        },
        "corporateYearEnd": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "dividendType": {
          "enum": [
            "Taxable",
            "NonTaxable"
          ],
          "readOnly": true,
          "type": "string"
        },
        "dividendTypeFormatted": {
          "readOnly": true,
          "type": "string"
        },
        "estateDetails": {
          "$ref": "#/definitions/IEstateDetails",
          "readOnly": true
        },
        "historicalData": {
          "$ref": "#/definitions/IHistoricalData",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "investmentAccounts": {
          "items": {
            "$ref": "#/definitions/IInvestmentAccount"
          },
          "readOnly": true,
          "type": "array"
        },
        "liabilities": {
          "items": {
            "$ref": "#/definitions/ILiability"
          },
          "readOnly": true,
          "type": "array"
        },
        "lifeInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/ILifeInsurancePolicy"
          },
          "readOnly": true,
          "type": "array"
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "numPreferredShareClasses": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "otherAssets": {
          "items": {
            "$ref": "#/definitions/IRealEstateAsset"
          },
          "readOnly": true,
          "type": "array"
        },
        "ownershipAsOfDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "ownershipDetails": {
          "$ref": "#/definitions/IOwnershipDetails",
          "readOnly": true
        },
        "preferredSharesOutstanding": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "provinceOfIncorporation": {
          "readOnly": true,
          "type": "string"
        },
        "provinceOfTaxation": {
          "readOnly": true,
          "type": "string"
        },
        "realEstateAssets": {
          "items": {
            "$ref": "#/definitions/ICorporationRealEstateAsset"
          },
          "readOnly": true,
          "type": "array"
        },
        "valueOfAllCommonShares": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "valueOfAllPreferredShares": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "withdrawals": {
          "$ref": "#/definitions/IWithdrawals",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IIncomeTaxes": {
      "properties": {
        "averageTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "combinedStateAndAverageTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "combinedStateAndLongTermCapitalGainsTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "combinedStateAndMarginalTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "longTermCapitalGainsTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "marginalTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "stateTaxRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IInsurancePremium": {
      "properties": {
        "amount": {
          "$ref": "#/definitions/CurrencyWithGrowth",
          "readOnly": true
        },
        "annualAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "ceaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "formattedPayingMember": {
          "readOnly": true,
          "type": "string"
        },
        "frequency": {
          "$ref": "#/definitions/IFormattedFrequency",
          "readOnly": true
        },
        "payingMember": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "premiumRefundAmount": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IInterCompanyDividendReceived": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "dividendType": {
          "$ref": "#/definitions/FormattedEnumType[InterCompanyDividendType]",
          "readOnly": true
        },
        "generalRateOfIncomePoolAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "receivedFrom": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IInvestmentAccount": {
      "properties": {
        "annualFee": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "costBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "excludeInAA": {
          "readOnly": true,
          "type": "boolean"
        },
        "holdings": {
          "items": {
            "$ref": "#/definitions/IHolding"
          },
          "readOnly": true,
          "type": "array"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "rateOfReturn": {
          "$ref": "#/definitions/IRateOfReturnDetails",
          "readOnly": true
        },
        "type": {
          "readOnly": true,
          "type": "string"
        },
        "valuationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IInvestmentAccountOwnershipData": {
      "properties": {
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "ownersName": {
          "readOnly": true,
          "type": "string"
        },
        "ownershipPercent": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILiabilities": {
      "properties": {
        "clientLiabilities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "coClientLiabilities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "communityPropertyLiabilities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "jointLiabilities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "totalLiabilities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILiability": {
      "properties": {
        "annualPaymentAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "balanceAsOf": {
          "$ref": "#/definitions/CurrencyWithDate",
          "readOnly": true
        },
        "balanceAsOfPlanDate": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "debtModStrategies": {
          "$ref": "#/definitions/IDebtModStrategies",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "insuredForDisability": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "insuredForLife": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "interestRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "isInterestRateVariable": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "isPaymentVariable": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "linkedAssetId": {
          "readOnly": true,
          "type": "string"
        },
        "linkedAssetName": {
          "readOnly": true,
          "type": "string"
        },
        "loanDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "originalBalance": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "paidOffByRetirement": {
          "$ref": "#/definitions/IOptionalField[DescriptiveBoolean]",
          "readOnly": true
        },
        "payOffDate": {
          "$ref": "#/definitions/IOptionalField[Date]",
          "readOnly": true
        },
        "payOffOptionType": {
          "$ref": "#/definitions/FormattedEnumType[PayOffOptionsType]",
          "readOnly": true
        },
        "paymentAmount": {
          "$ref": "#/definitions/IOptionalField[Currency]",
          "readOnly": true
        },
        "paymentFrequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        },
        "paymentType": {
          "$ref": "#/definitions/FormattedEnumType[PaymentType]",
          "readOnly": true
        },
        "type": {
          "$ref": "#/definitions/FormattedEnumType[LiabilityType]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILifeInsurancePolicy": {
      "properties": {
        "beneficiaryName": {
          "readOnly": true,
          "type": "string"
        },
        "benefitPeriod": {
          "$ref": "#/definitions/TimePeriod",
          "readOnly": true
        },
        "cashSurrenderValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "coverageCeaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "dailyBenefitValue": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "effectiveDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "formattedBenefitValue": {
          "readOnly": true,
          "type": "string"
        },
        "formattedInsuredType": {
          "readOnly": true,
          "type": "string"
        },
        "formattedPolicyType": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient",
            "FirstToDie",
            "SecondToDie",
            "Other"
          ],
          "readOnly": true,
          "type": "string"
        },
        "isCSVPayableWithDeathBenefit": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "monthlyBenefitValue": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "ownerName": {
          "readOnly": true,
          "type": "string"
        },
        "policyType": {
          "enum": [
            "WholeLife",
            "UniversalLife",
            "Term1Life",
            "Term5Life",
            "Term10Life",
            "Term20Life",
            "Term100Life",
            "VariableLife",
            "VariableUniversalLife",
            "GroupLongTermDisability",
            "GroupShortTermDisability",
            "IndividualDisability",
            "LongTermCare",
            "CriticalIllness",
            "MedicalCoveragePlan",
            "CashToInsuredCoverage"
          ],
          "readOnly": true,
          "type": "string"
        },
        "premiumData": {
          "$ref": "#/definitions/IInsurancePremium",
          "readOnly": true
        },
        "premiumsWaivedAtDisability": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "rawBenefitValue": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "waitingPeriod": {
          "$ref": "#/definitions/TimePeriod",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILifestyleAsset": {
      "properties": {
        "afterTaxProceedsAccountName": {
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "futureValueProjectedGrossSaleValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "isMajorPurchaseGoal": {
          "readOnly": true,
          "type": "boolean"
        },
        "marketValueAsOf": {
          "$ref": "#/definitions/CurrencyWithDate",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "preTaxGrowthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "presentValueProjectedGrossSaleValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "projectedSaleDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "purchaseAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "purchaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "sellingCostPercent": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "type": {
          "$ref": "#/definitions/FormattedLifestyleType",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILiquidationEvent": {
      "properties": {
        "firstSaleDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "lastSaleDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "liquidationType": {
          "enum": [
            "SellAtPlanEnd",
            "SellAllOnSpecificDate",
            "SellInInstallments"
          ],
          "readOnly": true,
          "type": "string"
        },
        "liquidationTypeDescription": {
          "readOnly": true,
          "type": "string"
        },
        "saleDatesDescription": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ILoanRepaymentToShareholder": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "shareholder": {
          "enum": [
            "Undefined",
            "Head1",
            "Head2",
            "Other"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ILumpSumDebtModStrategy": {
      "properties": {
        "amount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "debtModificationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILumpSumRedemptionStrategy": {
      "properties": {
        "amountOrPercentOfValue": {
          "$ref": "#/definitions/PercentOr[Currency]",
          "readOnly": true
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        },
        "redemptionDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ILumpSumSavingsStrategy": {
      "properties": {
        "amountOrPercentOfSalary": {
          "$ref": "#/definitions/PercentOr[Currency]",
          "readOnly": true
        },
        "formattedSavingsTypeWithDash": {
          "readOnly": true,
          "type": "string"
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        },
        "savingsDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "savingsType": {
          "$ref": "#/definitions/FormattedEnumType[SavingsStrategyType]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IManualDividendDistribution": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "directCoClientAfterTaxProceedsTo": {
          "readOnly": true,
          "type": "string"
        },
        "dividendType": {
          "$ref": "#/definitions/FormattedEnumType[DistributionDividendType]",
          "readOnly": true
        },
        "shareId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "shareType": {
          "$ref": "#/definitions/FormattedEnumType[PrivateCorporationShareType]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "INetWorth": {
      "properties": {
        "netWorthAtPlanDate": {
          "$ref": "#/definitions/INetWorthAtDate",
          "readOnly": true
        },
        "netWorthAtPlanEnd": {
          "$ref": "#/definitions/IOptionalField[INetWorthAtDate]",
          "readOnly": true
        },
        "netWorthAtRetirement": {
          "$ref": "#/definitions/IOptionalField[INetWorthAtDate]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "INetWorthAtDate": {
      "properties": {
        "assets": {
          "$ref": "#/definitions/IAssets",
          "readOnly": true
        },
        "assetsFundingRetirement": {
          "$ref": "#/definitions/IRetirementAssets",
          "readOnly": true
        },
        "clientNetWorth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "coClientNetWorth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "communityPropertyNetWorth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "jointNetWorth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "liabilities": {
          "$ref": "#/definitions/ILiabilities",
          "readOnly": true
        },
        "totalNetWorth": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "INetWorthCategory": {
      "properties": {
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "itemized": {
          "items": {
            "$ref": "#/definitions/INetWorthItem"
          },
          "readOnly": true,
          "type": "array"
        },
        "total": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "INetWorthItem": {
      "properties": {
        "accountType": {
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "INotionalAccounts": {
      "properties": {
        "capitalDividendAccountEndOfYearValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "capitalLossesCarryoverEndOfYearValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "dividendRefund": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "generalRateOfIncomePoolEndOfYearValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "nonEligibleRefundableDividendTaxOnHandEndOfYearValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "nrdtohDividendRefund": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "refundableDividendTaxOnHandEndOfYearValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[Benefit[CurrencyWithGrowth]]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/Benefit[CurrencyWithGrowth]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[Currency]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[Date]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[DescriptiveBoolean]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[GoalCoveragePercent]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/GoalCoveragePercent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[INetWorthAtDate]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/INetWorthAtDate",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOptionalField[Year]": {
      "properties": {
        "enabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "populated": {
          "readOnly": true,
          "type": "boolean"
        },
        "value": {
          "$ref": "#/definitions/Year",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOutstandingShareholderLoans": {
      "properties": {
        "clientAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "coClientAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "otherAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IOwnershipData": {
      "properties": {
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "ownersName": {
          "readOnly": true,
          "type": "string"
        },
        "ownershipPercent": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "shares": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IOwnershipDetails": {
      "properties": {
        "common": {
          "items": {
            "$ref": "#/definitions/IOwnershipData"
          },
          "readOnly": true,
          "type": "array"
        },
        "commonSharesDetails": {
          "items": {
            "$ref": "#/definitions/ICommonShareClassDetails"
          },
          "readOnly": true,
          "type": "array"
        },
        "preferred": {
          "items": {
            "$ref": "#/definitions/IOwnershipData"
          },
          "readOnly": true,
          "type": "array"
        },
        "preferredSharesDetails": {
          "items": {
            "$ref": "#/definitions/IPreferredShareClassDetails"
          },
          "readOnly": true,
          "type": "array"
        },
        "shareholderPercentOwnership": {
          "items": {
            "$ref": "#/definitions/IInvestmentAccountOwnershipData"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IPeriodRateOfReturnDetails": {
      "properties": {
        "breakdown": {
          "$ref": "#/definitions/IRateOfReturnBreakdown",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "total": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPeriodicDebtModStrategy": {
      "properties": {
        "amount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "applicableDateRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "debtModificationFrequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPeriodicRedemptionStrategy": {
      "properties": {
        "amountOrPercentOfValue": {
          "$ref": "#/definitions/PercentOr[Currency]",
          "readOnly": true
        },
        "applicableDateRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        },
        "redemptionFrequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPeriodicSavingsStrategy": {
      "properties": {
        "amountOrPercentOfSalary": {
          "$ref": "#/definitions/PercentOr[Currency]",
          "readOnly": true
        },
        "endDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "formattedFrequencyAbbrv": {
          "readOnly": true,
          "type": "string"
        },
        "formattedSavingsTypeWithDash": {
          "readOnly": true,
          "type": "string"
        },
        "indexRate": {
          "$ref": "#/definitions/GrowthRateValues",
          "readOnly": true
        },
        "isMaxContribution": {
          "readOnly": true,
          "type": "boolean"
        },
        "savingsFrequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        },
        "savingsType": {
          "$ref": "#/definitions/FormattedEnumType[SavingsStrategyType]",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPersonName": {
      "properties": {
        "firstName": {
          "readOnly": true,
          "type": "string"
        },
        "formal": {
          "readOnly": true,
          "type": "string"
        },
        "full": {
          "readOnly": true,
          "type": "string"
        },
        "lastName": {
          "readOnly": true,
          "type": "string"
        },
        "middle": {
          "readOnly": true,
          "type": "string"
        },
        "title": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IPhoneNumbers": {
      "properties": {
        "additionalNumbers": {
          "$ref": "#/definitions/IBusinessPhoneNumbers",
          "readOnly": true
        },
        "business": {
          "readOnly": true,
          "type": "string"
        },
        "cell": {
          "readOnly": true,
          "type": "string"
        },
        "fax": {
          "readOnly": true,
          "type": "string"
        },
        "home": {
          "readOnly": true,
          "type": "string"
        },
        "pager": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IPlanModules": {
      "properties": {
        "isCriticalIllnessModuleEnabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "isDisabilityIncomeModuleEnabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "isEstatePlanningModuleEabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "isLongTermCareModuleEnabled": {
          "readOnly": true,
          "type": "boolean"
        },
        "isSurvivorIncomeModuleEnabled": {
          "readOnly": true,
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "IPortfolioAccount": {
      "properties": {
        "accountReturnRatesNoLongerCorrelateToAssumedAssetMixDueToOverrideInGsm": {
          "readOnly": true,
          "type": "boolean"
        },
        "annualFee": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "applicableRangeRetirementLiquidatedAssets": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "costBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "descriptionWithOwner": {
          "readOnly": true,
          "type": "string"
        },
        "excludeInAA": {
          "readOnly": true,
          "type": "boolean"
        },
        "holdings": {
          "items": {
            "$ref": "#/definitions/IHolding"
          },
          "readOnly": true,
          "type": "array"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "isSystemGenerated": {
          "readOnly": true,
          "type": "boolean"
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "portfolioAssets": {
          "items": {
            "$ref": "#/definitions/IPortfolioAsset"
          },
          "readOnly": true,
          "type": "array"
        },
        "rateOfReturn": {
          "$ref": "#/definitions/IRateOfReturnDetails",
          "readOnly": true
        },
        "savingsStrategies": {
          "$ref": "#/definitions/ISavingsStrategies",
          "readOnly": true
        },
        "seppRedemptionStrategy": {
          "$ref": "#/definitions/ISEPPRedemptionStrategy",
          "readOnly": true
        },
        "type": {
          "readOnly": true,
          "type": "string"
        },
        "valuationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPortfolioAsset": {
      "properties": {
        "applicableRangeRetirementLiquidatedAssets": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "costBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "goalFundingDescription": {
          "readOnly": true,
          "type": "string"
        },
        "goalFundingGoalId": {
          "$ref": "#/definitions/GoalId",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "incomeReinvested": {
          "$ref": "#/definitions/IReturnIncomeReinvestedDetails",
          "readOnly": true
        },
        "isSystemGenerated": {
          "readOnly": true,
          "type": "boolean"
        },
        "marketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "parentAccountId": {
          "readOnly": true,
          "type": "string"
        },
        "rateOfReturn": {
          "$ref": "#/definitions/IRateOfReturnDetails",
          "readOnly": true
        },
        "redemptionStrategies": {
          "$ref": "#/definitions/IRedemptionStrategies",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IPreferredShareClassDetails": {
      "properties": {
        "annualDividendYield": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "dividendType": {
          "$ref": "#/definitions/FormattedEnumType[DistributionDividendType]",
          "readOnly": true
        },
        "redemptionValuePerShare": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "shareClassStructure": {
          "$ref": "#/definitions/IShareClassStructure",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRateOfReturnBreakdown": {
      "properties": {
        "capitalGain": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "deferredGrowth": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "dividend": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "interest": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "taxFree": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRateOfReturnDetails": {
      "properties": {
        "preRetirement": {
          "$ref": "#/definitions/IPeriodRateOfReturnDetails",
          "readOnly": true
        },
        "retirement": {
          "$ref": "#/definitions/IPeriodRateOfReturnDetails",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRealEstateAsset": {
      "properties": {
        "currentYearNetRentalIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "marketValueAsOf": {
          "$ref": "#/definitions/CurrencyWithDate",
          "readOnly": true
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "preTaxGrowthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "purchaseAmount": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "purchaseDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "standardDeviation": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "startOfYearCostBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "startOfYearMarketValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRedemptionStrategies": {
      "properties": {
        "lumpSumRedemptionStrategies": {
          "items": {
            "$ref": "#/definitions/ILumpSumRedemptionStrategy"
          },
          "readOnly": true,
          "type": "array"
        },
        "periodicRedemptionStrategies": {
          "items": {
            "$ref": "#/definitions/IPeriodicRedemptionStrategy"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IRestrictedStock": {
      "properties": {
        "annualDividendPerUnit": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "applicableRangeRetirementLiquidatedAssets": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "awardedDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "currentUnitValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "growthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "numberOfUnits": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "owner": {
          "enum": [
            "All",
            "Head1",
            "Head2",
            "NonHead1",
            "NonHead2",
            "NonHead3",
            "NonHead4",
            "NonHead5",
            "NonHead6",
            "NonHead7",
            "NonHead8",
            "NonHead9",
            "CommunityProperty",
            "Joint",
            "Other",
            "AllDependents",
            "AllFamilyMembers",
            "Corporation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "pricePaidForAward": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "type": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IRetirementAssetCategories": {
      "properties": {
        "allAssets": {
          "items": {
            "$ref": "#/definitions/IValueDescriptionPair[Currency]"
          },
          "readOnly": true,
          "type": "array"
        },
        "nonQualifiedAnnuities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "nonQualifiedAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "qualifiedAnnuities": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "qualifiedAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        },
        "totalAssets": {
          "$ref": "#/definitions/INetWorthCategory",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRetirementAssets": {
      "properties": {
        "allAssets": {
          "$ref": "#/definitions/IRetirementAssetCategories",
          "readOnly": true
        },
        "clientAssets": {
          "$ref": "#/definitions/IRetirementAssetCategories",
          "readOnly": true
        },
        "coClientAssets": {
          "$ref": "#/definitions/IRetirementAssetCategories",
          "readOnly": true
        },
        "communityPropertyAssets": {
          "$ref": "#/definitions/IRetirementAssetCategories",
          "readOnly": true
        },
        "jointAssets": {
          "$ref": "#/definitions/IRetirementAssetCategories",
          "readOnly": true
        },
        "withdrawalRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IReturnIncomeReinvestedDetails": {
      "properties": {
        "duringPreRetirementPeriod": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "duringRetirementPeriod": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IRrspMaximizerStrategy": {
      "properties": {
        "applicable": {
          "readOnly": true,
          "type": "string"
        },
        "applicableRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "assetName": {
          "readOnly": true,
          "type": "string"
        },
        "constrainedByCashflow": {
          "$ref": "#/definitions/DescriptiveBoolean",
          "readOnly": true
        },
        "month": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ISEPPRedemptionStrategy": {
      "properties": {
        "applicableDateRange": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "distributionMethod": {
          "$ref": "#/definitions/FormattedEnumType[SEPPDistributionMethod]",
          "readOnly": true
        },
        "lifeExpectancyTable": {
          "$ref": "#/definitions/FormattedEnumType[SEPPLifeExpectancyTable]",
          "readOnly": true
        },
        "redemptionFrequency": {
          "$ref": "#/definitions/FormattedEnumType[Frequency]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ISavingsStrategies": {
      "properties": {
        "lumpSumSavingsStrategies": {
          "items": {
            "$ref": "#/definitions/ILumpSumSavingsStrategy"
          },
          "readOnly": true,
          "type": "array"
        },
        "periodicSavingsStrategies": {
          "items": {
            "$ref": "#/definitions/IPeriodicSavingsStrategy"
          },
          "readOnly": true,
          "type": "array"
        },
        "rrspMaximizerStrategies": {
          "items": {
            "$ref": "#/definitions/IRrspMaximizerStrategy"
          },
          "readOnly": true,
          "type": "array"
        },
        "surplusSavingsStrategies": {
          "items": {
            "$ref": "#/definitions/ISurplusSavingsStrategy"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IShareClassStructure": {
      "properties": {
        "clientOwnershipData": {
          "$ref": "#/definitions/IOwnershipData",
          "readOnly": true
        },
        "coClientOwnershipData": {
          "$ref": "#/definitions/IOwnershipData",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "otherOwnershipData": {
          "$ref": "#/definitions/IOwnershipData",
          "readOnly": true
        },
        "parentCorporationOwnershipData": {
          "$ref": "#/definitions/IOwnershipData",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ISharePurchase": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "shareHolder": {
          "enum": [
            "Undefined",
            "Head1",
            "Head2",
            "Other"
          ],
          "readOnly": true,
          "type": "string"
        },
        "shareId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "shareType": {
          "$ref": "#/definitions/FormattedEnumType[PrivateCorporationShareType]",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IShareRedemption": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "shareId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "shareType": {
          "$ref": "#/definitions/FormattedEnumType[PrivateCorporationShareType]",
          "readOnly": true
        },
        "shareholder": {
          "enum": [
            "Undefined",
            "Head1",
            "Head2",
            "Other"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IShareholderLoan": {
      "properties": {
        "activityData": {
          "$ref": "#/definitions/IActivityData",
          "readOnly": true
        },
        "shareHolder": {
          "enum": [
            "Undefined",
            "Head1",
            "Head2",
            "Other"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IStockOption": {
      "properties": {
        "annualDividendPerUnit": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "applicableRangeRetirementLiquidatedAssets": {
          "$ref": "#/definitions/FormattedDateRange",
          "readOnly": true
        },
        "company": {
          "readOnly": true,
          "type": "string"
        },
        "currentUnitPrice": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "currentUnitPriceDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "endOfPlanYearExercisableGrossValue": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "exerciseCost": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "expirationDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "grantDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "grantedOptions": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "growthRate": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "optionsExercisable": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "optionsExercised": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "optionsVested": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "owner": {
          "readOnly": true,
          "type": "string"
        },
        "preTaxProfit": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "startOfYearAMTBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "startOfYearCostBasis": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "startOfYearUnitPrice": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "strikePrice": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "symbol": {
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "enum": [
            "NonQualifiedStockOption",
            "IncentiveStockOption"
          ],
          "readOnly": true,
          "type": "string"
        },
        "typeFormatted": {
          "readOnly": true,
          "type": "string"
        },
        "vestingSchedule": {
          "items": {
            "$ref": "#/definitions/IVestingData"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "ISurplusSavingsStrategy": {
      "properties": {
        "endDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "percentOfSurplus": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "percentOfSurplusClient": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "percentOfSurplusCoClient": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        },
        "startDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ITaxes": {
      "properties": {
        "estate": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "federalIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "giftAndGenerationSkippingTransfer": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "medicare": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "pensionEarlyDistributionPenalty": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "pensionPenaltyOnExcessDistributions": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "refundableCredits": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "socialSecurityEmployer": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "socialSecuritySelfEmployed": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "stateIncome": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "total": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IValueDescriptionPair[Currency]": {
      "properties": {
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IVestingData": {
      "properties": {
        "date": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "percentVested": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IWithdrawals": {
      "properties": {
        "loanRepaymentsToShareholder": {
          "items": {
            "$ref": "#/definitions/ILoanRepaymentToShareholder"
          },
          "readOnly": true,
          "type": "array"
        },
        "manualDividendDistributions": {
          "items": {
            "$ref": "#/definitions/IManualDividendDistribution"
          },
          "readOnly": true,
          "type": "array"
        },
        "shareRedemptions": {
          "items": {
            "$ref": "#/definitions/IShareRedemption"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "LiabilitiesModel": {
      "properties": {
        "liabilities": {
          "items": {
            "$ref": "#/definitions/ILiability"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LiabilityModel": {
      "properties": {
        "liability": {
          "$ref": "#/definitions/ILiability"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifestyleAssetModel": {
      "properties": {
        "lifestyleAsset": {
          "$ref": "#/definitions/ILifestyleAsset"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifestyleAssetsModel": {
      "properties": {
        "lifestyleAssets": {
          "items": {
            "$ref": "#/definitions/ILifestyleAsset"
          },
          "type": "array"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LoginModel": {
      "properties": {
        "password": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "NeedsVsAbilitiesModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/ProjectedGoalsSummary[GoalNeedsVsAbilitiesSummary]"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetWorthModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "netWorth": {
          "$ref": "#/definitions/INetWorth"
        }
      },
      "type": "object"
    },
    "NetWorthProjectionModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "netWorth": {
          "$ref": "#/definitions/ProjectedNetWorthSummary"
        }
      },
      "type": "object"
    },
    "NetWorthProjectionsModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/NetWorthProjectionModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetWorthSummary": {
      "properties": {
        "totalAssets": {
          "format": "double",
          "type": "number"
        },
        "totalLiabilities": {
          "format": "double",
          "type": "number"
        },
        "totalNetWorth": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Object": {
      "properties": {},
      "type": "object"
    },
    "ObjectLink": {
      "properties": {
        "href": {
          "type": "string"
        },
        "rel": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Percent": {
      "properties": {
        "formattedDoubleDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "formattedNoDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "formattedSingleDecimal": {
          "readOnly": true,
          "type": "string"
        },
        "raw": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "rawCappedAt100": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        }
      },
      "type": "object"
    },
    "PercentOr[Currency]": {
      "properties": {
        "currency": {
          "$ref": "#/definitions/Currency",
          "readOnly": true
        },
        "percent": {
          "$ref": "#/definitions/Percent",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "PlanInformationModel": {
      "properties": {
        "country": {
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "isJointAnalysis": {
          "readOnly": true,
          "type": "boolean"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "locale": {
          "readOnly": true,
          "type": "string"
        },
        "planDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        },
        "planDescription": {
          "readOnly": true,
          "type": "string"
        },
        "planId": {
          "readOnly": true,
          "type": "string"
        },
        "planLevel": {
          "enum": [
            "Calculator",
            "FinancialAssessment",
            "AssetAllocation",
            "Level1",
            "Level2",
            "Level3",
            "Undefined"
          ],
          "readOnly": true,
          "type": "string"
        },
        "planModules": {
          "$ref": "#/definitions/IPlanModules",
          "readOnly": true
        },
        "planType": {
          "readOnly": true,
          "type": "string"
        },
        "publishDate": {
          "$ref": "#/definitions/Date",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "PlanSelectorParam": {
      "properties": {
        "planId": {
          "description": "Id of the Plan to retrieve or update data for (e.g. 1001-11-3).",
          "type": "string"
        }
      },
      "required": [
        "planId"
      ],
      "type": "object"
    },
    "PlanStatusesModel": {
      "properties": {
        "hasIntegratedAccounts": {
          "enum": [
            "Unknown",
            "Yes",
            "No"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "planDataStatus": {
          "enum": [
            "UpdateNotRequired",
            "UpdateRequired",
            "UpdateInProgress",
            "UpdateFailed",
            "NoSuchPlan"
          ],
          "type": "string"
        },
        "serializedDataStatus": {
          "enum": [
            "UpdateNotRequired",
            "UpdateRequired",
            "UpdateInProgress",
            "UpdateFailed",
            "NoSuchPlan"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "PortfolioAccountModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "portfolioAccount": {
          "$ref": "#/definitions/IPortfolioAccount"
        }
      },
      "type": "object"
    },
    "PortfolioAccountsModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "portfolioAccounts": {
          "items": {
            "$ref": "#/definitions/IPortfolioAccount"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectedAnnualSummariesModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projections": {
          "items": {
            "$ref": "#/definitions/ProjectedAnnualSummaryModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectedAnnualSummary": {
      "properties": {
        "cashFlow": {
          "$ref": "#/definitions/CashFlowSummary"
        },
        "clientAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientAge": {
          "format": "int32",
          "type": "integer"
        },
        "netWorth": {
          "$ref": "#/definitions/NetWorthSummary"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ProjectedAnnualSummaryModel": {
      "properties": {
        "annualSummary": {
          "$ref": "#/definitions/ProjectedAnnualSummary"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectedCashFlowSummary": {
      "properties": {
        "cashFlow": {
          "$ref": "#/definitions/ICashFlowByOwner"
        },
        "clientAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientAge": {
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ProjectedGoalsSummary[AssetsFundingGoalSummary]": {
      "properties": {
        "clientAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientAge": {
          "format": "int32",
          "type": "integer"
        },
        "goals": {
          "items": {
            "$ref": "#/definitions/AssetsFundingGoalSummary"
          },
          "type": "array"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ProjectedGoalsSummary[GoalNeedsVsAbilitiesSummary]": {
      "properties": {
        "clientAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientAge": {
          "format": "int32",
          "type": "integer"
        },
        "goals": {
          "items": {
            "$ref": "#/definitions/GoalNeedsVsAbilitiesSummary"
          },
          "type": "array"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ProjectedNetWorthSummary": {
      "properties": {
        "clientAge": {
          "format": "int32",
          "type": "integer"
        },
        "coClientAge": {
          "format": "int32",
          "type": "integer"
        },
        "endOfYearNetWorth": {
          "$ref": "#/definitions/INetWorthAtDate"
        },
        "year": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PublicSessionInfoModel": {
      "properties": {
        "eulaAccepted": {
          "type": "boolean"
        },
        "hasAccountAggregation": {
          "type": "boolean"
        },
        "hasGoalWhatIfing": {
          "type": "boolean"
        },
        "hasUserSetPassword": {
          "type": "boolean"
        },
        "isAdmin": {
          "type": "boolean"
        },
        "isAdvisor": {
          "type": "boolean"
        },
        "isClient": {
          "type": "boolean"
        },
        "isPasswordExpired": {
          "type": "boolean"
        },
        "userId": {
          "type": "string"
        },
        "userName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "PublishedPlanModel": {
      "properties": {
        "internalPlanId": {
          "format": "int32",
          "type": "integer"
        },
        "planId": {
          "type": "string"
        },
        "planPublishDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResetPasswordModel": {
      "properties": {
        "locale": {
          "description": "Supported locales are: \"en-US\", \"en-CA\", and \"fr-CA\"",
          "type": "string"
        },
        "userName": {
          "type": "string"
        }
      },
      "required": [
        "userName",
        "locale"
      ],
      "type": "object"
    },
    "RestrictedStockModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "restrictedStock": {
          "$ref": "#/definitions/IRestrictedStock"
        }
      },
      "type": "object"
    },
    "RestrictedStocksModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "restrictedStocks": {
          "items": {
            "$ref": "#/definitions/IRestrictedStock"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServiceInformation": {
      "properties": {
        "altairConnectionStatus": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "pomVersion": {
          "type": "string"
        },
        "serviceVersion": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "SetPasswordModel": {
      "properties": {
        "newPassword": {
          "type": "string"
        },
        "oldPassword": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StockOptionModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "stockOption": {
          "$ref": "#/definitions/IStockOption"
        }
      },
      "type": "object"
    },
    "StockOptionsModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "stockOptions": {
          "items": {
            "$ref": "#/definitions/IStockOption"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TimePeriod": {
      "properties": {
        "count": {
          "format": "int32",
          "type": "integer"
        },
        "duration": {
          "enum": [
            "Days",
            "Weeks",
            "Months",
            "Years",
            "YearsOfAge"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Year": {
      "properties": {
        "raw": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    }
  }
}