Pre-Booking Quote Retrieval API
Pre-Booking Quote Retrieval EndpointPre-Booking Quote Retrieval
The Pre-Booking Quote Retrieval API endpoint offers comprehensive information on quotes for requested storage boxes. The quote comes in two variations: for the prorated period from the move-in date to the last invoice cycle and for a complete invoice cycle. The primary details include property details and storage box specifics, providing a quick overview for decision-making when booking.
/v1/booking/rental-surface/pre-rental-quotation/preview
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.
Request Body:
-
taxUserTypeInfoId string required
taxUserTypeInfoId refers to type of user (e.g., "General", "Business", "Student"). -
storageInfoId string required
storageInfoId refers to type of storage (e.g., "Unit Storage", "Container Storage"). -
storageGroupInfoId int required
storageGroupInfoId refers to the grouping category for unit sizes (e.g., "Small", "Medium", "Large").. -
storageCategoryInfoId string required
storageCategoryInfoId refers to the storage category (e.g., 'Climate-Controlled', 'Non-Climate-Controlled) -
propertyInfoId string required
propertyInfoId refers to the ID of the specific property. -
paymentPeriod string required
paymentPeriod refers to payment period (e.g., "Monthly", "Quartely"). -
size decimal required
size refers to the unit size. -
price decimal required
price refers to the standard price of the unit. -
moveInDate string required
moveInDate refers to the actual movein date. -
discountInfoId string
discountInfoId refers to the active discount ID. -
discountPropertyInfoId string
discountPropertyInfoId refers to the discount ID linked to the property. -
additionalInvoiceDuration int
Refers to the additional duration required to be added for the initial move-in; it may be a number of months if the paymentPeriod is MONTHLY or the number of weeks if the payment period is WEEKLY. By default, it's zero.
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 detailed quotes for storage boxes. Possible values include "success" for a successful request and specific error messages for failures. -
data object | null
Upon success, this field contains detailed information related to the pre-booking quote retrieval. In case of failure or no data, this field may be null. -
errors array
Holds error information if applicable. It is an array containing error details in case the request to retrieve pre-booking quotes encounters any issues. Each element in the array provides specific error details.
object: data
-
billingSubscription object
Billing subscription details (refer to Billing Subscription Details section). -
proRataSubscription object
Prorated subscription details (refer to Pro-Rata Subscription Details section). -
property object
Property details (refer to Property Details section). -
storage object
Storage details, including storage box ID and name. -
storageSize object
Storage size details, including size, scale metrics, default size metrics, length, width, and height.
Billing Subscription and Pro-Rata Subscription Details
Detailed information on the billing subscription and prorated subscription, including non-taxable amount, taxable amount, tax amount, net amount, gross amount, rent details, discounts, insurance, service, and merchandise details.
object: data.billingSubscription and data.proRataSubscription
-
startDate string
Start date of the billing subscription (e.g., "04-02-2024"). -
endDate string
End date of the billing subscription (e.g., "03-03-2024"). -
nonTaxableAmount object
Details about the non-taxable amount, including price and formatted price. -
taxableAmount object
Details about the taxable amount, including price and formatted price. -
taxAmount object
Details about the tax amount, including price and formatted price. -
netAmount object
Details about the net amount, including price and formatted price. -
grossAmount object
Details about the gross amount, including price and formatted price. -
rent object
Details about the rent, including ID, description, taxable price, tax percentage, tax price, payable price, and period. -
discount object
Details about any discounts applied. -
insurance object
Details about insurance, including ID, description, taxable price, tax percentage, tax price, payable price, and period. -
service object
Details about any additional services. -
merchandise array
Details about any merchandise items. -
transactData object
Details about a consolidated group of items chosen by the tenant to prepare the quote (refer to Transaction Item Details section).
Transaction Item Details
Details about the transaction items chosen by the tenant to prepare the quote. Each transaction item is identified by its category, such as 'RENT', 'RENTAL_DISCOUNT', 'INSURANCE', 'SERVICE', etc.
object: data.transactData
-
name string
The name of the transaction item (e.g., "4.00m2"). -
description string
A description of the transaction item, including duration (e.g., "4.00m2 (Duration: 05-02-2024 to 04-03-2024)"). -
category string
The category of the transaction item, identifying its type (e.g., 'RENT', 'RENTAL_DISCOUNT', 'INSURANCE', 'SERVICE', etc.). -
nonTaxableAmount object | null
Details about the non-taxable amount, including price and formatted price. If no non-taxable amount, it will be null. -
taxableAmount object
Details about the taxable amount, including price and formatted price. -
taxPercentage object
Details about the tax percentage, including price and formatted price. -
taxAmount object
Details about the tax amount, including price and formatted price. -
netAmount object
Details about the net amount, including price and formatted price. -
grossAmount object
Details about the gross amount, including price and formatted price.
Property Details
Details about the property, including property name, address, city, latitude, longitude, postal code, country, and contact number.
object: data.property
-
id unique-identifier
Unique identifier for the property. -
name string
Name of the property. -
address string
Street address of the property. -
city string
City where the property is located. -
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. -
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.
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 Details
Details about the size of the storage box, including size, scale metrics, default size metrics, length, width, and height.
object: data.storageSize
-
size float
Size of the storage in specified metrics (e.g., 2.5). -
scaleMetrics string
Scale metrics used for the size (e.g., "m" for meters). -
defaultSizeMetrics string
Default size metrics for the storage (e.g., "AREA", "VOLUME"). -
length float
Length dimension of the storage box. -
width float
Width dimension of the storage box. -
height float
Height dimension of the storage box.
Request Header
Authorization: X-API-Key --api-key--
API Request
{
"taxUserTypeInfoId": "0FD594E9-4635-4DB6-9EA9-E04E80BF0B25",
"storageInfoId": "47fa29c4-738a-42dc-bcb3-6dba1ee7e38e",
"propertyInfoId": "a99c4590-9475-404e-bcbd-6cba2e2b5e16",
"paymentPeriod": "MONTHLY",
"storageGroupInfoId": 0,
"storageCategoryInfoId": "FB1660C7-4D43-4637-AAD8-5E547E6455EF",
"discountInfoId": "C453EA01-2E9E-4636-977F-C64555F86F20",
"discountPropertyInfoId": "6AE2C911-55A0-41FD-875C-529D846C25E0",
"size": 4,
"price": 25,
"moveInDate": "2024-02-05T08:16:31.678Z",
"additionalInvoiceDuration": 0
}
API Response
{
"data": {
"billingSubscription": {
"startDate": "05-02-2024",
"endDate": "04-03-2024",
"taxUserType": "General",
"nonTaxableAmount": {
"price": 0,
"formattedPrice": "0,00 €"
},
"taxableAmount": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxAmount": {
"price": 5.00,
"formattedPrice": "5,00 €"
},
"netAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"grossAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"rent": {
"id": "de530cd5-1f68-4a96-b844-da66e95fe86f",
"description": "4.00m2 ",
"taxablePrice": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxPercentage": {
"percentage": 20.00,
"formattedPercentage": "20,00 %"
},
"taxPrice": {
"price": 5.00,
"formattedPrice": "5,00 %"
},
"payablePrice": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"period": null
},
"discount": null,
"insurance": null,
"service": null,
"merchandise": null,
"transactData": [
{
"name": "4.00m2",
"description": "4.00m2 (Duration: 05-02-2024 to 04-03-2024)",
"categeory": "RENT",
"nonTaxableAmount": null,
"taxableAmount": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxPercentage": {
"price": 20.00,
"formattedPrice": "20.00"
},
"taxAmount": {
"price": 5.00,
"formattedPrice": "5,00 €"
},
"netAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"grossAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
}
}
]
},
"proRataSubscription": {
"startDate": "05-02-2024",
"endDate": "04-03-2024",
"taxUserType": "General",
"nonTaxableAmount": {
"price": 0,
"formattedPrice": "0,00 €"
},
"taxableAmount": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxAmount": {
"price": 5.00,
"formattedPrice": "5,00 €"
},
"netAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"grossAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"rent": {
"id": "9a2a1816-69be-4611-ac48-963e0dad6583",
"description": "4.00m2 ",
"taxablePrice": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxPercentage": {
"percentage": 20.00,
"formattedPercentage": "20,00 %"
},
"taxPrice": {
"price": 5.00,
"formattedPrice": "5,00 %"
},
"payablePrice": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"period": null
},
"discount": null,
"insurance": null,
"service": null,
"merchandise": null,
"transactData": [
{
"name": "4.00m2",
"description": "4.00m2 (Duration: 05-02-2024 to 04-03-2024)",
"categeory": "RENT",
"nonTaxableAmount": null,
"taxableAmount": {
"price": 25.00,
"formattedPrice": "25,00 €"
},
"taxPercentage": {
"price": 20.00,
"formattedPrice": "20.00"
},
"taxAmount": {
"price": 5.00,
"formattedPrice": "5,00 €"
},
"netAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
},
"grossAmount": {
"price": 30.00,
"formattedPrice": "30,00 €"
}
}
]
},
"property": {
"id": "a99c4590-9475-404e-bcbd-6cba2e2b5e16",
"name": "Chalets",
"address": "13 rue des Chalets",
"city": "Toulouse",
"latitude": 43.615232811359924000,
"longitude": 1.441923783106378700,
"postalCode": "31000",
"country": {
"id": 82,
"name": "France"
},
"region": {
"id": 216,
"name": "Occitania"
},
"countryISOCode2": "FR",
"googlePlaceId": "ChIJ62YIC1-7rhIRhD_iH8qTlRo",
"contactNumber": "+33 0522243838",
"propertyImageList": null,
"propertyOfficeOpeningHoursInfoList": [
{
"dayOfWeek": 0,
"week": "dimanche",
"firstTimeSlot": null,
"secondTimeSlot": null,
"isClosed": true
},
{
"dayOfWeek": 1,
"week": "lundi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": 2,
"week": "mardi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": 3,
"week": "mercredi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": 4,
"week": "jeudi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": 5,
"week": "vendredi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": 6,
"week": "samedi",
"firstTimeSlot": "09:00 To 12:30",
"secondTimeSlot": "13:30 To 19:00",
"isClosed": false
},
{
"dayOfWeek": -1,
"week": null,
"firstTimeSlot": null,
"secondTimeSlot": null,
"isClosed": true
}
]
},
"storage": {
"id": "47fa29c4-738a-42dc-bcb3-6dba1ee7e38e",
"name": "Box"
},
"storageSize": {
"size": 4,
"scaleMetrics": "m2",
"defaultSizeMetrics": null,
"length": 0,
"width": 0,
"height": 0
}
},
"succeeded": true,
"status": "SUCCESS",
"errors": null
}
Error Codes
-
INVALID_PARAM_PREPARE_QUOTATION_INPUT
INVALID_PARAM_PREPARE_QUOTATION_INPUT refers to input details provided as null. -
INVALID_PARAM_TAX_USER_TYPE_ID
INVALID_PARAM_TAX_USER_TYPE_ID refers to invalid user type. -
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_STORAGE_CATEGORY_INFO_ID
INVALID_PARAM_STORAGE_CATEGORY_INFO_ID refers to invalid category id for the selected storage. -
INVALID_PARAM_STORAGE_SIZE
INVALID_PARAM_STORAGE_SIZE refers to an invalid storage size, and the size should be greater than 0. -
INVALID_DATA_STORAGE_SIZE_PRICE_INFO
INVALID_DATA_STORAGE_SIZE_PRICE_INFO refers to invalid storage size price details. -
INVALID_PARAM_PRICE_DETAILS
INVALID_PARAM_PRICE_DETAILS refers to invalid price details. -
PRICE_CALCULATION_FAILED
PRICE_CALCULATION_FAILED refers to a failure in price calculation. -
PRORATA_SUBSCRIPTION_CALCULATION_FAILED
PRORATA_SUBSCRIPTION_CALCULATION_FAILED refers to pro-rata subscription amount calculation failure. -
BILLING_SUBSCRIPTION_CALCULATION_FAILED
BILLING_SUBSCRIPTION_CALCULATION_FAILED refers to billing subscription amount calculation failure. -
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.