Skip to main content
Version: 1.0.1

Car Insurance

Documentation of the API for car insurance integration with the Consumer Council's insurance service.

Request from the Consumer Council

When the Consumer Council sends a request to the insurance company, it will be in JSON format. This request contains information about the person to be insured, as well as details about the specific offer being requested. The request will be sent to the company's specified endpoint.

The information about the person to be insured is built based on data from the National Registry, the Norwegian Public Roads Administration, and OFV.

In the header, we send X-RequestId, which is unique, and X-ClientId, which will be finansportalen.

Missing match between Finansportalen Insurance and the companies' value limits

Where amount limits and values in the Financial Portal’s insurance calculator must be selected as options in the user interface, and the insurance company does not operate with the same limits in its pricing tariffs, the insurance company shall nevertheless return a price. The price shall be returned as the closest value in the customer’s favor, for example the nearest price at the next higher mileage.

If the company is not able to offer a value in favor of the consumer, for example because the requested value is at the end of the scale, it is acceptable to provide the nearest available value.

Example request

{
"id": "xtNczK2rUAh5lfz-i26iO",
"person": {
"pid": "10816797409",
"firstName": "FORETAKSOM",
"lastName": "KONGE",
"addresses": [
{
"source": "folkeregisteret",
"streetName": "Munkerekkveien 110",
"postalCode": "3142",
"postalLocation": "VESTSKOGEN"
}
],
"memberships": [
{
"membershipId": "821395476",
"membershipName": "Norske Arkitekters Landsforbund"
}
]
},
"offerRequest": [
{
"id": "iKiLHD0opex6UcUqxyL3j",
"type": "bil",
"data": {
"coverage": "kasko",
"addons": [
"leiebil",
"maskinskade"
],
"bonus": "75%",
"yearlyMileage": 12000,
"youngestDriver": 25,
"loan": false,
"currentMileage": 50000,
"currentAccidents": 1,
"lastAccidentDate": "2023-02-05",
"deductible": 6000,
"carOwner": {
"ownerType": "otherOwner",
"leasingCompanyOrg": null,
"otherOwner": {
"pid": "09916795316",
"firstName": "FJÅNG",
"lastName": "REGEL"
}
},
"car": {
"source": "ofv",
"registrationDate": "2022-01-01",
"variantId": 385869,
"modelYear": 2022,
"brandName": "Audi",
"brandCode": 1230,
"modelName": "A4",
"modelCode": 9,
"variantName": "Avant Advanced 35 TFSi 150hk",
"variantCode": 21193,
"vehicleGroup": "Personbil",
"structureNo": "1230009211932022026",
"modelGeneration": "5B",
"modelSplitName": null,
"segment": "Mellomklassen",
"chassisShortName": "STV",
"chassis": "Stasjonsvogn",
"transmissionShortName": "AUT",
"transmission": "Automat",
"energySourceShortName": "BE",
"energySource": "Bensin Hybrid",
"totalEngines": 2,
"emissionStandard": "Euro 6",
"importPrice": 495100,
"currencyCode": "NOK",
"approved": "2022-01-07T16:56:42+01:00",
"transferred": "2022-12-12"
}
}
}
],
"requestAt": "2026-03-25T08:50:50+01:00"
}

Request field descriptions

Root-level fields

FieldTypeDescriptionValues
idstringThe unique ID for the request, generated by the Consumer Council.22 characters, uniquely generated.
Example: "xtNczK2rUAh5lfz-i26iO"
requestAtstringTime when the request was sent.ISO 8601 (complete).
Example: "2026-03-25T08:50:50+01:00"

Person object

FieldTypeDescriptionValues
pidstringThe national identity number of the person to be insured.11-digit number as a string.
Example: "10816797409"
firstNamestringFirst name of the person to be insured.Example: "FORETAKSOM"
lastNamestringLast name of the person to be insured.Example: "KONGE"
addressesarray of address objectsAddress information for the person to be insured.Never contains more than 1 element for car insurance.
See Address object
membershipsarray of membership objectsInformation about memberships for the person to be insured. Can be an empty list.See Membership object

Address object

FieldTypeDescriptionValues
sourcestringSource of the address."folkeregisteret"
streetNamestringStreet name.Example: "Munkerekkveien 110"
postalCodestringPostal code.4-digit number as a string.
postalLocationstringPostal place.Uppercase letters.
Example: "VESTSKOGEN"

Membership object

FieldTypeDescriptionValues
membershipIdstringOrganization number of the membership provider.9 digits as a string.
Example: "821395476"
membershipNamestringName of the organization providing the membership.Example: "Norske Arkitekters Landsforbund"

Offer request object

FieldTypeDescriptionValues
idstringThe unique ID for the offer request on this product.22 characters, uniquely generated.
Example: "iKiLHD0opex6UcUqxyL3j"
typestringProduct type."bil"
dataobjectData for the offer.See Offer data object

Offer data object

FieldTypeDescriptionValues
coveragestringInsurance coverage."ansvar"
"delkasko"
"kasko"
"utvidet"
addonsarray of stringsAdditional coverages for the insurance. Can contain multiple values. Is an empty array when no additional coverage is selected.In array:
"leiebil"
"maskinskade"
bonusstringInsurance bonus."75% > 5 år"
"75% > 4 år"
"75% > 3 år"
"75% > 2 år"
"75%"
"70% > 5 år"
"70% > 4 år"
"70% > 3 år"
"70% > 2 år"
"70%"
"60%"
"50%"
"40%"
"30%"
"20%"
"10%"
"0%"
"startbonus"
"-10%"
"-20%"
"-30%"
"-40%"
yearlyMileageintegerRequested annual mileage in number of km.From 5000 to 50000, or 0 for unlimited mileage.
youngestDriverintegerAge of the youngest driver in years.From 18 to 25. When the youngest driver is older than 25, we still send 25 here.
loanbooleanWhether there is a loan on the car.true
false
currentMileageintegerCurrent odometer value.From 0 to 999999.
currentAccidentsintegerNumber of accidents during the last five years.From 0 to 10. If there are more than 10 accidents, we still send 10 here.
lastAccidentDatestring, nullableDate of the last accident within the last five years."yyyy-mm-dd"
Example: "2024-10-16"
deductibleintegerRequested deductible in NOK. Applies only for comprehensive or extended coverage.0 when coverage is "ansvar" or "delkasko". For higher coverage levels, value is from 4000 to 35000.

Car owner object

FieldTypeDescriptionValues
ownerTypestringOwner type."sameAsPerson"
"otherOwner"
"leasing"
leasingCompanyOrgstring, nullableOrganization number for leasing company.Example: "123456789"
otherOwnerobject, nullableInformation about another owner.See Other owner object

Other owner object

This object is only included in the request when ownerType = "otherOwner".

FieldTypeDescriptionValues
pidstringNational identity number of another owner.Example: "09916795316"
firstNamestringFirst name of another owner.Example: "ALICE"
lastNamestringLast name of another owner.Example: "WONDERLAND"

Car object

Information about the car to be insured. All fields except source, regNumber, and registrationDate come directly from OFV Kjøretøydata.

Data with source "ofv" is not available for vehicles fetched from "tenor" in the test environment.

FieldTypeDescriptionValues
sourcestringSource of car data."ofv"
"tenor" (test environment only)
regNumberstring, optional/nullableRegistration number of the car.Example: "AB12345"
registrationDatedateDate of first registration."yyyy-mm-dd"
Example: "2023-01-01"
structureNostringUnique structure number for the car.Example: "4360005000112020000"
variantIdintegerVariant ID for the car model.Example: 419436
vehicleGroupstringVehicle group.Example: "Personbil"
modelYearintegerModel year of the car.Example: 2025
brandNamestringBrand name of the car.Example: "Tesla"
brandCodeintegerBrand code of the car.Example: 4360
modelNamestringModel name of the car.Example: "Model Y"
modelCodeintegerModel code of the car.Example: 5
modelGenerationstringModel generation of the car.Example: "1"
modelSplitNamestring, nullableAdditional model specification.Example: "Sportwagon"
variantNamestringVariant name for the car model.Example: "Long Range AWD"
variantCodeintegerVariant code for the car model.Example: 11
segmentstringSegment the car belongs to.Example: "SUV mellomklasse"
chassisShortNamestringChassis code for the car.Example: "SUV"
chassisstringChassis description for the car.Example: "Sport Utility Vehicle"
transmissionShortNamestringGearbox code.Example: "AUT"
transmissionstringGearbox type.Example: "Automat"
energySourceShortNamestringEnergy source code.Example: "E"
energySourcestringType of energy source (electricity, petrol, etc.).Example: "Elektrisitet"
totalEnginesintegerNumber of engines.Example: 2
emissionStandardstringEmission class.Example: "Euro 6"
importPriceintegerImport price of the car.Example: 471587
currencyCodestringCurrency code for import price.Example: "NOK"
approvedstringTime of approval.ISO 8601 (complete).
Example: "2024-10-16T12:06:00Z"
transferredstring, nullableTime of transfer.ISO 8601 (date only).
Example: "2024-10-16"

Request with multiple offers

If the request contains multiple offers, it looks like this. Here, an additional offer (offerRequest) has been added for each unique car:

{
"id": "5Cw2lTTdy8HZA9Z1RBcKb",
"person": {
"pid": "10816797409",
"firstName": "FORETAKSOM",
"lastName": "KONGE",
"addresses": [
{
"source": "folkeregisteret",
"streetName": "Munkerekkveien 110",
"postalCode": "3142",
"postalLocation": "VESTSKOGEN"
}
],
"memberships": [
{
"membershipId": "821395476",
"membershipName": "Norske Arkitekters Landsforbund"
}
]
},
"offerRequest": [
{
"id": "lmp5_fChNgDt6zbtE1HuQ",
"type": "bil",
"data": {
"coverage": "kasko",
"addons": ["leiebil"],
"bonus": "75%",
"yearlyMileage": 12000,
"youngestDriver": 25,
"loan": false,
"currentMileage": 50000,
"currentAccidents": 1,
"lastAccidentDate": "2023-02-05",
"deductible": 6000,
"carOwner": {
"ownerType": "otherOwner",
"leasingCompanyOrg": null,
"otherOwner": {
"pid": "09916795316",
"firstName": "FJÅNG",
"lastName": "REGEL"
}
},
"car": {
"source": "ofv",
"registrationDate": "2022-01-01",
"variantId": 385869,
"modelYear": 2022,
"brandName": "Audi",
"brandCode": 1230,
"modelName": "A4",
"modelCode": 9,
"variantName": "Avant Advanced 35 TFSi 150hk",
"variantCode": 21193,
"vehicleGroup": "Personbil",
"structureNo": "1230009211932022026",
"modelGeneration": "5B",
"modelSplitName": null,
"segment": "Mellomklassen",
"chassisShortName": "STV",
"chassis": "Stasjonsvogn",
"transmissionShortName": "AUT",
"transmission": "Automat",
"energySourceShortName": "BE",
"energySource": "Bensin Hybrid",
"totalEngines": 2,
"emissionStandard": "Euro 6",
"importPrice": 495100,
"currencyCode": "NOK",
"approved": "2022-01-07T16:56:42+01:00",
"transferred": "2022-12-12"
}
}
},
{
"id": "BV_bS5xXoceIl26zftqd5",
"type": "bil",
"data": {
"coverage": "utvidet",
"addons": [
"leiebil",
"maskinskade"
],
"bonus": "60%",
"yearlyMileage": 30000,
"youngestDriver": 25,
"loan": true,
"currentMileage": 35000,
"currentAccidents": 1,
"lastAccidentDate": "2023-02-05",
"deductible": 8000,
"carOwner": {
"ownerType": "sameAsPerson"
},
"car": {
"source": "ofv",
"registrationDate": "2013-01-01",
"variantId": 220765,
"modelYear": 2013,
"brandName": "Tesla",
"brandCode": 4360,
"modelName": "Model S",
"modelCode": 2,
"variantName": "60",
"variantCode": 1,
"vehicleGroup": "Personbil",
"structureNo": "4360002000012013002",
"modelGeneration": "1",
"modelSplitName": null,
"segment": "Luksusbiler",
"chassisShortName": "COM",
"chassis": "Kombikupé",
"transmissionShortName": "AUT",
"transmission": "Automat",
"energySourceShortName": "E",
"energySource": "Elektrisitet",
"totalEngines": 1,
"emissionStandard": "Euro 6",
"importPrice": 446500,
"currencyCode": "NOK",
"approved": "2013-10-16T14:35:25+02:00",
"transferred": "2014-02-14"
}
}
}
],
"requestAt": "2026-03-25T08:50:50+01:00"
}

Tenor test data request

In the test environment, requests may also include vehicles from Tenor's dataset. These do not include information from OFV's database:

{
"id": "BoZTghz7UJbJZ1mA28NnY",
"person": {
"pid": "10816797409",
"firstName": "FORETAKSOM",
"lastName": "KONGE",
"addresses": [
{
"source": "folkeregisteret",
"streetName": "Munkerekkveien 110",
"postalCode": "3142",
"postalLocation": "VESTSKOGEN"
}
],
"memberships": [
{
"membershipId": "821395476",
"membershipName": "Norske Arkitekters Landsforbund"
}
]
},
"offerRequest": [
{
"id": "x7-xjveF1WKuWXVXMyQ3G",
"type": "bil",
"data": {
"coverage": "utvidet",
"addons": [],
"bonus": "50%",
"yearlyMileage": 10000,
"youngestDriver": 25,
"loan": true,
"currentMileage": 15000,
"currentAccidents": 0,
"lastAccidentDate": null,
"deductible": 8000,
"carOwner": {
"ownerType": "sameAsPerson",
"leasingCompanyOrg": null,
"otherOwner": null
},
"car": {
"source": "tenor",
"regNumber": "CO10028"
}
}
}
],
"requestAt": "2026-03-25T08:50:50+01:00"
}

Possible values for the membership field (work in progress)

membershipIdmembershipName
934469267Arkitektenes Fagforbund
960472764Befalets Fellesorganisasjon
948383268BOB
936560288Coop
970217215Delta
970430911Den Norske Jordmorforening
960474341Den Norske Legeforening
870167962Den Norske Tannlegeforening
979469241Den Norske Turistforening
966251808Den Norske Veterinærforening
980331105Finansforbundet
926490842Flyt-kunde
874250082Huseierne
971526726Krigsskoleutdannede Offiserers Landsforening
971480416Kriminalomsorgens Yrkesforbund
964422206LOfavør
970168451Naturviterne
944383832Norges Automobil-Forbund
939678670Norges Bondelag
856331482Norges Ingeniør- og Teknologorganisasjon
970204938Norges Offisers- og Spesialistforbund
970167943Norsk Bonde- og Småbrukarlag
971074345Norsk Jernbaneforbund
879495512Norsk Lektorlag
971056541Norsk Lokomotivførerforbund
970168419Norsk Psykologforening
960893506Norsk Sykepleierforbund
971043059Norsk Tjenestemannslag
974235307Norsk Tollerforbund
844146302Norske Arkitekters Landsforbund
937052766OBOS
971480270Parat
871278342Regnskap Norge
980374068Revisorforeningen
964812578SAFE
971277270Samfunnsviterne
970168621Samfunnsøkonomene
970149406Skolelederforbundet
971435712STAFO
971420782Teknisk-naturvitenskapelig Forening
884026172Utdanningsforbundet
971436050Yrkestrafikkforbundet

Response from the insurance company

This is a description of how the response from the insurance company should be structured. Examples have been included for what each field should contain.

If a response does not meet the required specifications, it will be discarded, and the offer will not be shown in the insurance service.

Companies are expected to respond within a reasonable time to the Consumer Council’s price requests. A normal response time is considered to be under 15 seconds. Companies that respond quickly may be displayed earlier in the portal.

Example response

The response is based on the first request example.

{
"id": "xtNczK2rUAh5lfz-i26iO",
"company": "Forsikringsselskap Ipsum AS",
"totalPrice": 15883,
"totalDiscount": 700,
"totalOriginalPrice": 16583,
"products": [
{
"id": "iKiLHD0opex6UcUqxyL3j",
"type": "bil",
"productName": "Bilforsikring Kasko",
"prices": {
"price": 16183,
"originalPrice": 16583,
"tfa": 2483.7
},
"productDetails": {
"coverage": "kasko",
"addons": [
"leiebil"
],
"ipidUrls": [
{
"url": "https://www.forsikringipsum.no/ipid_bilforsikring",
"updatedAt": "2026-01-01T12:00:00.00Z"
}
],
"termsUrls": [
{
"url": "https://www.forsikringipsum.no/vilkar_bilforsikring_kasko",
"updatedAt": "2026-01-01T12:00:00.00Z"
},
{
"url": "https://www.forsikringipsum.no/vilkar_leiebil",
"updatedAt": "2026-01-01T12:00:00.00Z"
}
]
},
"offer": {
"bonus": "75%",
"deductible": 6000,
"yearlyMileage": 12000
}
}
],
"discounts": [
{
"id": "iKiLHD0opex6UcUqxyL3j",
"amount": 400,
"title": "Lorem ipsum",
"description": "Lorem ipsum dolor sit amet consectetur adipiscing elit",
"scope": "product",
},
{
"id": "xtNczK2rUAh5lfz-i26iO",
"amount": 300,
"title": "Lorem ipsum",
"description": "Lorem ipsum dolor sit amet consectetur adipiscing elit",
"scope": "package"
}
],
"additionalFees": [
{
"id": "xtNczK2rUAh5lfz-i26iO",
"amount": 150,
"title": "Lorem ipsum",
"description": "Lorem ipsum dolor sit amet consectetur adipiscing elit",
"scope": "package"
}
],
"membershipApplied": "Norske Arkitekters Landsforbund",
"uniqueSellingPoints": [
"Lorem ipsum dolor sit amet",
"Consectetur adipiscing elit"
],
"purchaseUrl": "https://forsikringipsum.no/handlekurv",
"receivedAt": "2026-03-27T12:07:42.36Z",
"responseAt": "2026-03-27T12:07:49.53Z"
}

Response field descriptions

Root-level fields

FieldTypeDescriptionValid values
idstringSame ID as received at root level in the request.Must match id from request root level.
Example: "xtNczK2rUAh5lfz-i26iO"
companystringName of the insurance company.Example: "Forsikringsselskap Ipsum AS"
totalPriceintegerTotal price per year for all products, after discount. All fees and charges (both at product-level and root-level) except TFA are to be included in this price.Must be greater than 0.
Must be equal to totalOriginalPrice - totalDiscount.
totalDiscountintegerTotal discount for the full insurance offer.
Absolutely all discounts, both those that apply individually to the products and those that apply at the package level, must be included in this amount.
Note that even though a discount can have amount = null in discounts, its actual value must still be included in this field.
Must not be less than the sum of all amount fields in the discounts array, but can be greater since amount for discounts is nullable.
totalOriginalPriceintegerTotal original price per year for the full insurance offer before discount. All fees and charges (both at product-level and root-level) except TFA are to be included in this price.Must be greater than 0.
Must be greater than or equal to totalPrice.
productsarray of product objectsProducts included in the insurance offer.Must have the same number of elements as offerRequest in the request.
See Products array
discountsarray of discount objectsDiscounts included in the insurance offer.Can be empty.
See Discounts array
additionalFeesarray of fee objectsAdditional fees and charges that apply to the insurance offer.Can be empty.
See Fees array
membershipAppliedstring, nullableMembership used when calculating price.May be null.
If not null, it must match one of the memberships from the request.
uniqueSellingPointsarray of stringsUSPs from the company.Can be empty. Max 5 string elements. Max length per string is 250 characters.
purchaseUrlstringURL for purchasing the products.HTTPS URL.
Example: "https://forsikringipsum.no/handlekurv"
receivedAtstringTime when the request was received.ISO 8601 (complete).
Example: "2026-03-27T12:07:42.36Z"
responseAtstringTime when the response was sent.ISO 8601 (complete).
Example: "2026-03-27T12:07:49.53Z"

Products array

FieldTypeDescriptionValid values
idstringID associated with the product offer.Must match an ID from offerRequest in the request.
Example: "iKiLHD0opex6UcUqxyL3j"
typestringInsurance product type."bil"
productNamestringProduct name.Example: "Bilforsikring Kasko"
pricesobjectPrice values for the product.See Prices object
productDetailsobjectProduct details.See Product details object
offerobjectOffer details for the product.See Offer object

Discounts array

FieldTypeDescriptionValid values
idstringID the discount applies to.Must match either root-level id from the request, or one of the IDs in offerRequest.
amountinteger, nullableDiscount amount in NOK. Optional to include.May be null. If not null, must be greater than 0.
titlestringDiscount title.Max length 50 characters.
Example: "Lojalitetsrabatt"
descriptionstring, nullableDiscount description.May be null.
Max length 250 characters.
scopestringIndicates whether the discount applies to a specific product or to the full insurance offer."product"
"package"

Fees array

All costs/fees that will be added to the invoice for the offer period (one year) must be reported, whether they are the base price or other costs and/or fees related to the establishment or maintenance of the customer relationship, or to each individual insurance agreement.

Costs related to invoicing options agreed upon in connection with the conclusion of the agreement shall not be reported.

FieldTypeDescriptionValid values
idstringID the fee applies to.Must match either root-level id from the request, or one of the IDs in offerRequest.
amountintegerFee amount in NOK.Must be greater than 0.
titlestringFee title.Max length 50 characters.
Example: "Etableringsgebyr".
descriptionstring, nullableFee description.May be null.
Max length 250 characters.
scopestringIndicates whether the fee applies to a specific product or to the full insurance offer."product"
"package"

Prices object

FieldTypeDescriptionValid values
priceintegerProduct price per year, after discount. Without fees and costs or TFA.Must be greater than 0.
originalPriceintegerProduct original price/premium per year, before discount. Without fees and costs or TFA.Must be greater than 0.
Must be greater than or equal to price.
tfadecimalRoad traffic insurance tax for the product. This is purely supplementary information which should not be included in either originalPrice or totalOriginalPrice.Must be greater than or equal to 0.0.

Product details object

FieldTypeDescriptionValid values
coveragestringCoverage for the product."ansvar"
"delkasko"
"kasko"
"utvidet"
addonsarray of stringsAdditional coverages included in the product.In array:
"leiebil"
"maskinskade"
ipidUrlsarray of IPID objectsList of direct download links to IPID documents (insurance product information document).Must contain at least one element.
See IPID array
termsUrlsarray of terms objectsList of direct download links to product terms.Must contain at least one element.
See Terms array

IPID array

FieldTypeDescriptionValid values
urlstringDownload link to IPID.HTTPS URL
updatedAtstringTime of the latest IPID update.ISO 8601 (complete).
Example: "2026-01-01T12:00:00.00Z"

Terms array

FieldTypeDescriptionValid values
urlstringDownload link to terms.HTTPS URL
updatedAtstringTime of the latest terms update.ISO 8601 (complete).
Example: "2026-01-01T12:00:00.00Z"

Offer object

FieldTypeDescriptionValid values
bonusstringProduct bonus."75% > 5 år"
"75% > 4 år"
"75% > 3 år"
"75% > 2 år"
"75%"
"70% > 5 år"
"70% > 4 år"
"70% > 3 år"
"70% > 2 år"
"70%"
"60%"
"50%"
"40%"
"30%"
"20%"
"10%"
"0%"
"-10%"
"-20%"
"-30%"
"-40%"
deductibleintegerProduct deductible in NOK.From 0 to 35000.
yearlyMileageintegerAnnual mileage for the car product in km.From 1 to 999999, or 0 for unlimited mileage.

The company may choose between two solutions for the link in the purchaseUrl field:

A. Continued offer flow

The link takes users to a personal page at the company, for example a checkout, "My page", or similar, where users can receive binding offers and/or complete the purchase of insurance based on the original offer returned to Finansportalen Insurance after authenticating with the company. The link itself contains no personal data, and users gain access to information related to the offer only after identifying themselves with the company.

B. Forward to the company's website

The link takes users to the company's website, product page, or similar, where users themselves start a dialog with the company to receive a binding offer and/or purchase insurance. The link contains no personal data, and users do not get access to information related to the original offer returned to Finansportalen Insurance.

In case of errors

If there is an error, we want the company to respond with a representative HTTP status code and the following body:

{
"error": {
"code": "string",
"message": "string"
}
}

If there are errors for one product in a request containing multiple products, the entire request will fail.

Technical errors

CodeDescription
validation_errorInvalid or missing fields in the request
failed_calculating_priceThe system could not calculate a price due to an internal error, for example an internal calculation failure or missing data from the Consumer Council
service_unavailableThe service is temporarily unavailable (e.g., maintenance or capacity issues)
unknown_errorUnexpected error that does not fit into the other categories

Other errors

CodeDescription
no_price_availableThe company cannot provide a price, and would also not have provided one in its public web solution, for example because the parameter combination is not supported
existing_agreementThe company does not return a price because the user already has an agreement for the given product with the company
additional_information_requiredThe request requires more information; the user must contact an advisor