Size and Price Listing for Property
Size and Price Listing for Property API Endpoint
Size and Price Listing for Property
The Size & Price Listing endpoint returns the unit size groups and sizes available for a specified property and storage type, priced for the requested payment period and user type. Results are organized by storage type and category and reflect active discounts and plan variations.
For each size, the response includes the minimum price and all applicable plan options, rental and (when available) booking price breakdowns, discount metadata, tax details, final payable amounts, and availability counts (e.g., units available to rent/book). It also carries basic size metrics (width/length/height, surface), facility plan information (such as level), and optional imagery to support rent/booking decisions.
/v1/search/storage/{storageInfoId}/property/{propertyIdentifier}/user-type/{taxUserTypeInfoId}/period/{paymentPeriod}/price/list
Use when you have the property’s string identifier/slug (e.g., toulouse-est
).
/v1/search/storage/{storageInfoId}/property/{propertyInfoId}/user-type/{taxUserTypeInfoId}/period/{paymentPeriod}/price/list
Use when you have the property’s GUID (e.g., 94df61e3-7334-4d56-9d4d-c740cb0e2409
).
application/json
application/json
Request Header
-
Authorization: X-API-Key string required
X-API-Key is a string of letters and numbers used to authenticate and control access to the API. It can be generated in the StoRegister management application.
URL Query Parameters:
-
propertyInfoId unique-identifier required
propertyInfoId refers to the ID of the specific property. -
storageInfoId unique-identifier required
storageInfoId refers to type ID of storage (e.g., "Unit Storage", "Container Storage"). -
taxUserTypeInfoId unique-identifier required
taxUserTypeInfoId refers to type ID of the user (e.g., "General", "Business", "Student"). -
paymentPeriod string (enum) required
paymentPeriod selects the billing unit for pricing. Accepted values:MONTHLY
orWEEKLY
. The endpoint returns the default period for the chosen unit—1 month whenMONTHLY
, 1 week whenWEEKLY
. Additional durations (e.g., 3 or 12 months) may also be present in the pricing maps.
Response Payload:
-
succeeded boolean
Indicates whether the request to retrieve tenant activity and quotes for storage boxes was successful. It is a boolean value wheretrue
denotes success, andfalse
indicates failure. -
status string
Describes the status of the request to retrieve tenant activity and quotes. It is a string providing additional information about the status. -
data object | null
On success, contains the Size & Price Listing result: property (property metadata), storage (storage type info), and propertySizePriceData (size groups and sizes with plan options, rental/booking price breakdowns, applied discounts, tax details, final payable amounts, and availability counts such as units available to rent/book), all computed for the requested paymentPeriod and user type. If the request fails or no data is available, the value isnull
. -
errors array
Holds error information if applicable. It is an array containing error details in case there are issues with retrieving tenant activity and quotes.
object: data
-
property object
Details about the property (refer to Property Details section). -
storage object
Details about the storage (refer to Storage Details section). -
propertySizePriceData object
Details about the size and its associated price based on its storage category (refer to Storage Size and Price Details section).
Property Details
Comprehensive information about the property, including its identifiers, display name, address, city, region, country, geographic coordinates, postal code, contact details, office and access hours, images, and other related attributes.
object: data.property
-
id unique-identifier
Unique identifier for the property. -
name string
Name of the property. -
identifier string (slug)
SEO-friendly identifier/slug for the property (used in URLs and routing). -
brandName null or string
Brand label for the property (if the site operates multiple brands). -
displayName string
Customer-facing name for the property used in UI and communications. -
emailId string (email)
Primary email contact for the property location. -
address string
Street address of the property. -
city string
City where the property is located. -
region object
Administrative region/state where the property is located (containsid
andname
). -
latitude float
Latitude coordinate of the property location. -
longitude float
Longitude coordinate of the property location. -
postalCode string
Postal code of the property location. -
country object
Country where the property is located. -
countryISOCode2 string
ISO code (2 characters) for the country of the property. -
googlePlaceId string
Google Place ID associated with the property location. -
contactNumber string
Contact number for the property. -
officeHours string
Formatted office hours text shown to customers. -
accessHours string
Formatted access hours text for tenant entry (e.g., 7/7 access windows). -
propertyImageList null or array
List of property images or null if not available. -
propertyOfficeOpeningHoursInfoList null or array
List of information about property office opening hours or null if not available (refer to the Property Working Hours section for details).
Property Working Hours
Information about the working hours of the property, including opening and closing times for each day of the week.
array data.property.propertyOfficeOpeningHoursInfoList
-
dayOfWeek integer
Day of the week represented as an integer (0 for Sunday, 1 for Monday, ..., 6 for Saturday). The value -1 represents public holidays. -
week string
Name of the day of the week in French. -
firstTimeSlot string
Opening and closing time of the first time slot, if applicable. -
secondTimeSlot string
Opening and closing time of the second time slot, if applicable. -
isClosed boolean
Indicates whether the property is closed on the specified day.
Payment Period Options
Available billing cycles for this property (e.g., Monthly, Quarterly), including their durations.
array data.property.paymentPeriod
-
id unique-identifier
Unique identifier of the payment period option. -
name string
Display label of the payment period (e.g., “Monthly”, “Quarterly”). -
duration integer (months)
Number of months that define the billing cycle. -
paymentPeriod null or string
Canonical code for the period if present (null when not applicable).
Additional Property Data
Supplementary metrics and lookup lists used for pricing and UI display.
object data.property.additionalData
-
minimumSize null or number
Smallest advertised unit size at this property (if available). -
maximumSize null or number
Largest advertised unit size at this property (if available). -
rentStartsFrom object
Lowest starting rent across sizes, including raw value and localized formatting.
object data.property.additionalData.rentStartsFrom
-
price number
The lowest rental price available for this property, irrespective of the unit size. For example,1.50
means rents at this property start from €1.50. -
formattedPrice string
Localized display string of the lowest rent, including currency and proper formatting (e.g.,1,50 €
).
array data.property.additionalData.storage
-
id unique-identifier
Storage type/category identifier (e.g., Box, Wine, Vehicle). -
name string
Internal storage type name. -
displayName string
User-facing storage type label (shown in UI filters and cards). -
property null or object
Optional property reference; null when not required for this listing.
Storage Details
Information about the storage, including storage box ID and name.
object: data.storage
-
id unique-identifier
Unique identifier for the storage box. -
name string
Name of the storage box.
Storage Size and Price Details
Information about the sizes available, their respective pricing, and variants for a specific property. Categorized by storage type and category to aid decisions for renting or booking based on discounts, availability, and plan-level pricing.
array: data.propertySizePriceData
-
id string
Unique identifier for the property row. -
name string
Internal name of the property. -
displayName null|string
Customer-facing name of the property. -
brandName null|string
Brand label if the site runs multiple brands. -
city null|string
City name where the property is located. -
geoLocationInfoId number
Geolocation identifier. -
geoLocationInfoName null|string
Geolocation name/region label. -
countryId number
Numeric country identifier. -
country null|string
Country name. -
countryInfoISOCode2 null|string
ISO-3166 alpha-2 code (e.g., “FR”). -
zipCode null|string
Postal/ZIP code. -
addressLine1 null|string
Primary street address line. -
addressInfoLatitude number
Latitude of the property coordinates. -
addressInfoLongitude number
Longitude of the property coordinates. -
googlePlaceId null|string
Google Place ID referencing the location. -
contactNumberDialingCode number
Dialing code for the phone number. -
contactNumber null|string
Primary contact number for the property. -
emailId null|string
Contact email address for the property. -
officeHours null|string
Formatted office hours text. -
accessHours null|string
Formatted tenant access hours text. -
identifier string
SEO-friendly slug used in links/routing (e.g., “toulouse-est”). -
onlinePortalPrivilege string (enum)
Portal capability for this context (e.g.,RENT
,BOOK
,INQUIRE
). -
strorageInfoId string
Unique identifier for the storage type (JSON key as provided). -
storageInfoName string
Display name of the storage type (e.g., “Box Storage”). -
storageInfoDimensionType string (enum)
Dimension grouping (e.g.,BOX
). -
sizes array
List of storage sizes for this storage type (see “Storage Size Details”).
object: data.propertySizePriceData[].sizes[]
-
storageSizeGroupMasterInfoId number
Master group identifier for size banding. -
storageSizeGroupInfoId string (uuid)
Unique identifier of the size group. -
storageSizeGroupInfoName string
Label for the size group (e.g., “L - 7 à 10,5 m²”). -
width number
Width of the unit (inscaleMetrics
units). -
length number
Length of the unit. -
height number
Height of the unit (0 when not captured). -
surface number
Calculated area/surface for the unit. -
scaleMetrics string
Measurement scale (e.g.,m
). -
sizeMetrics string
Size metric type (e.g.,AREA
). -
availableCount number
Number of units currently available for this size. -
storageSpaceSizeInfoId string
Identifier for the concrete size record. -
storageSizeImageAssetInfoId string
Asset identifier for the illustrative image. -
storageSizeImageInfoPath string (url)
URL to the size image. -
storageSizeDescription null|string
Optional description for the size group. -
storageSpaceSizeAssumedVolume number
Assumed volume for planning/quotes (0 when not set). -
storageCategory array
List of categories and their pricing for this size (see “Storage Category Details”).
Storage Category Details
-
id string
Identifier for the storage category. -
name string
Display name of the storage category. -
rent array
Pricing containers for this category/size (see “Pricing Containers”).
Pricing Containers
Each item represents either the minimum price option or a specific plan option for the size/category.
object: minimumStoragePrice and allStoragePrice[]
-
facilityPlanInfoId string (uuid)
Plan identifier (e.g., building level or facility plan). -
facilityPlanInfoName string
Plan name (e.g., “Level 2”). -
rentalPrice object (map)
Dictionary keyed by period (months) as strings (e.g.,"1"
,"3"
,"12"
), each value containing a full price breakdown (see “Booking and Rental Price Details”). -
bookingPrice null|object
Booking price breakdown for the same plan (null if not applicable). -
availableSpaceForRent number
Units available to rent under this plan. -
availableSpaceForBook number
Units available to book under this plan.
Booking and Rental Price Details
object: bookingPrice and rentalPrice["<months>"]
-
discountInfoId string
Identifier for the applied discount rule. -
discountPropertyInfoId string
Property link for the discount, if scoped to property. -
discountDescription null|string
Human-readable description of the discount. -
taxablePrice object
Base price before tax (see “Price Details”). -
tax object
Tax metadata (see “Tax Details”). -
taxAmount object
Computed tax amount (see “Price Details”). -
netAmount object
Total including tax before discounts (see “Price Details”). -
discountAmount object
Absolute discount value (see “Price Details”). -
discountPercentage null|number
Percentage discount when provided (null if not applicable). -
payableAmount object
Final amount due after tax and discounts (see “Price Details”). -
quantity number
Quantity multiplier used for the priced period.
Price Details
Price objects carry both numeric and formatted values for display and calculations.
object: taxablePrice, taxAmount, netAmount, discountAmount, payableAmount
-
price number
Numeric amount used for computation. -
formattedPrice string
Localized display string (currency & separators), e.g.,30,00 €
.
Tax Details
-
name string
Tax label (e.g., “VAT”). -
taxPercentage number
Tax rate in percentage (e.g.,20
). -
taxPercentageFormatted string
Localized rate string (e.g.,20,00 %
).
Request Header
Authorization: X-API-Key --api-key--
API Response
{
"data": {
"property": {
"rentStartsOn": null,
"propertyImageList": [
"https://www.example.com/atlanta.png"
],
"propertyOfficeOpeningHoursInfoList": [
{
"dayOfWeek": 0,
"week": "dimanche",
"firstTimeSlot": null,
"secondTimeSlot": null,
"isClosed": true
},
{
"dayOfWeek": 1,
"week": "lundi",
"firstTimeSlot": "09:30 To 12:30",
"secondTimeSlot": "14:00 To 18:00",
"isClosed": false
},
{
"dayOfWeek": 2,
"week": "mardi",
"firstTimeSlot": "09:30 To 12:30",
"secondTimeSlot": "14:00 To 18:00",
"isClosed": false
},
{
"dayOfWeek": 3,
"week": "mercredi",
"firstTimeSlot": "09:30 To 12:30",
"secondTimeSlot": "14:00 To 18:00",
"isClosed": false
},
{
"dayOfWeek": 4,
"week": "jeudi",
"firstTimeSlot": "09:30 To 12:30",
"secondTimeSlot": "14:00 To 18:00",
"isClosed": false
},
{
"dayOfWeek": 5,
"week": "vendredi",
"firstTimeSlot": "09:30 To 12:30",
"secondTimeSlot": "14:00 To 18:00",
"isClosed": false
},
{
"dayOfWeek": 6,
"week": "samedi",
"firstTimeSlot": "09:30 To 13:00",
"secondTimeSlot": "00:00 To 00:00",
"isClosed": false
}
],
"paymentPeriod": [
{
"id": "547ff6e0-7fc0-4886-8f9b-15d4febdda55",
"name": "Monthly",
"duration": 1,
"paymentPeriod": null
},
{
"id": "6181ec3c-23a5-4671-bf8a-29183a94c52a",
"name": "Quarterly",
"duration": 3,
"paymentPeriod": null
},
{
"id": "6d3ae57d-f570-4c9a-a1d4-8a75b8019685",
"name": "Five Months",
"duration": 5,
"paymentPeriod": null
},
{
"id": "4952fe74-af90-485e-ba21-1373fd77130f",
"name": "Yearly",
"duration": 12,
"paymentPeriod": null
}
],
"additionalData": {
"minimumSize": null,
"maximumSize": null,
"rentStartsFrom": {
"price": 2.1,
"formattedPrice": "2,10 €"
},
"storage": [
{
"id": "47fa29c4-738a-42dc-bcb3-6dba1ee7e38e",
"name": "Box",
"displayName": "Box Storage",
"property": null
}
]
},
"id": "94df61e3-7334-4d56-9d4d-c740cb0e2409",
"name": "Atlanta",
"brandName": null,
"displayName": "Toulouse Est",
"emailId": "[email protected]",
"address": "54 rue André Vasseur",
"contactNumber": "+33 45354356587",
"city": "Toulouse",
"region": {
"id": 216,
"name": "Occitania"
},
"country": {
"id": 82,
"name": "France",
"isoCode2": null,
"isoCode3": null,
"currencyCode": null,
"dialingCode": 0
},
"latitude": 43.6369871,
"longitude": 1.475101,
"postalCode": "31200",
"officeHours": "Du lundi au vendredi de 9h30 à 12h30 et de 14h00 à 18h00\nLe samedi de 9h30 à 13h00",
"accessHours": "7J/7 de 6h à 22h",
"identifier": "toulouse-est",
"countryISOCode2": "FR",
"googlePlaceId": "ChIJfbDAtjqjrhIRAXf_wK0KIs0"
},
"storage": {
"id": "47fa29c4-738a-42dc-bcb3-6dba1ee7e38e",
"name": "Box Storage"
},
"propertySizePriceData": [
{
"id": "94df61e3-7334-4d56-9d4d-c740cb0e2409",
"name": "Atlanta",
"displayName": null,
"brandName": null,
"city": null,
"geoLocationInfoId": 0,
"geoLocationInfoName": null,
"countryId": 0,
"country": null,
"countryInfoISOCode2": null,
"zipCode": null,
"addressLine1": null,
"addressInfoLatitude": 0,
"addressInfoLongitude": 0,
"googlePlaceId": null,
"contactNumberDialingCode": 0,
"contactNumber": null,
"emailId": null,
"officeHours": null,
"accessHours": null,
"identifier": "toulouse-est",
"onlinePortalPrivilege": "RENT",
"strorageInfoId": "47fa29c4-738a-42dc-bcb3-6dba1ee7e38e",
"storageInfoName": "Box Storage",
"storageInfoDimensionType": "BOX",
"sizes": [
{
"storageSizeGroupMasterInfoId": 3,
"storageSizeGroupInfoId": "b216974d-3423-4e6e-a188-d173de9ca042",
"storageSizeGroupInfoName": "L - 7 à 10,5 m²",
"width": 12,
"length": 16,
"height": 0,
"surface": 192,
"scaleMetrics": "m",
"sizeMetrics": "AREA",
"availableCount": 20,
"storageSpaceSizeInfoId": "2bf979ae-6371-4573-8d81-8568763f8a5d",
"storageSizeImageAssetInfoId": "b861418e-27d6-442b-a062-01b4aec5af18",
"storageSizeImageInfoPath": "https://www.example.com/192.png",
"storageSizeDescription": null,
"storageSpaceSizeAssumedVolume": 0,
"storageCategory": [
{
"rent": [
{
"minimumStoragePrice": {
"facilityPlanInfoId": "987c6821-6877-45eb-bd3c-889d8530ee48",
"facilityPlanInfoName": "Level 2",
"rentalPrice": {
"1": {
"discountInfoId": "cdc0aa7d-d16c-4341-81fb-bc38f6f194f9",
"discountPropertyInfoId": "96fff77f-2a37-4c77-be7a-5368edaaad12",
"discountDescription": "Don’t blink, or you might miss the deal of the season!",
"taxablePrice": {
"price": 41.667,
"formattedPrice": "41,67 €"
},
"tax": {
"name": "VAT",
"taxPercentage": 20,
"taxPercentageFormatted": "20,00 %"
},
"taxAmount": {
"price": 8.33,
"formattedPrice": "8,33 €"
},
"netAmount": {
"price": 50,
"formattedPrice": "50,00 €"
},
"discountAmount": {
"price": 20,
"formattedPrice": "20,00 €"
},
"discountPercentage": null,
"payableAmount": {
"price": 30,
"formattedPrice": "30,00 €"
},
"quantity": 1
}
},
"bookingPrice": null,
"availableSpaceForRent": 1,
"availableSpaceForBook": 1
},
"allStoragePrice": [
{
"facilityPlanInfoId": "987c6821-6877-45eb-bd3c-889d8530ee48",
"facilityPlanInfoName": "Level 2",
"rentalPrice": {
"1": {
"discountInfoId": "cdc0aa7d-d16c-4341-81fb-bc38f6f194f9",
"discountPropertyInfoId": "96fff77f-2a37-4c77-be7a-5368edaaad12",
"discountDescription": "Don’t blink, or you might miss the deal of the season!",
"taxablePrice": {
"price": 41.667,
"formattedPrice": "41,67 €"
},
"tax": {
"name": "VAT",
"taxPercentage": 20,
"taxPercentageFormatted": "20,00 %"
},
"taxAmount": {
"price": 8.33,
"formattedPrice": "8,33 €"
},
"netAmount": {
"price": 50,
"formattedPrice": "50,00 €"
},
"discountAmount": {
"price": 20,
"formattedPrice": "20,00 €"
},
"discountPercentage": null,
"payableAmount": {
"price": 30,
"formattedPrice": "30,00 €"
},
"quantity": 1
}
},
"bookingPrice": null,
"availableSpaceForRent": 1,
"availableSpaceForBook": 1
}
]
}
],
"id": "79811a18-0a70-4880-90f9-b719e334fc05",
"name": "Boks"
}
]
}
]
}
]
},
"referenceData": null,
"succeeded": true,
"status": "SUCCESS",
"errors": null
}
Error Codes
-
INVALID_PARAM_PROPERTY_INFO_ID
INVALID_PARAM_PROPERTY_INFO_ID refers to invalid property ID. -
INVALID_PARAM_STORAGE_INFO_ID
INVALID_PARAM_STORAGE_INFO_ID refers to invalid storage ID. -
INVALID_PARAM_TAX_USER_TYPE_ID
INVALID_PARAM_TAX_USER_TYPE_ID refers to invalid user type. -
UNABLE_TO_RETREIVE_STORAGE_SIZE_PRICE_INFO_DETAILS
UNABLE_TO_RETREIVE_STORAGE_SIZE_PRICE_INFO_DETAILS means unable to retreive size price details. -
NO_RECORDS_FOUND
NO_RECORDS_FOUND means there is no relevant information found. -
FAILED
FAILED refers to an unsuccessful API call. -
SOMETHING_WENT_WRONG
SOMETHING_WENT_WRONG refers to technical glitch. Please contact administrator.