# Rental Conditions The e-shop can retrieve the rental product conditions for each product model via the GET /partner/v3/shops/:shopUuid/rental/products/:productCode/detailed-asset-model?identifierType=:identifierType&identifier=:identifier request. The response includes the minimum and maximum product price values and the rental periods, add-on price range etc These values can then be used to initiate a session with Inbank. The response also includes assetIdentifierTypes which define the required identifier types for assigning asset identifiers. The request URL includes the product codes provided by Inbank, while the query includes the type of the model identifier that has been agreed with Inbank and the model identifier, from the list of model identifiers provided to Inbank. Possible identifier type options are: - EAN - MANUFACTURER_PRODUCT_CODE Endpoint: GET /partner/v3/shops/{shopUuid}/rental/products/{productCode}/detailed-asset-model Security: bearerAuth ## Path parameters: - `shopUuid` (string, required) Example: "a93f1f44-d5dd-4469-bfcc-c1de9e969213" - `productCode` (string, required) Example: "example_code" ## Query parameters: - `identifierType` (string, required) Example: "EAN" - `identifier` (string, required) Example: 88845632734657 ## Response 200 fields (application/json): - `id` (string) Rental product code. - `name` (string) Rental product name. - `periods` (array) Rental periods. - `assetIdentifierTypes` (array) Asset identifier types. Possible values are IMEI and SERIAL_NUMBER. - `identifiers` (any) The identifier type. Enum: "EAN", "MANUFACTURER_PRODUCT_CODE" - `subscriptionTotalLimits` (object) - `subscriptionTotalLimits.minNetPrice` (number) Minimum net price. - `subscriptionTotalLimits.maxNetPrice` (number) Maximum net price. - `subscriptionTotalLimits.minGrossPrice` (number) Minimum gross price. - `subscriptionTotalLimits.maxGrossPrice` (number) Maximum gross price. - `insuranceRequirement` (string) Information on whether insurance is required. Enum: "INSURANCE_NEVER_APPLIED", "INSURANCE_OPTIONAL", "INSURANCE_ALWAYS_APPLIED" - `tradeInAvailable` (boolean) Whether trade in is available. - `campaignDiscountAvailable` (boolean) Whether the campaign discount is available. - `addOnCategories` (array) - `addOnCategories.[0]` (object) - `addOnCategories.[0].assetType` (string) Type of the asset. - `addOnCategories.[0].code` (string) Asset code. - `addOnCategories.[0].name` (string) Asset name. - `addOnCategories.[0].type` (string) Asset type. - `addOnCategories.[0].minPrice` (number) Asset minimum price. - `addOnCategories.[0].maxPrice` (number) Asset maximum price. - `addOnCategories.[0].minNetPrice` (number) Asset minimum net price. - `addOnCategories.[0].maxNetPrice` (number) Asset maximum net price. - `addOnCategories.[0].minGrossPrice` (number) Asset minimum gross price. - `addOnCategories.[0].maxGrossPrice` (number) Asset maximum gross price. - `addOnCategories.[0].assetIdentifierRequired` (boolean) Whether the asset identifier is required. ## Response 401 fields (application/json): - `message` (string) Unauthorized Example: "unauthorized" ## Response 403 fields (application/json): - `message` (string) Unauthorized access Example: "User is not authorized to access this resource with an explicit deny" ## Response 404 fields (application/json): - `message` (string) Not Found Example: "not_found" ## Response 500 fields (application/json): - `message` (string) Internal server error Example: "internal_server_error"