A unit group is a collection of units with the same type (which is facility-defined and freeform).
If the facility has tiering enabled, then the "price" and "channel_rate" fields will be null in the response.
GET /v1/82cd30c4-abcd-4684-a87a-91dcc89cea2b/unit_groups 200 { "unit_groups": [ { "id": "15d0584a-b009-476a-bdd7-28a79b6a1c59", "price": 50.0, "group_key": "100x100x100 - $50.00 - 3133 - [505] - 1", "name": "101 - Group", "available_units_count": 5, "total_units_count": 5, "total_non_excluded_units_count": 5, "size": "100x100x100", "standard_rate": 50.0, "floor": 1, "reduced_price": 50.0, "cyo_reduced_prices": {}, "occupancy_percent": 0.0, "area": 10000.0, "length": 100.0, "width": 100.0, "height": 100.0, "due_at_move_in": 50.0, "due_at_move_in_without_fees": 50.0, "due_monthly": 50.0, "attribute_description": "CDN", "description": "(CDN) - 24 Hour Access, Climate Controlled, 1st floor", "invoiceable_fees": [], "average_rent": 0.0, "active_rate_type": "standard_rate", "scheduled_move_outs": [], "managed_rate": null, "reservation_fee": null, "reference_unit_id": null, "channel_rate": null, "unit_amenities": [ { "id": "f8eaad66-7c55-4225-a4cb-58fb3a3816c8", "name": "24 Hour Access", "short_code": "A16", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 505 }, { "id": "3a366b47-1aa5-4ca1-9419-d7a8dfde7de8", "name": "Climate Controlled", "short_code": "A17", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 506 } ], "unit_type": { "id": "c91c40cb-d3fa-480d-a450-3ddb4eb27889", "name": "Unit Type 52", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "discount_plans": [], "channel_rate_ids": [], "available_upgrade_to_unit_groups": [] }, { "id": "62259f1d-dd6f-4efb-887a-59e4cb9f0ab2", "price": 50.0, "group_key": "1x1x1 - $50.00 - 3133 - 1", "name": "201 - Group", "available_units_count": 1, "total_units_count": 1, "total_non_excluded_units_count": 1, "size": "1x1x1", "standard_rate": 50.0, "floor": 1, "reduced_price": 50.0, "cyo_reduced_prices": {}, "occupancy_percent": 0.0, "area": 1.0, "length": 1.0, "width": 1.0, "height": 1.0, "due_at_move_in": 50.0, "due_at_move_in_without_fees": 50.0, "due_monthly": 50.0, "attribute_description": "CEN", "description": "(CEN) - 1st floor", "invoiceable_fees": [], "average_rent": 0.0, "active_rate_type": "standard_rate", "scheduled_move_outs": [], "managed_rate": null, "reservation_fee": null, "reference_unit_id": null, "channel_rate": null, "unit_amenities": [], "unit_type": { "id": "c91c40cb-d3fa-480d-a450-3ddb4eb27889", "name": "Unit Type 52", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "discount_plans": [], "channel_rate_ids": [], "available_upgrade_to_unit_groups": [] }, { "id": "809c923b-589e-4bc5-8dc1-cb1a0762207a", "price": 20.0, "group_key": "10x10x10 - $20.00 - 3133 - 1", "name": "301 - Group", "available_units_count": 1, "total_units_count": 1, "total_non_excluded_units_count": 1, "size": "10x10x10", "standard_rate": 20.0, "floor": 1, "reduced_price": 20.0, "cyo_reduced_prices": {}, "occupancy_percent": 0.0, "area": 100.0, "length": 10.0, "width": 10.0, "height": 10.0, "due_at_move_in": 20.0, "due_at_move_in_without_fees": 20.0, "due_monthly": 20.0, "attribute_description": "CENM", "description": "(CENM) - 1st floor", "invoiceable_fees": [], "average_rent": 0.0, "active_rate_type": "standard_rate", "scheduled_move_outs": [], "managed_rate": null, "reservation_fee": null, "reference_unit_id": null, "channel_rate": null, "unit_amenities": [], "unit_type": { "id": "c91c40cb-d3fa-480d-a450-3ddb4eb27889", "name": "Unit Type 52", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "discount_plans": [], "channel_rate_ids": [], "available_upgrade_to_unit_groups": [] } ], "meta": { "pagination": { "current_page": 1, "total_pages": 1, "per_page": 100, "total_entries": 3, "previous_page": null, "next_page": null }, "status_code": 200, "status_message": "OK", "status_cat": "https://http.cat/200", "request_method": "GET", "request_id": null, "parameters": { "facility_id": "82cd30c4-abcd-4684-a87a-91dcc89cea2b", "unit_group": {} } } }
If the facility has tiering enabled, then the "price" and "channel_rate" fields will be null in the response.
Param name | Description |
---|---|
id
required |
Validations:
|
GET /v1/96e7f9b8-0128-4461-9c42-0fc62a7343bd/unit_groups/e5520619-0714-4de5-845b-771f48408ee8 200 { "unit_group": { "id": "e5520619-0714-4de5-845b-771f48408ee8", "price": 50.0, "group_key": "100x100x100 - $50.00 - 3129 - [501] - 1", "name": "101 - Group", "available_units_count": 5, "total_units_count": 5, "total_non_excluded_units_count": 5, "size": "100x100x100", "standard_rate": 50.0, "floor": 1, "reduced_price": 50.0, "cyo_reduced_prices": {}, "occupancy_percent": 0.0, "area": 10000.0, "length": 100.0, "width": 100.0, "height": 100.0, "due_at_move_in": 50.0, "due_at_move_in_without_fees": 50.0, "due_monthly": 50.0, "attribute_description": "CDN", "description": "(CDN) - 24 Hour Access, Climate Controlled, 1st floor", "invoiceable_fees": [], "average_rent": 0.0, "active_rate_type": "standard_rate", "scheduled_move_outs": [], "managed_rate": null, "reservation_fee": null, "reference_unit_id": null, "channel_rate": null, "unit_amenities": [ { "id": "e581d73b-3521-4b87-9aca-2c2e0b8152c5", "name": "24 Hour Access", "short_code": "A12", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 501 }, { "id": "f0605363-7d59-4c99-a4bf-7fdfcb42cbf5", "name": "Climate Controlled", "short_code": "A13", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 502 } ], "unit_type": { "id": "89c89c45-2ffb-4f2d-8cf8-550fde03f59a", "name": "Unit Type 50", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "discount_plans": [], "channel_rate_ids": [], "available_upgrade_to_unit_groups": [] }, "meta": { "status_code": 200, "status_message": "OK", "status_cat": "https://http.cat/200", "request_method": "GET", "request_id": null, "parameters": { "facility_id": "96e7f9b8-0128-4461-9c42-0fc62a7343bd", "id": "e5520619-0714-4de5-845b-771f48408ee8", "unit_group": {} } } }
This endpoint can create multiple empty unit groups at once by providing a unit_groups
array of objects with the name
parameter.
Common errors that may be encountered:
- Unit groups must have unique names across the facility. If non-unique names are provided or names conflict with any existing unit group, a list of errors will be returned under 'errors'
-> 'name_assignments'
.
Param name | Description |
---|---|
unit_groups
required |
Array of Unit Group names Validations:
|
unit_groups[name]
required |
Name of the Unit Group Validations:
|
POST /v1/c34f098b-c628-4859-8b22-f2077ab3a1cc/unit_groups { "unit_groups": [ { "name": "Test Group 1" }, { "name": "Test Group 2" } ], "unit_group": {} } 201 { "unit_groups": [ { "id": 3218, "total_units_count": null, "available_units_count": null, "size": null, "price": null, "floor": null, "group_key": null, "created_at": "2023-09-15T04:37:19.313-10:00", "updated_at": "2023-09-15T04:37:19.313-10:00", "uuid": "be2bc0d7-9c30-49d4-a23b-84937fc57ee6", "facility_id": 3658, "unit_type_id": null, "occupied_units_count": null, "total_non_excluded_units_count": 0, "cross_sell_group_id": null, "justification": null, "managed_rate": null, "standard_rate": null, "attribute_description": null, "access_type": null, "door_width": null, "door_height": null, "width": null, "height": null, "length": null, "area": null, "unoccupied_rate_plan_id": null, "fully_enclosed": null, "name": "Test Group 1", "reference_unit_id": null }, { "id": 3219, "total_units_count": null, "available_units_count": null, "size": null, "price": null, "floor": null, "group_key": null, "created_at": "2023-09-15T04:37:19.313-10:00", "updated_at": "2023-09-15T04:37:19.313-10:00", "uuid": "c792ce52-2843-4c17-b7bd-634844732ac0", "facility_id": 3658, "unit_type_id": null, "occupied_units_count": null, "total_non_excluded_units_count": 0, "cross_sell_group_id": null, "justification": null, "managed_rate": null, "standard_rate": null, "attribute_description": null, "access_type": null, "door_width": null, "door_height": null, "width": null, "height": null, "length": null, "area": null, "unoccupied_rate_plan_id": null, "fully_enclosed": null, "name": "Test Group 2", "reference_unit_id": null } ], "meta": { "status_code": 201, "status_message": "Created", "status_cat": "https://http.cat/201", "request_method": "POST", "request_id": null, "parameters": { "unit_groups": [ { "name": "Test Group 1" }, { "name": "Test Group 2" } ], "facility_id": "c34f098b-c628-4859-8b22-f2077ab3a1cc", "unit_group": {} } } }
This endpoint can update multiple unit groups at once by providing a unit_groups
array of objects with the id
parameter. Attributes that are not provided will not be updated. Asymmetric updates are supported. For example, it is possible to update the name of one unit group and the reference unit of another unit group in the same request.
A unit group's reference unit is a unit that serves as a representative unit for the group, often encapsulating the "why" behind the grouping of units. For example, a unit group comprised of 9 10x10 units and 1 10x11 unit would likely want to set one of the 10x10 units as the reference unit. The reference unit's attributes are used in many places in the storEDGE UI where a unit group is displayed. For example, the unit selector in the move-in process.
Updating a unit group's reference unit will update the following "unit level" attributes that are memoized on the unit group:
- access_type
- area
- door_height
- door_width
- floor
- height
- length
- size
- standard_rate
- unit_type_id
- width
Common errors that may be encountered:
- Unit groups must have unique names across the facility. If non-unique names are provided, or a new name will conflict with an existing unit group, a list of errors will be returned under 'errors'
-> 'name_assignments'
.
- Reference unit ids being assigned to a unit group must correspond to units that belong to the unit group. If a reference unit id is provided that does not belong to the unit group, a list of errors will be returned under 'errors'
-> 'reference_unit_assignments'
.
Param name | Description |
---|---|
unit_groups
required |
Array of Unit Group objects Validations:
|
unit_groups[fully_enclosed]
optional |
Whether or not the unit group is fully enclosed Validations:
|
unit_groups[id]
required |
Uuid of the Unit Group Validations:
|
unit_groups[name]
optional |
New name of the Unit Group Validations:
|
unit_groups[reference_unit_id]
optional |
Uuid of the new reference unit for the Unit Group. The reference unit must belong to the Unit Group. Validations:
|
PATCH /v1/ce3440cc-87d4-44c3-a4db-493ded0e2b14/unit_groups { "unit_groups": [ { "id": "84411e66-63fa-4105-b4be-e03fd76f410e", "name": "New Group Name #1", "reference_unit_id": "34def4ac-1595-4e64-b0b7-8df4de56570a", "fully_enclosed": true }, { "id": "9fdc7cff-8aca-44d7-9100-3b0764166a5a", "name": "New Group Name #2" } ], "unit_group": {} } 200 { "unit_groups": [ { "uuid": "84411e66-63fa-4105-b4be-e03fd76f410e", "name": "New Group Name #1", "fully_enclosed": true, "reference_unit_id": "34def4ac-1595-4e64-b0b7-8df4de56570a", "length": 100.0, "width": 100.0, "height": 100.0, "floor": 1, "unit_type_id": 3139, "standard_rate": 50.0, "area": 10000.0, "door_width": 1.0, "door_height": 10.0, "access_type": "indoor", "size": "100x100x100" }, { "uuid": "9fdc7cff-8aca-44d7-9100-3b0764166a5a", "name": "New Group Name #2" } ], "meta": { "status_code": 200, "status_message": "OK", "status_cat": "https://http.cat/200", "request_method": "PATCH", "request_id": null, "parameters": { "unit_groups": [ { "id": "84411e66-63fa-4105-b4be-e03fd76f410e", "name": "New Group Name #1", "reference_unit_id": "34def4ac-1595-4e64-b0b7-8df4de56570a", "fully_enclosed": true }, { "id": "9fdc7cff-8aca-44d7-9100-3b0764166a5a", "name": "New Group Name #2" } ], "facility_id": "ce3440cc-87d4-44c3-a4db-493ded0e2b14", "unit_group": {} } } }
This endpoint can delete multiple unit groups at once by providing a unit_groups
array of objects with the id
parameter.
Any Channel Rates associated with the Unit Groups will be deleted along with those Unit Groups.
The unit_group_id
for Units that correspond to Unit Groups being deleted will be set to null
.
Common errors that may be encountered:
- All Unit group ids must be valid. If any id doesn't correspond to a unit group in the given facility a Record not found error will be returned.
Param name | Description |
---|---|
unit_groups
required |
Array of Unit Group objects Validations:
|
unit_groups[id]
required |
UUID of the Unit Group Validations:
|
DELETE /v1/d9cfc804-9afb-409d-9ccb-6d337ac38cd2/unit_groups { "unit_groups": [ { "id": "65ac3295-bae7-4a7c-9b4f-51940455bb07" }, { "id": "15e8816b-c0ee-4995-bb96-2c47829500d8" } ], "unit_group": {} } 204 { "meta": { "status_code": 204, "status_message": "No Content", "status_cat": "https://http.cat/204", "request_method": "DELETE", "request_id": null, "parameters": { "unit_groups": [ { "id": "65ac3295-bae7-4a7c-9b4f-51940455bb07" }, { "id": "15e8816b-c0ee-4995-bb96-2c47829500d8" } ], "facility_id": "d9cfc804-9afb-409d-9ccb-6d337ac38cd2", "unit_group": {} } } }
Param name | Description |
---|---|
id
required |
Validations:
|
GET /v1/d98ab3aa-4712-4052-b5f7-05629e2d0ca9/unit_groups/1040ad50-a878-4e10-b164-3374d8a91a6f/units 200 { "units": [ { "id": "197f0bd1-2b5c-4620-835f-02c2f602c845", "price": 50.0, "name": "101", "description": "24 Hour Access, 1st floor", "width": 100.0, "length": 100.0, "height": 100.0, "door_height": 10.0, "door_width": 1.0, "door_type": "roll_up", "access_type": "indoor", "floor": 1, "directions": null, "size": "100x100x100", "area": 10000.0, "standard_rate": 50.0, "managed_rate": null, "tiered_rate": null, "available_for_move_in": true, "rentable": true, "status": "vacant", "payment_status": null, "current_ledger_id": null, "current_tenant_id": null, "combo_lock_group": null, "combination_lock_number": null, "overlock_lock_number": null, "attribute_description": null, "deleted": false, "damaged": false, "complimentary": null, "unrentable": false, "company_owned": false, "is_prepped": null, "rank": null, "custom_fields": [], "allow_future_move_ins_limit": null, "channel_rate": null, "unit_amenities": [ { "id": "7652d1d8-9d62-4876-a69f-29ab9b7301eb", "name": "24 Hour Access", "short_code": "A14", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 503 } ], "unit_type": { "id": "c2caffc6-5177-4447-968f-9d30c073d5dc", "name": "Unit Type 51", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "tier": null, "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f" }, { "id": "b1598b38-2df7-41d3-a0d8-d36b2b7481d6", "price": 50.0, "name": "102", "description": "24 Hour Access, 1st floor", "width": 100.0, "length": 100.0, "height": 100.0, "door_height": 10.0, "door_width": 1.0, "door_type": "roll_up", "access_type": "indoor", "floor": 1, "directions": null, "size": "100x100x100", "area": 10000.0, "standard_rate": 50.0, "managed_rate": null, "tiered_rate": null, "available_for_move_in": true, "rentable": true, "status": "vacant", "payment_status": null, "current_ledger_id": null, "current_tenant_id": null, "combo_lock_group": null, "combination_lock_number": null, "overlock_lock_number": null, "attribute_description": null, "deleted": false, "damaged": false, "complimentary": null, "unrentable": false, "company_owned": false, "is_prepped": null, "rank": null, "custom_fields": [], "allow_future_move_ins_limit": null, "channel_rate": null, "unit_amenities": [ { "id": "7652d1d8-9d62-4876-a69f-29ab9b7301eb", "name": "24 Hour Access", "short_code": "A14", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 503 } ], "unit_type": { "id": "c2caffc6-5177-4447-968f-9d30c073d5dc", "name": "Unit Type 51", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "tier": null, "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f" }, { "id": "00223a79-5306-4161-9560-233df8c780c5", "price": 50.0, "name": "103", "description": "24 Hour Access, 1st floor", "width": 100.0, "length": 100.0, "height": 100.0, "door_height": 10.0, "door_width": 1.0, "door_type": "roll_up", "access_type": "indoor", "floor": 1, "directions": null, "size": "100x100x100", "area": 10000.0, "standard_rate": 50.0, "managed_rate": null, "tiered_rate": null, "available_for_move_in": true, "rentable": true, "status": "vacant", "payment_status": null, "current_ledger_id": null, "current_tenant_id": null, "combo_lock_group": null, "combination_lock_number": null, "overlock_lock_number": null, "attribute_description": null, "deleted": false, "damaged": false, "complimentary": null, "unrentable": false, "company_owned": false, "is_prepped": null, "rank": null, "custom_fields": [], "allow_future_move_ins_limit": null, "channel_rate": null, "unit_amenities": [ { "id": "7652d1d8-9d62-4876-a69f-29ab9b7301eb", "name": "24 Hour Access", "short_code": "A14", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 503 } ], "unit_type": { "id": "c2caffc6-5177-4447-968f-9d30c073d5dc", "name": "Unit Type 51", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "tier": null, "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f" }, { "id": "40219bfb-6005-48cd-9d54-025a922e5c0d", "price": 50.0, "name": "1101a", "description": "Climate Controlled, 1st floor", "width": 100.0, "length": 100.0, "height": 100.0, "door_height": 10.0, "door_width": 1.0, "door_type": "roll_up", "access_type": "indoor", "floor": 1, "directions": null, "size": "100x100x100", "area": 10000.0, "standard_rate": 50.0, "managed_rate": null, "tiered_rate": null, "available_for_move_in": true, "rentable": true, "status": "vacant", "payment_status": null, "current_ledger_id": null, "current_tenant_id": null, "combo_lock_group": null, "combination_lock_number": null, "overlock_lock_number": null, "attribute_description": null, "deleted": false, "damaged": false, "complimentary": null, "unrentable": false, "company_owned": false, "is_prepped": null, "rank": null, "custom_fields": [], "allow_future_move_ins_limit": null, "channel_rate": null, "unit_amenities": [ { "id": "5bb95742-6c4e-4744-a465-cdcd392d40ec", "name": "Climate Controlled", "short_code": "A15", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 504 } ], "unit_type": { "id": "4f79017a-17af-47d5-ad36-f957bcf8d32f", "name": "other type", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "tier": null, "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f" }, { "id": "e33a8f00-4de3-4d32-a352-059d633ae319", "price": 50.0, "name": "1101b", "description": "Climate Controlled, 1st floor", "width": 100.0, "length": 100.0, "height": 100.0, "door_height": 10.0, "door_width": 1.0, "door_type": "roll_up", "access_type": "indoor", "floor": 1, "directions": null, "size": "100x100x100", "area": 10000.0, "standard_rate": 50.0, "managed_rate": null, "tiered_rate": null, "available_for_move_in": true, "rentable": true, "status": "vacant", "payment_status": null, "current_ledger_id": null, "current_tenant_id": null, "combo_lock_group": null, "combination_lock_number": null, "overlock_lock_number": null, "attribute_description": null, "deleted": false, "damaged": false, "complimentary": null, "unrentable": false, "company_owned": false, "is_prepped": null, "rank": null, "custom_fields": [], "allow_future_move_ins_limit": null, "channel_rate": null, "unit_amenities": [ { "id": "5bb95742-6c4e-4744-a465-cdcd392d40ec", "name": "Climate Controlled", "short_code": "A15", "show_in_sales_center_filter_dropdown": false, "deleted": false, "primary_key_id": 504 } ], "unit_type": { "id": "4f79017a-17af-47d5-ad36-f957bcf8d32f", "name": "other type", "deleted": false, "internal_account_code": "4000", "code_and_description": "4000 - Rental Revenue", "ii_excluded": [] }, "tier": null, "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f" } ], "meta": { "pagination": { "current_page": 1, "total_pages": 1, "per_page": 100, "total_entries": 5, "previous_page": null, "next_page": null }, "status_code": 200, "status_message": "OK", "status_cat": "https://http.cat/200", "request_method": "GET", "request_id": null, "parameters": { "facility_id": "d98ab3aa-4712-4052-b5f7-05629e2d0ca9", "unit_group_id": "1040ad50-a878-4e10-b164-3374d8a91a6f", "unit_group": {} } } }
This endpoint is disabled if the facility has tiering enabled.
Param name | Description |
---|---|
discount_plans
required |
A collection of discount plan ids Validations:
|
quoted_rate
optional |
The base rate to apply discounts to. If not specified, the current rate of the unit group will be used. Validations:
|
unit_group_id
required |
Validations:
|
desired_move_in_date
optional |
Desired move-in date. Format: YYYY-MM-DD Validations:
|