# Unit Types

Represents Unit Type entities within the Property Management System (PMS), defining the classification and characteristics of different units within a property. Unit Types help categorise accommodations based on factors such as size, layout, amenities, and occupancy capacity (e.g., studio, one-bedroom apartment, deluxe suite). This functionality is essential for inventory management, pricing strategies, availability searches, and reporting. Unit Types enable property managers to streamline booking processes, optimise revenue, and ensure accurate property listings across platforms.

## Get all unit types

 - [GET /api/v3/unitTypes](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/getallunittypes.md): Fetch a list of all unit types within the Property Management System (PMS). This endpoint is useful for retrieving detailed information about unit types, including their classification and characteristics such as size, layout, amenities, and occupancy capacity. The response includes a paginated list of unit types, which can be used for inventory management, pricing strategies, availability searches, and reporting. If no unit types are found, an empty list will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

## Create a new unit type

 - [POST /api/v3/unitTypes](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/createunittype.md): Create a new unit type within the Property Management System (PMS). This endpoint allows you to define a new unit type with its classification and characteristics such as size, layout, amenities, and occupancy capacity. The request body should contain the details of the unit type to be created. If the creation is successful, the newly created unit type will be returned. In case of validation errors or unexpected system errors, appropriate error responses will be triggered.

## Retrieve a unit type by Id

 - [GET /api/v3/unitTypes/{id}](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/getunittypebyid.md): Fetch detailed information about a specific unit type within the Property Management System (PMS) using its unique ID. Unit types are essential for categorizing accommodations based on factors such as size, layout, amenities, and occupancy capacity. This endpoint is useful for retrieving unit type-specific data for inventory management, pricing strategies, availability searches, and reporting. The response includes details about the unit type, including its classification and characteristics. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

## Update an existing unit type

 - [PUT /api/v3/unitTypes/{id}](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/updateunittype.md): Update an existing unit type within the Property Management System (PMS). This endpoint allows you to modify the details of a unit type, including its classification and characteristics such as size, layout, amenities, and occupancy capacity. The request body should contain the updated details of the unit type. If the update is successful, the updated unit type will be returned. In case of validation errors or unexpected system errors, appropriate error responses will be triggered.

## Delete a unit type by ID

 - [DELETE /api/v3/unitTypes/{id}](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/deleteunittypebyid.md): Delete a specific unit type within the Property Management System (PMS) using its unique ID. This endpoint allows you to remove a unit type, including all associated data. If the deletion is successful, a 204 No Content response will be returned. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of unexpected system errors during the deletion process, a 500 Internal Server Error will be triggered.

## Retrieve features and facilities for a unit type

 - [GET /api/v3/unitTypes/{id}/featuresFacilities](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/getfeaturefacilities.md): Fetch the list of features and facilities associated with a specific unit type within the Property Management System (PMS). This endpoint provides detailed information about the amenities and characteristics available for a particular unit type. The response includes a comprehensive list of features and facilities that help define the unit type's offerings. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

## Update (replace) feature facilities for a unit type

 - [PUT /api/v3/unitTypes/{id}/featuresFacilities](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/updatefeaturefacilities.md): Update the list of feature facilities associated with a specific unit type using its unique ID. This endpoint allows you to replace the existing feature facilities with a new set of facilities, updating the unit type's amenities and services. The request body should contain a list of feature facility IDs to be linked. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of system errors during the update process, a 500 Internal Server Error will be triggered.

## Link (add) feature facilities to a unit type

 - [POST /api/v3/unitTypes/{id}/featuresFacilities/link](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/linkfacilitiestounittype.md): Link existing feature facilities to a specific unit type using its unique ID. This endpoint allows you to associate multiple feature facilities with a unit type, enhancing its amenities and services. The request body should contain a list of feature facility IDs to be linked. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of system errors during the linking process, a 500 Internal Server Error will be triggered.

## Unlink (remove) feature facilities from a unit type

 - [POST /api/v3/unitTypes/{id}/featuresFacilities/unlink](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/deletefeaturefacilities.md): Unlink existing feature facilities from a specific unit type using its unique ID. This endpoint allows you to remove multiple feature facilities from a unit type, updating its amenities and services. The request body should contain a list of feature facility IDs to be unlinked. If the specified unit type ID does not exist, a 404 Not Found error will be returned. In case of system errors during the unlinking process, a 500 Internal Server Error will be triggered.

## Retrieve unit type images

 - [GET /api/v3/unitTypes/{id}/images](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/getimages.md): Fetch a paginated list of images associated with a specific unit type using its unique ID. This endpoint allows you to retrieve images that are linked to the unit type, which can include photos of the property, architectural designs, or other relevant visuals. The response includes image details such as file name, size, and type. If the specified development ID does not exist, a 404 Not Found error will be returned. In case of system errors during retrieval, a 500 Internal Server Error will be triggered.

## Upload a new unit type image

 - [POST /api/v3/unitTypes/{id}/images/upload](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/createnewimage.md): Upload a new image for a specific unit type using its unique ID. This endpoint allows you to add images that are linked to the unit type, which can include photos of the property, architectural designs, or other relevant visuals. The uploaded file should be provided as a multipart file in the request. If the specified development ID does not exist, a 404 Not Found error will be returned. In case of system errors during the upload process, a 500 Internal Server Error will be triggered.

## Delete a unit type image by ID

 - [DELETE /api/v3/unitTypes/{id}/images/{imageId}](https://apidocs.resharmonics.com/apis/resharmonics-pms/unit-types/deleteimage.md): Delete an existing image associated with a specific unit type using its unique ID. This endpoint allows you to remove an image that is linked to the unit type. If the specified development or image ID does not exist, a 404 Not Found error will be returned. In case of system errors during the deletion process, a 500 Internal Server Error will be triggered.

