Oper Simulators API

The Simulators API from Oper — 15 operation(s) for simulators.

OpenAPI Specification

oper-simulators-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Oper Agent Documents Simulators API
  version: ''
tags:
- name: Simulators
paths:
  /api/simulators/calculate/:
    post:
      operationId: api_simulators_calculate_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvisorMortgageSimulator'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/default-products/:
    post:
      description: "The DynamicProductLiteViewSet provides a way to fetch the list of available products by providing loan request data\n as input since no actual LR will exist at the time of calling this in Advisor Simulator v2.\nIt is used to select products to add to an offer as product items.\n\nThe list is a multiplication of the active ProductVersions with a start date of at least today and\nthe allowed variabilities configured for the product.\nAs an example:\n2 Products (A & B) with each one version\nProduct A has 2 allowed variabilities (fix and 5-5-5)\nProduct B has 1 allowed variabilities (fix)\nThe view will return 3 results\nIf product A has 2 versions that have a start date of at least today, the view will return 5 results.\n\nNext to the product details, the view runs the acceptance rules and provides the result in the errors attribute.\n\nDeveloper notes:\nThe logic used in this view and its related code assumes that there is no offer or product items\nto base calculations on.\n\nYou can define the duration you want to calculate the products for by setting the query params min_duration\nand max_duration to an equal value. Otherwise, those values are only used to filter and the default duration\non the product version is used in the calculations.,\n\nInputs will be sent in the body of the POST request:\n{\n    \"loan_amount\": decimal,\n    \"cash_own_funds\": decimal,\n    \"bridge_loan_amount\": decimal,\n    \"realty_price\": decimal,\n    \"building_costs\": decimal,\n    \"price_of_land\": decimal,\n    \"total_renovation_costs\": decimal,\n    \"cost_vat\": decimal,\n    \"additional_financing_needs\": decimal,\n    \"region\": {\n        \"id\": int,\n        \"definition\": \"str\"\n    },\n    \"is_main_first_residence\": boolean,\n    \"venal_value_after\": decimal,\n    \"loan_purposes\": [\n        {\n            \"id\": int,\n            \"definition\": \"str\"\n        }\n    ]\n}\n\nAs inputs we will take known data from the simulator and construct LoanRequest and Realty objects, which will then\nbe used to initialize DataHandlers in Serializer context. Then the serializer will proceed with rate calculations.\nThis serializer won't be running acceptance criteria and will not have the results in the data."
      operationId: api_simulators_default_products_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicProductLite'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/discounts/:
    get:
      operationId: api_simulators_discounts_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BaseProductDiscountsSimulator'
                type: array
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
    post:
      operationId: api_simulators_discounts_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/client-upload-document-types/:
    get:
      description: Informative document types
      operationId: api_simulators_mortgage_advisor_client_upload_document_types_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DocumentType'
                type: array
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/client-upload-document-types/{id}/:
    get:
      description: Informative document types
      operationId: api_simulators_mortgage_advisor_client_upload_document_types_retrieve
      parameters:
      - description: A unique integer value identifying this Document Type.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentType'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/convert/:
    post:
      description: Convert a simulation to Loan Request
      operationId: api_simulators_mortgage_advisor_convert_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConvertLoanRequestSummary'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/products/:
    post:
      description: "The DynamicProductLiteViewSet provides a way to fetch the list of available products by providing loan request data\n as input since no actual LR will exist at the time of calling this in Advisor Simulator v2.\nIt is used to select products to add to an offer as product items.\n\nThe list is a multiplication of the active ProductVersions with a start date of at least today and\nthe allowed variabilities configured for the product.\nAs an example:\n2 Products (A & B) with each one version\nProduct A has 2 allowed variabilities (fix and 5-5-5)\nProduct B has 1 allowed variabilities (fix)\nThe view will return 3 results\nIf product A has 2 versions that have a start date of at least today, the view will return 5 results.\n\nNext to the product details, the view runs the acceptance rules and provides the result in the errors attribute.\n\nDeveloper notes:\nThe logic used in this view and its related code assumes that there is no offer or product items\nto base calculations on.\n\nYou can define the duration you want to calculate the products for by setting the query params min_duration\nand max_duration to an equal value. Otherwise, those values are only used to filter and the default duration\non the product version is used in the calculations.,\n\nInputs will be sent in the body of the POST request:\n{\n    \"loan_amount\": decimal,\n    \"cash_own_funds\": decimal,\n    \"bridge_loan_amount\": decimal,\n    \"realty_price\": decimal,\n    \"building_costs\": decimal,\n    \"price_of_land\": decimal,\n    \"total_renovation_costs\": decimal,\n    \"cost_vat\": decimal,\n    \"additional_financing_needs\": decimal,\n    \"region\": {\n        \"id\": int,\n        \"definition\": \"str\"\n    },\n    \"is_main_first_residence\": boolean,\n    \"venal_value_after\": decimal,\n    \"loan_purposes\": [\n        {\n            \"id\": int,\n            \"definition\": \"str\"\n        }\n    ]\n}\n\nAs inputs we will take known data from the simulator and construct LoanRequest and Realty objects, which will then\nbe used to initialize DataHandlers in Serializer context. Then the serializer will proceed with rate calculations.\nThis serializer won't be running acceptance criteria and will not have the results in the data."
      operationId: api_simulators_mortgage_advisor_products_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicProductLite'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/:
    get:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_list
      parameters:
      - in: query
        name: analyst
        schema:
          type: integer
      - in: query
        name: loan_request
        schema:
          type: integer
      - in: query
        name: obsolete
        schema:
          type: boolean
      - description: Which field to use when ordering the results.
        in: query
        name: ordering
        required: false
        schema:
          type: string
      - description: A page number within the paginated result set.
        in: query
        name: page
        required: false
        schema:
          type: integer
      - description: Number of results to return per page.
        in: query
        name: page_size
        required: false
        schema:
          type: integer
      - description: A search term.
        in: query
        name: search
        required: false
        schema:
          type: string
      - in: query
        name: source
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReducedMortgageSimulationResultList'
          description: ''
      tags:
      - Simulators
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_create
      responses:
        '201':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/clean-up/:
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_clean_up_create
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/:
    delete:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_destroy
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No response body
      tags:
      - Simulators
    get:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_retrieve
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
    patch:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_partial_update
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
    put:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_update
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/remove/:
    delete:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_remove_destroy
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/sync-simulations/:
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_sync_simulations_create
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/client/:
    post:
      operationId: api_simulators_mortgage_client_create
      responses:
        '200':
          description: No response body
      security:
      - jwtAuth: []
      - {}
      tags:
      - Simulators
  /api/simulators/offer/:
    post:
      operationId: api_simulators_offer_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSimulatorOffer'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/offers/:
    post:
      operationId: api_simulators_offers_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateSimulatorOffers'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
components:
  schemas:
    Explanation:
      properties:
        explanation:
          type: string
        language:
          $ref: '#/components/schemas/Language'
      required:
      - explanation
      - language
      type: object
    MortgageSimulatorMonthlyPaymentEstimation:
      properties:
        duration:
          minimum: 0
          nullable: true
          type: integer
        item:
          allOf:
          - $ref: '#/components/schemas/MortgageSimulatorMonthlyPaymentEstimationFinancialPlanLoanAmountItem'
          nullable: true
        monthly_installment:
          format: double
          minimum: 0
          nullable: true
          type: number
        rate:
          format: double
          minimum: 0
          nullable: true
          type: number
      type: object
    NestedBaseRate:
      properties:
        id:
          readOnly: true
          type: integer
        percentage:
          readOnly: true
          type: string
        rate:
          format: double
          type: number
        variability:
          $ref: '#/components/schemas/Variability'
      required:
      - id
      - percentage
      - rate
      - variability
      type: object
    LandPurchaseType:
      description: Can be managed at /resources/land-purchase-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    Phone:
      properties:
        country_code:
          $ref: '#/components/schemas/PhoneCountryCode'
        id:
          readOnly: true
          type: integer
        value:
          maxLength: 32
          type: string
      required:
      - country_code
      - id
      - value
      type: object
    ReducedClientProfileWithContactInformation:
      description: "Baseclass for Reduced serializers.\n\nWill validate whether the objects exists, and returns the instance in to_internal_value\nSubclasses must implement Meta with at least the model and field attributes\n\nRaises\n------\n    Validations errors if the object doesn't exist\n    OperBadConfigurationException if the model isn't set"
      properties:
        emails:
          items:
            $ref: '#/components/schemas/Profile2Email'
          readOnly: true
          type: array
        first_name:
          readOnly: true
          type: string
        id:
          type: integer
        last_name:
          readOnly: true
          type: string
        phone_numbers:
          items:
            $ref: '#/components/schemas/Profile2Phone'
          readOnly: true
          type: array
      required:
      - emails
      - first_name
      - id
      - last_name
      - phone_numbers
      type: object
    RealtyPurpose:
      description: Can be managed at /resources/realty-purpose
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    PhoneCountryCode:
      description: Can be managed at /resources/phone-country-code
      properties:
        country:
          readOnly: true
          type: string
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - country
      - definition
      - id
      - order
      type: object
    MortgageSimulationStatus:
      description: Can be managed at /resources/mortgage-simulation-status
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    Periodicity:
      description: Can be managed at /resources/periodicity
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    DiscountSimulator:
      properties:
        discounts:
          items:
            $ref: '#/components/schemas/Discount2ndLevel'
          type: array
        ignore_childs:
          default: false
          type: boolean
        is_corrected:
          default: false
          type: boolean
        is_outdated:
          default: false
          type: boolean
        is_selected:
          default: false
          type: boolean
        is_valid:
          default: true
          type: boolean
        max_discounts_allowed:
          type: integer
        name:
          type: string
      required:
      - discounts
      - name
      type: object
    MortgageSimulatorRenovationCost:
      properties:
        amount:
          format: double
          minimum: 0
          type: number
        id:
          nullable: true
          type: integer
        is_green_renovations:
          nullable: true
          type: boolean
        type:
          $ref: '#/components/schemas/RenovationType'
      required:
      - amount
      - type
      type: object
    LiabilityType:
      description: Can be managed at /resources/liability-type
      properties:
        category:
          readOnly: true
          type: string
        color:
          readOnly: true
          type: string
        definition:
          type: string
        id:
          type: integer
        is_mandatory:
          type: boolean
        is_mandatory_in_simulation:
          type: boolean
        order:
          readOnly: true
          type: integer
      required:
      - category
      - color
      - definition
      - id
      - order
      type: object
    AdvisorMortgageSimulatorConvertOffer:
      properties:
        items:
          items:
            $ref: '#/components/schemas/AdvisorMortgageSimulatorConvertProductItem'
          type: array
      required:
      - items
      type: object
    AdvisorMortgageSimulatorConvertProductItem:
      properties:
        acceptance_rules:
          items:
            additionalProperties: {}
            type: object
          readOnly: true
          type: array
        amortization:
          format: double
          type: number
        amortization_mensuality:
          format: double
          readOnly: true
          type: number
        amount:
          format: double
          type: number
        aprc:
          format: double
          readOnly: true
          type: number
        bandwidth_config:
          additionalProperties: {}
          nullable: true
          readOnly: true
          type: object
        base_rate:
          format: double
          type: number
        cost_file:
          format: double
          readOnly: true
          type: number
        costs:
          items:
            $ref: '#/components/schemas/ProductItemCost'
          readOnly: true
          type: array
        discounts:
          items:
            $ref: '#/components/schemas/DiscountSimulator'
          type: array
        discounts_rate:
          format: double
          readOnly: true
          type: number
        duration:
          minimum: 0
          type: integer
        end_amount:
          format: double
          readOnly: true
          type: number
        id:
          type: integer
        interest_rate:
          default: 0.0
          format: double
          type: number
        interest_rate_overridden:
          default: false
          type: boolean
        internal_reference:
          readOnly: true
          type: string
        is_amount_overridden:
          default: false
          type: boolean
        max_amortization:
          format: double
          readOnly: true
          type: number
        max_amortization_period:
          readOnly: true
          type: integer
        max_duration:
          format: double
          readOnly: true
          type: number
        min_duration:
          format: double
          readOnly: true
          type: number
        pricing_sheet:
          allOf:
          - $ref: '#/components/schemas/PricingSheet'
          nullable: true
        principal_delta:
          format: double
          readOnly: true
          type: number
        product:
          $ref: '#/components/schemas/ReducedProductVersion'
        product_version_id:
          type: integer
        quality_adjustments:
          readOnly: true
        scoring_rate:
          format: double
          type: number
        severity:
          $ref: '#/components/schemas/SeverityType'
        success:
          readOnly: true
          type: boolean
        total_amount_to_reimburse:
          format: double
          nullable: true
          type: number
        total_costs:
          format: double
          readOnly: true
          type: number
        total_interest:
          format: double
          readOnly: true
          type: number
        total_interest_mensuality:
          format: double
          readOnly: true
          type: number
        total_payback_amount:
          format: double
          readOnly: true
          type: number
        variability:
          $ref: '#/components/schemas/Variability'
      required:
      - acceptance_rules
      - amortization
      - amortization_mensuality
      - amount
      - aprc
      - bandwidth_config
      - cost_file
      - costs
      - discounts_rate
      - duration
      - end_amount
      - id
      - internal_reference
      - max_amortization
      - max_amortization_period
      - max_duration
      - min_duration
      - principal_delta
      - product
      - product_version_id
      - quality_adjustments
      - severity
      - success
      - total_costs
      - total_interest
      - total_interest_mensuality
      - total_payback_amount
      - variability
      type: object
    AnnualizationMethod:
      description: Can be managed at /resources/annualization-method
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    MortgageSimulatorCollateral:
      properties:
        collateral_amount:
          format: double
          nullable: true
          type: number
        collateral_purpose:
          allOf:
          - $ref: '#/components/schemas/RealtyPurpose'
          nullable: true
        credit_provider:
          allOf:
          - $ref: '#/components/schemas/ReducedCreditProvider'
          nullable: true
        has_existing_loan:
          default: false
          type: boolean
        mortgage_inscription_start_date:
          format: date
          nullable: true
          type: string
        mortgage_security_type:
          allOf:
          - $ref: '#/components/schemas/MortgageSecurityType'
          nullable: true
        original_loan_amount:
          format: double
          nullable: true
          type: number
        realty_type:
          allOf:
          - $ref: '#/components/schemas/RealtyType'
          nullable: true
        realty_usage_type:
          allOf:
          - $ref: '#/components/schemas/RealtyUsageType'
          nullable: true
      type: object
    Profile2Address:
      properties:
        address_type:
          allOf:
          - $ref: '#/components/schemas/ContactType'
          nullable: true
        box:
          type: string
        building:
          type: string
        city:
          type: string
        country:
          $ref: '#/components/schemas/Country'
        floor:
          type: string
        heading:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        house_number:
          type: string
        latitude:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        longitude:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        pitch:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
        staircase:
          type: string
        street:
          type: string
        street_type:
          allOf:
          - $ref: '#/components/schemas/StreetType'
          nullable: true
        zip_code:
          type: string
        zoom:
          exclusiveMaximum: true
          exclusiveMinimum: true
          format: double
          maximum: 100000
          minimum: -100000
          nullable: true
          type: number
      required:
      - city
      - country
      - street
      - zip_code
      type: object
    MortgageSimulatorProductsSearchFilters:
      properties:
        credit_provider:
          minimum: 1
          nullable: true
          type: integer
        loan_type:
          maxLength: 128
          nullable: true
          type: string
        max_duration:
          maximum: 320
          minimum: 1
          nullable: true
          type: integer
        min_duration:
          maximum: 320
          minimum: 1
          nullable: true
          type: integer
        product_type:
          maxLength: 128
          nullable: true
          type: string
        variability:
          maxLength: 128
          nullable: true
          type: string
      type: object
    MortgageSimulatorRelatedRealties:
      properties:
        address:
          allOf:
          - $ref: '#/components/schemas/NonRequiredAddress'
          nullable: true
        epc_before_renovations:
          minimum: 0
          nullable: true
          type: integer
        is_collateral:
          nullable: true
          type: boolean
        realty_type:
          allOf:
          - $ref: '#/components/schemas/RealtyType'
          nullable: true
        value_of_the_realty:
          format: double
          nullable: true
          type: number
      type: object
    StreetType:
      description: Can be managed at /resources/street-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    Country:
      description: Can be managed at /resources/country
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    RealtyType:
      description: Can be managed at /resources/realty-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    ParameterType:
      description: Can be managed at /resources/parameter-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: int

# --- truncated at 32 KB (115 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oper/refs/heads/main/openapi/oper-simulators-api-openapi.yml