Represents a Service Price in SOFT4Spaces.
Note
For information about enabling APIs for Business Central see Overview.
API endpoint
| API | Path |
| servicePrice | businesscentralPrefix/soft4/soft4spaces/v3.0/companies({{companyId}})/servicePrices |
Methods
| Method | Return Type | Description |
| GET servicePrice | servicePrice | Gets a service price object. |
| DELETE servicePrice | none | Deletes a service price object. |
| POST servicePrice | servicePrice | Creates a service price object. |
| PATCH servicePrice | servicePrice | Updates a service price object. |
GET servicePrice
Description
Retrieves an existing service price record from Business Central.
HTTP Request
GET
https://{{businesscentralPrefix}}/{{APIGroup}}/{{version}}/companies({{companyId}})/servicePrices
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
None.
Response
Returns a 200 OK status code and JSON object representing the service price record.
Example Response
JSON
|
{ "id": "1faef9da-cb05-f111-8405-7c1e5277ff48", "type": "Building", "code": "BUILDING1", "quantityType": "Area", "useQuantity": false, "serviceNo": "OUTGOINGS", "daysPerYear360": false, "effectiveDate": "2025-07-01", "expirationDate": "2025-12-31", "priceForPeriod": "Month", "unitPrice": 0.9, "comparativeTurnoverPercentage": 0, "turnoverRentServiceNo": "", "indexPrice": true, "priceIndexingCode": "6M", "indexingStartingDate": "2025-04-01", "indexingEndingDate": "2027-12-31", "indexingCalcStartingDate": "2026-01-01", "createdNewIndexedPriceLine": true, "minIndexValue": 0, "maxIndexValue": 0, "bckUnitPrice": 0.88, "appliedPriceIndexingCode": "6M", "appliedPriceIndexingValue": 1.02, "systemCreatedAt": "2026-02-09T15:27:37.52Z", "systemCreatedBy": "6ac927c2-1d2f-437f-89ed-3cb0cf930e68", "systemModifiedAt": "2026-03-03T18:49:47.013Z", "systemModifiedBy": "5a477047-93d3-4130-a8c2-b05fb7425ffa" } |
GET [filter] servicePrice
Description
Retrieves and filters an existing service price record from Business Central.
HTTP Request
GET
https://{{businesscentralPrefix}}/{{APIGroup}}/{{version}}/companies({{companyId}})/servicePrices?$filter=Type eq 'Building' and ServiceNo eq 'ELECTRICITY'
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
None.
Response
Returns a 200 OK status code and JSON object representing the service price record.
Example Response
JSON
|
{ "id": "0998758d-bcd9-f011-8542-7ced8d2d592d", "type": "Building", "code": "BUILDING1", "quantityType": "Meter", "useQuantity": false, "serviceNo": "ELECTRICITY", "daysPerYear360": false, "effectiveDate": "2025-01-01", "expirationDate": "2025-12-31", "priceForPeriod": " ", "unitPrice": 0.21, "comparativeTurnoverPercentage": 0, "turnoverRentServiceNo": "", "indexPrice": false, "priceIndexingCode": "", "indexingStartingDate": "0001-01-01", "indexingEndingDate": "0001-01-01", "indexingCalcStartingDate": "0001-01-01", "createdNewIndexedPriceLine": false, "minIndexValue": 0, "maxIndexValue": 0, "bckUnitPrice": 0, "appliedPriceIndexingCode": "", "appliedPriceIndexingValue": 0, "systemCreatedAt": "2025-12-15T13:47:16.02Z", "systemCreatedBy": "6ac927c2-1d2f-437f-89ed-3cb0cf930e68", "systemModifiedAt": "2025-12-15T13:47:16.02Z", "systemModifiedBy": "6ac927c2-1d2f-437f-89ed-3cb0cf930e68" } |
POST servicePrice
Description
Creates a new service price record in Business Central.
HTTP Request
POST
https://{{businesscentralPrefix}}/{{APIGroup}}/{{version}}/companies({{companyId}})/servicePrices
Request Headers
| Header | Value |
| Authorization | NTLM, OAuth2. Required. |
| Accept | application/json |
Request Body
Provide a JSON object with service price data.
JSON
|
{ "type": "Building", "code": "BUILDING1", "quantityType": "Meter", "serviceNo": "ELECTRICITY", "daysPerYear360": false, "effectiveDate": "2026-02-01", "expirationDate": "2026-02-28", "priceForPeriod": "", "unitPrice": 0.22, "comparativeTurnoverPercentage": 0, "turnoverRentServiceNo": "", "indexPrice": false, "priceIndexingCode": "", "indexingStartingDate": "0001-01-01", "indexingEndingDate": "0001-01-01", "indexingCalcStartingDate": "0001-01-01", "createdNewIndexedPriceLine": false, "minIndexValue": 0, "maxIndexValue": 0 } |
Response
Returns a 201 Created status code and the created service price object.
Properties
| Property | Type | Description |
| id | GUID | The unique ID of the service price. Non-editable. |
| type | string | Specifies the service price type. It can be “All Contracts”, “Building”, “Contract”, “Lease Unit”. |
| code | string | Specifies the record to which the price applies, based on the selected type, e.g. If the Type is Lease Unit, specify the Lease Unit number. |
| quantityType | string | Specifies how the price is calculated. It can be “Fixed”, “Area”, “Turnover”, “Meter”. |
| useQuantity | boolean | Specifies whether charges should be calculated based on a variable Quantity defined in the Lease Contract, e.g. parking spaces. |
| serviceNo | string | Specifies the Service number to which the price will be applied. |
| daysperYear360 | boolean | Specifies whether a price is set for a year but the Customer is invoiced monthly. The system will calculate equal amounts for each month when creating Service Journal lines. |
| effectiveDate | date | Specifies the service price starting date. |
| expirationDate | date | Specifies the service price ending date. |
| priceForPeriod | string | Specifies the period for which the price applies. It can be „ “, “Day”, “Week”, “Month”, “Year”, “Quarter”. |
| unitPrice | decimal | Specifies the price to be applied. |
| comparativeTurnoverPercentage | decimal | Specifies the comparative turnover percentage. |
| turnoverRentServiceNo | string | Specifies the turnover rent service number to which the price will be applied. |
| indexPrice | boolean | Specifies whether the price indexation should be applied. |
| priceIndexingCode | string | Specifies the appropriate indexing code from Price Indexing Code table. |
| indexingStartingDate | date | Specifies the first date when the first indexation began. |
| indexingEndingDate | date | Specifies the date after which the price should no longer be indexed. |
| indexingCalcStartingDate | date | Specifies the next scheduled indexation date. The valid index value will be applied according to this date. |
| createdNewIndexedPriceLine | boolean | Specifies whether the new indexed price line should be created. |
| minIndexValue | decimal | Specifies the minimum index value, if required. For example, if the minimum index value for a customer is 2%, the Min Index Value should be set to 2. |
| maxIndexValue | decimal | Specifies the maximum index value, if required. For example, if the maximum index value for a customer is 5%, the Max Index Value should be set to 5. |
| systemCreatedAt | datetime | The datetime the service price was created. |
| systemCreatedBy | GUID | The ID of the user who created the service price. |
| systemModifiedAt | datetime | The last datetime the service price was modified. |
| systemModifiedBy | GUID | The ID of the user who modified the service price. |
JSON Representation
|
{ "id": "GUID", "type": "string", "code": "string", "quantityType": "string", "useQuantity": "boolean", "serviceNo": "string", "daysperYear360": "boolean", "effectiveDate": "date", "expirationDate": "date", "priceForPeriod": "string", "unitPrice": "decimal", "comparativeTurnoverPercentage": "decimal", "turnoverRentServiceNo": "string", "indexPrice": "boolean", "priceIndexingCode": "string", "indexingStartingDate": "date", "indexingEndingDate": "date", "indexingCalcStartingDate": "date", "createdNewIndexedPriceLine": "boolean", "minIndexValue": "decimal", "maxIndexValue": "decimal", "systemCreatedAt": "datetime", "systemCreatedBy": "GUID", "systemModifiedAt": "datetime", "systemModifiedBy": "GUID" } |