> For the complete documentation index, see [llms.txt](https://apidocs.arionbanki.is/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.arionbanki.is/b2b-2013-schema/b2b-services/b2b-currency-rate-service/fields.md).

# Fields

The following subsections detail the individual components of the service and describes how information is presented in the messages.

### Service Content

The actions available through the service, along with their inputs and outputs, are summarized in the following table. For inputs and outputs, the table specifies the names of the classes that the web service accepts and returns.

| Function         | Input            | Output                        | Description                        |
| ---------------- | ---------------- | ----------------------------- | ---------------------------------- |
| GetCurrencyRates | GetCurrencyRates | [CurrencyRate](#currencyrate) | Fetches exchange rate information. |

### **CurrencyRatesQuery**

The **CurrencyRatesQuery** class is the input for the **GetCurrencyRates** method. The fields **CurrencyType** and **Date** must be populated.

| Parameter    | Description                                                                                                                                                                                                            |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CurrencyType | <p>Type of rate, which can contain one of the following values: </p><p><strong>NoteRate</strong> (note rate)</p><p><strong>ExchangeRate</strong> (general rate)</p><p><strong>CustomsRate</strong> (customs rate).</p> |
| Date         | Date of exchange rate information                                                                                                                                                                                      |

### **CurrencyRate**

The **CurrencyRate** class is the output of the **GetCurrencyRate** method. It contains information about the rates for the requested type.

* If **customsRate** is requested, only the **CustomsRate** field will have a value, while the **selling** and **buying** rates will both be zero.
* If **note** or **exchange rate** is requested, the **selling** and **buying** rate fields will have values, while the **CustomsRate** field will be zero.

| Parameter    | Description                                                              |
| ------------ | ------------------------------------------------------------------------ |
| CurrencyCode | The currency, a three-letter abbreviation according to the ISO standard. |
| SellingRate  | Selling rate of the currency                                             |
| BuyingRate   | Buying rate of the currency                                              |
| CustomsRate  | Customs rate of the currency                                             |
| TimeStamp    | Timestamp of the exchange rate registration                              |

### **IOBSFault**

The **IOBSFault** class contains information about errors that occur when calling the service.

| Output            | Description                                    |
| ----------------- | ---------------------------------------------- |
| GeneralErrorCode  | General error code                             |
| GeneralErrorText  | General error text, e.g., Business logic error |
| BanksErrorCode    | Technical error code from service provider     |
| BanksErrorText    | Technical error text from service provider     |
| GeneralSourceCode | Error code from source system                  |
| GeneralSourceText | Error text from source system                  |

| GeneralErrorCode | GeneralErrorText                       | Description                                                   |
| ---------------- | -------------------------------------- | ------------------------------------------------------------- |
| 0001             | Service is unavailable                 | The service is unavailable                                    |
| 1000             | An error occurred                      | General error message, with possible details                  |
| 1100             | Access to the operation is not present | The function is restricted and access is needed.              |
| 1200             | Data could not be validated            | Input data could not be validated according to the XML Schema |
| 1300             | Business logic error                   | General error in business logic                               |
