On this page
article
Step 1 – Create a 'Connect' Property
Create Property
-
API: createProperty
-
Purpose & Use Cases: You can use this API endpoint to create a property; make sure to set its bookingType to
CONNECT. -
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| bookingType | PropertyBookingJourney | Yes | Type of the booking; Possible values: BOOK CONNECT LIST |
| apartmentType | ApartmentType | Yes | Type of the apartment; Possible values: CO_LIVING APARTMENTS HMO HOUSE_SHARE HOME_STAY STUDENT_RESIDENCE_HALLS DORMITORY PURPOSE_BUILT_STUDENT_ACCOMMODATION HOUSE HOSTEL HOTEL APART_HOTEL MULTIFAMILY LODGE CONDOS TOWNHOUSE_HOME BUNGALOW TERRACE VILLA SERVICED_APARTMENT DUPLEX |
| name | NonEmptyString | Yes | The name of the property |
| addressLine1 | NonEmptyString | Yes | Primary street address or main location information |
| addressLine2 | String | No | Additional address details |
| zipCode | NonEmptyString | Yes | Postal code for the property’s address |
| cityId | DecodedCityID | Yes | Unique identifier of the city for the property |
| latitude | Float | No | Latitude is used together with longitude to pinpoint the exact location of a property on a map |
| longitude | Float | No | Longitude is used together with Latitude to pinpoint the exact location of a property on a map |
| tagLine | NonEmptyString | No | A short phrase in English that best describes the property in one sentence |
| tagLineCn | String | No | A short phrase in Chinese that best describes the property in one sentence |
| description | NonEmptyString | No | Description for the property |
| descriptionCn | String | No | Description for the property in Chinese |
| externalId | NonEmptyString | No | Unique external identifier for the property |
| cancellationProcess | String | No | Text to explain the cancellation terms and process |
| cancellationPeriodType | CancellationPeriodType | No | Kind of cancellation period type; Possible values: NON_REFUNDABLE BEFORE_MOVE_IN UNTIL_MOVE_IN_DAY AFTER_BOOKING_CONFIRMED |
| cancellationPeriodValue | String | No | Days before or after the target date |
| noVisaNoPay | Boolean | No | No need to pay if the visa is not granted |
| noPlaceNoPay | Boolean | No | No need to pay if a place is not granted |
QUERY
mutation CreateProperty($input: CreatePropertyInput!) {
createProperty(input: $input) {
property {
id
externalId
name
slug
status
latitude
longitude
landlordId
cityId
country
currency
rentCycle
bookingType
zipCode
addressLine1
addressLine2
apartmentType
tagLineCn
tagLine
descriptionCn
description
propertyTerms {
id
title
url
validFrom
validTill
fileName
status
}
facilities {
features {
slug
label
name
group
type
checked
}
bills {
slug
label
name
group
type
checked
}
securityAndSafety {
slug
label
name
group
type
checked
}
propertyRules {
slug
label
name
group
type
checked
}
}
links {
id
propertyId
link
area
enabled
}
images {
id
type
category
contentType
filename
imageHash
active
status
hero
}
videos {
id
path
size
videoHash
fileName
active
status
}
propertyLink
floorPlans {
generalFloorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
specificFloorPlans {
id
propertyId
floorIndex
block
floorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
}
}
destinationUniversities {
id
slug
name
originalName
latitude
longitude
rank
citySlug
}
documentations {
label
slug
name
check
}
confirmDueHours
paymentDueHours
}
}
}
GRAPHQL VARIABLES
{
"input": {
"name": "open api create property name 03",
"latitude": 51.1536621,
"longitude": -0.1820629,
"cityId": "eyJ0eXBlIjoiQ2l0eSIsImlkIjo0MTJ9",
"apartmentType": "STUDENT_ACCOMMODATION",
"bookingType": "CONNECT",
"externalId":"create property externalId",
"zipCode":"RH6 0NP",
"addressLine1":"Horley, Gatwick ",
"noVisaNoPay": true,
"noPlaceNoPay": true
}
}
- Response:
{
"data": {
"createProperty": {
"property": {
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4OH0=",
"externalId": "create property externalId",
"name": "open api create property name 03",
"slug": "open-api-create-property-name-03",
"status": "NEW",
"latitude": 51.1537,
"longitude": -0.182063,
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"cityId": "eyJ0eXBlIjoiQ2l0eSIsImlkIjo0MTJ9",
"country": "GB",
"currency": "GBP",
"rentCycle": "WEEKLY",
"bookingType": "CONNECT",
"zipCode": "RH6 0NP",
"addressLine1": "Horley, Gatwick ",
"addressLine2": null,
"apartmentType": "STUDENT_ACCOMMODATION",
"tagLineCn": null,
"tagLine": null,
"descriptionCn": null,
"description": null,
"propertyTerms": [],
"facilities": null,
"links": [],
"images": [],
"videos": null,
"propertyLink": "https://undefined/uk/london/p/open-api-create-property-name-03?preview=yes&update_cache=yes",
"floorPlans": {
"generalFloorPlanImages": [],
"specificFloorPlans": []
},
"destinationUniversities": [],
"documentations": [
{
"label": "Government-issued ID",
"slug": "government_issued_ID",
"name": "Government-issued ID",
"check": false
},
{
"label": "Guarantor's income proof",
"slug": "guarantors_income_proof",
"name": "Guarantor's income proof",
"check": false
},
{
"label": "Proof of enrollment",
"slug": "proof_of_enrollment",
"name": "Proof of enrollment",
"check": false
},
{
"label": "Visa",
"slug": "visa",
"name": "Visa",
"check": false
}
],
"confirmDueHours": "HOURS_72",
"paymentDueHours": "HOURS_72"
}
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| input.name already exist | Unable to create a property because a property with the same name already exists in the specified city |
| input.tagLine and input.description must set when bookingType is BOOKING_WITH_CONSULTANT | Unable to create a property because when bookingType = BOOKING_WITH_CONSULTANT, both tagLine and description must be provided |
Update Property
-
API: updateProperty
-
Purpose & Use Cases: You can use this API endpoint to update a property’s basic information.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| propertyId | DecodedPropertyID | Yes | Unique identifier for the property |
| name | NonEmptyString | No | The name of the property |
| addressLine1 | NonEmptyString | No | Primary street address or main location information |
| addressLine2 | String | No | Additional address details |
| zipCode | NonEmptyString | No | Postal code for the property’s address |
| latitude | Float | No | Latitude is used together with longitude to pinpoint the exact location of a property on a map |
| longitude | Float | No | Longitude is used together with Latitude to pinpoint the exact location of a property on a map |
| tagLine | NonEmptyString | No | A short phrase in English that best describes the property in one sentence |
| tagLineCn | String | No | A short phrase in Chinese that best describes the property in one sentence |
| description | NonEmptyString | No | Description for the property |
| descriptionCn | String | No | Description for the property in Chinese |
| externalId | NonEmptyString | No | Unique external identifier for the property |
| cancellationPeriodType | CancellationPeriodType | No | Kind of cancellation period type; Possible values: NON_REFUNDABLE BEFORE_MOVE_IN UNTIL_MOVE_IN_DAY AFTER_BOOKING_CONFIRMED |
| cancellationPeriodValue | String | No | Days before or after the target date |
QUERY
mutation UpdateProperty($input: UpdatePropertyInput!) {
updateProperty(input: $input) {
property {
id
externalId
name
slug
status
latitude
longitude
landlordId
cityId
country
currency
rentCycle
bookingType
zipCode
addressLine1
addressLine2
apartmentType
tagLineCn
tagLine
descriptionCn
description
propertyTerms {
id
title
url
validFrom
validTill
fileName
status
}
facilities {
features {
slug
label
name
group
type
checked
}
bills {
slug
label
name
group
type
checked
}
securityAndSafety {
slug
label
name
group
type
checked
}
propertyRules {
slug
label
name
group
type
checked
}
}
links {
id
propertyId
link
area
enabled
}
images {
id
type
category
contentType
filename
imageHash
active
status
hero
}
videos {
id
path
size
videoHash
fileName
active
status
}
propertyLink
floorPlans {
generalFloorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
specificFloorPlans {
id
propertyId
floorIndex
block
floorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
}
}
destinationUniversities {
id
slug
name
originalName
latitude
longitude
rank
citySlug
}
documentations {
label
slug
name
check
}
confirmDueHours
paymentDueHours
}
}
}
GRAPHQL VARIABLES
{
"input": {
"propertyId": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6NTc1fQ",
"externalId":"update property externalId",
"addressLine1": "Horley, Gatwick ",
"addressLine2": "Horley, Gatwick",
"description": "update property description",
"descriptionCn": "update property descriptionCn",
"latitude": 51.1536621,
"longitude": -0.1820629,
"name": "update property name",
"tagLine": "update property tagLine",
"tagLineCn": "update property tagLineCn",
"zipCode": "RH6 0NP"
}
}
- Response:
{
"data": {
"updateProperty": {
"property": {
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4OH0=",
"externalId": "update property externalId",
"name": "update property name",
"slug": "open-api-create-property-name-03",
"status": "EDITING",
"latitude": 51.1537,
"longitude": -0.182063,
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"cityId": "eyJ0eXBlIjoiQ2l0eSIsImlkIjo0MTJ9",
"country": "GB",
"currency": "GBP",
"rentCycle": "WEEKLY",
"bookingType": "CONNECT",
"zipCode": "RH6 0NP",
"addressLine1": "Horley, Gatwick ",
"addressLine2": "Horley, Gatwick",
"apartmentType": "STUDENT_ACCOMMODATION",
"tagLineCn": "update property tagLineCn",
"tagLine": "update property tagLine",
"descriptionCn": "update property descriptionCn",
"description": "update property description",
"propertyTerms": [],
"facilities": null,
"links": [],
"images": [
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE1MjU0M30=",
"type": "PROPERTY_IMAGE",
"category": "MAP",
"contentType": "image/png",
"filename": "mapbox-1748500622",
"imageHash": "22641c6c057d195bafcd9f67722f211e",
"active": false,
"status": "PUBLIC",
"hero": false
}
],
"videos": null,
"propertyLink": "https://undefined/uk/london/p/open-api-create-property-name-03?preview=yes&update_cache=yes",
"floorPlans": {
"generalFloorPlanImages": [],
"specificFloorPlans": []
},
"destinationUniversities": [],
"documentations": [
{
"label": "Government-issued ID",
"slug": "government_issued_ID",
"name": "Government-issued ID",
"check": false
},
{
"label": "Guarantor's income proof",
"slug": "guarantors_income_proof",
"name": "Guarantor's income proof",
"check": false
},
{
"label": "Proof of enrollment",
"slug": "proof_of_enrollment",
"name": "Proof of enrollment",
"check": false
},
{
"label": "Visa",
"slug": "visa",
"name": "Visa",
"check": false
}
],
"confirmDueHours": "HOURS_72",
"paymentDueHours": "HOURS_72"
}
}
}
}
Get Property
-
API: getProperty
-
Purpose & Use Cases: You can use this API endpoint to retrieve the details of a property.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| id | ID | No | Unique identifier for the property |
| propertyExternalId | NonEmptyString | No | Unique external identifier for the property |
QUERY
query Property($getPropertyId: ID, $propertyExternalId: NonEmptyString) {
getProperty(id: $getPropertyId, propertyExternalId: $propertyExternalId) {
property {
id
name
slug
status
addressCity
latitude
longitude
landlordId
cityId
country
currency
rentCycle
bookingType
zipCode
addressLine1
addressLine2
apartmentType
tagLineCn
tagLine
descriptionCn
description
propertyLink
bookNowFeesEnabled
confirmDueHours
paymentDueHours
externalId
cancellationPeriodType
cancellationPeriodValue
cancellationProcess
propertyTerms {
id
title
url
validFrom
validTill
fileName
status
}
facilities {
features {
slug
label
name
group
type
checked
}
bills {
slug
label
name
group
type
checked
}
securityAndSafety {
slug
label
name
group
type
checked
}
propertyRules {
slug
label
name
group
type
checked
}
}
links {
id
propertyId
link
area
enabled
}
images {
id
type
category
contentType
filename
imageHash
active
status
hero
height
width
size
position
source
}
videos {
id
path
size
videoHash
fileName
active
status
}
bookNowFees {
id
name
calculationType
calculationValue
paymentProcessingFee
}
floorPlans {
generalFloorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
height
width
size
position
source
}
specificFloorPlans {
id
propertyId
floorIndex
block
}
}
universities {
id
slug
name
originalName
latitude
longitude
rank
citySlug
}
destinationUniversities {
id
slug
name
originalName
latitude
longitude
rank
citySlug
}
documentations {
label
slug
name
check
}
}
}
}
GRAPHQL VARIABLES
{
"propertyExternalId": "update property externalId"
}
- Response:
{
"data": {
"getProperty": {
"property": {
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3Nn0=",
"name": "test transfer property 04",
"slug": "test-transfer-property-04",
"status": "PUBLISHED",
"addressCity": "Sydney",
"latitude": 51.5079,
"longitude": -0.0877321,
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"cityId": "eyJ0eXBlIjoiQ2l0eSIsImlkIjo0MTJ9",
"country": "GB",
"currency": "GBP",
"rentCycle": "WEEKLY",
"bookingType": "BOOK",
"zipCode": "EC4R 9HA",
"addressLine1": "London ",
"addressLine2": null,
"apartmentType": "HMO",
"tagLineCn": null,
"tagLine": null,
"descriptionCn": null,
"description": null,
"propertyLink": "https://undefined/uk/london/p/test-transfer-property-04",
"bookNowFeesEnabled": false,
"confirmDueHours": "HOURS_72",
"paymentDueHours": "HOURS_72",
"externalId": "update property externalId",
"cancellationPeriodType": "AFTER_BOOKING_CONFIRMED",
"cancellationPeriodValue": 9,
"cancellationProcess": null,
"propertyTerms": [],
"facilities": {
"features": [
{
"slug": "laundry",
"label": "Laundry Facilities in Student's Apartment",
"name": "Laundry Facilities in Student's Apartment",
"group": "laundry_facilities",
"type": "PROPERTY",
"checked": true
},
{
"slug": "refrigrator",
"label": "Refrigerator",
"name": "Refrigerator",
"group": "",
"type": "PROPERTY",
"checked": true
}
],
"bills": [],
"securityAndSafety": [],
"propertyRules": []
},
"links": [],
"images": [
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTU3N30=",
"type": "PROPERTY_IMAGE",
"category": "MAP",
"contentType": "image/png",
"filename": "mapbox-1721895297",
"imageHash": "fc396e3e20163fef55aa930d9a2fc1ec",
"active": false,
"status": "PUBLIC",
"hero": false,
"height": 240,
"width": 1008,
"size": 21201,
"position": null,
"source": "mapbox-1721895297-fc396e3e20163fef55aa930d9a2fc1ec.png"
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTU5Nn0=",
"type": "PROPERTY_IMAGE",
"category": "GENERAL",
"contentType": "image/jpeg",
"filename": "WechatIMG1",
"imageHash": "114a54cfa02e8ed1e2978e8612da92d3",
"active": true,
"status": "APPROVED",
"hero": true,
"height": 1024,
"width": 1024,
"size": 76640,
"position": 0,
"source": "WechatIMG1-114a54cfa02e8ed1e2978e8612da92d3.jpg"
}
],
"videos": null,
"bookNowFees": [],
"floorPlans": {
"generalFloorPlanImages": [],
"specificFloorPlans": []
},
"universities": [],
"destinationUniversities": [],
"documentations": [
{
"label": "Government-issued ID",
"slug": "government_issued_ID",
"name": "Government-issued ID",
"check": false
},
{
"label": "Guarantor's income proof",
"slug": "guarantors_income_proof",
"name": "Guarantor's income proof",
"check": false
},
{
"label": "Proof of enrollment",
"slug": "proof_of_enrollment",
"name": "Proof of enrollment",
"check": false
},
{
"label": "Visa",
"slug": "visa",
"name": "Visa",
"check": false
}
]
}
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| only one id is needed | Unable to retrieve property data because both args.id and args.externalId were provided simultaneously. Only one identifier is allowed |
| id is required — at least one id must be provided | Unable to retrieve property data because neither args.id nor externalId was provided |
| externalPropertyId is required when using externalId on this endpoint | Unable to retrieve property data because externalId is provided without specifying propertyExternalId |
Get Properties
-
API: getProperties
-
Purpose & Use Cases: You can use this API endpoint to retrieve the list of properties.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| pageNumber | Int | No | The number of the page |
| pageSize | Int | No | The size of the page |
| sortBy | PropertySortBy | No | The field for property sorting; Possible values: UPDATED_AT CREATED_AT |
| sortDirection | SortDirection | No | The propertySortDirection; Possible values: ASCENDING DESCENDING |
| name | String | No | The name of the property |
| apartmentType | ApartmentType | No | Type of the apartment; Possible values: CO_LIVING APARTMENTS HMO HOUSE_SHARE HOME_STAY STUDENT_RESIDENCE_HALLS DORMITORY PURPOSE_BUILT_STUDENT_ACCOMMODATION HOUSE HOSTEL HOTEL APART_HOTEL MULTI_FAMILY LODGE CONDOS TOWNHOUSE_HOME BUNGALOW TERRACE VILLA SERVICED_APARTMENT DUPLEX |
| cityId | DecodedCityID | No | Unique identifier of the city for the property |
| country | String | No | Property country name |
| bookingType | BookingJourney | No | Type of the booking; Possible values: BOOK CONNECT LIST CONNECT_STUDENT_SUITE BOOKING_WITH_CONSULTANT |
| status | PropertyStatus | No | Property status; Possible values: NEW EDITING PUBLISHED UNPUBLISHED |
QUERY
query GetProperties(
$pageSize: Int,
$pageNumber: Int,
$sortBy: PropertySortBy,
$sortDirection: SortDirection
) {
getProperties(
pageSize: $pageSize,
pageNumber: $pageNumber,
sortBy: $sortBy,
sortDirection: $sortDirection
) {
pageInfo {
total
totalPages
currentPage
pageSize
}
properties {
id
externalId
name
slug
status
addressCity
latitude
longitude
landlordId
cityId
country
currency
rentCycle
bookingType
zipCode
addressLine1
addressLine2
apartmentType
tagLineCn
tagLine
descriptionCn
description
propertyTerms {
id
title
url
validFrom
validTill
fileName
status
}
facilities {
features {
slug
label
name
group
type
checked
}
bills {
slug
label
name
group
type
checked
}
securityAndSafety {
slug
label
name
group
type
checked
}
propertyRules {
slug
label
name
group
type
checked
}
}
links {
id
propertyId
link
area
enabled
}
images {
id
type
category
contentType
filename
imageHash
active
status
hero
}
videos {
id
path
size
videoHash
fileName
active
status
}
propertyLink
floorPlans {
generalFloorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
specificFloorPlans {
id
propertyId
floorIndex
block
floorPlanImages {
id
type
category
contentType
filename
imageHash
active
status
hero
}
}
}
destinationUniversities {
id
slug
name
originalName
latitude
longitude
rank
citySlug
}
documentations {
label
slug
name
check
}
confirmDueHours
paymentDueHours
}
}
}
GRAPHQL VARIABLES
{
"pageSize": 1,
"pageNumber": 1,
"sortBy": "UPDATED_AT",
"sortDirection": "DESCENDING"
}
- Response:
{
"data": {
"getProperties": {
"pageInfo": {
"total": 27,
"totalPages": 27,
"currentPage": 1,
"pageSize": 1
},
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3M30=",
"externalId": null,
"name": "test transfer property 01",
"slug": "test-transfer-property-01",
"status": "PUBLISHED",
"addressCity": "Sydney",
"latitude": 51.5072,
"longitude": -0.127586,
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"cityId": "eyJ0eXBlIjoiQ2l0eSIsImlkIjo0MTJ9",
"country": "GB",
"currency": "GBP",
"rentCycle": "WEEKLY",
"bookingType": "CONNECT",
"zipCode": "ee",
"addressLine1": "London",
"addressLine2": null,
"apartmentType": "STUDENT_ACCOMMODATION",
"tagLineCn": "aaa",
"tagLine": "bbb",
"descriptionCn": "<p>c</p>",
"description": "<p>c</p>",
"propertyTerms": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHlUZXJtIiwiaWQiOjM0OH0=",
"title": "fancey test",
"url": "https://storm-frontend-cdn.dandythrust.com/payment-terms/92959cfd-c588-4476-9f41-f74047fab1ad-8b5a062c-4e61-4772-858c-d79f5d1b23d3-CRM+Cancellation+Policy++2024-2025_England+and+Wales.pdf",
"validFrom": "2025-03-25",
"validTill": null,
"fileName": "8b5a062c-4e61-4772-858c-d79f5d1b23d3-CRM+Cancellation+Policy++2024-2025_England+and+Wales.pdf",
"status": "ACTIVE"
}
],
"facilities": {
"features": [
{
"slug": "wifi",
"label": "Wifi",
"name": "Wifi",
"group": "",
"type": "PROPERTY",
"checked": true
},
{
"slug": "streaming_services_in_common_area",
"label": "Streaming Services",
"name": "Streaming Services",
"group": null,
"type": "PROPERTY",
"checked": true
}
],
"bills": [],
"securityAndSafety": [],
"propertyRules": []
},
"links": [],
"images": [
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTU3NH0=",
"type": "PROPERTY_IMAGE",
"category": "MAP",
"contentType": "image/png",
"filename": "mapbox-1721803824",
"imageHash": "2bfc0e2a499e262e38027078694819a9",
"active": false,
"status": "PUBLIC",
"hero": false
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTU3OX0=",
"type": "PROPERTY_IMAGE",
"category": "GENERAL",
"contentType": "image/jpeg",
"filename": "49b8da4f-9037-4158-a869-65e92da1d736_1721728892756589130~tplv-a9rns2rl98-web-image",
"imageHash": "31b6b9d4b6417f541f3cbde398f6b46c",
"active": true,
"status": "APPROVED",
"hero": true
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTgwNH0=",
"type": "PROPERTY_IMAGE",
"category": "BUILDING_EXTERIOR",
"contentType": "image/jpeg",
"filename": "34f25788bb545e6fadfa3f3cf3d322ed-e08b5422a70a210ae763ef74420f8845",
"imageHash": "514a3707426406cc54dd29e34f837d75",
"active": true,
"status": "APPROVED",
"hero": false
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTgwNn0=",
"type": "PROPERTY_IMAGE",
"category": "COMMON_OUTDOOR_SPACES",
"contentType": "image/png",
"filename": "h",
"imageHash": "5a7632a822fcd62df328a81a4f8a01b3",
"active": true,
"status": "APPROVED",
"hero": false
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTgwN30=",
"type": "PROPERTY_IMAGE",
"category": "GENERAL",
"contentType": "image/png",
"filename": "h",
"imageHash": "5a7632a822fcd62df328a81a4f8a01b3",
"active": true,
"status": "APPROVED",
"hero": false
},
{
"id": "eyJ0eXBlIjoiSW1hZ2UiLCJpZCI6MTE0OTgwOX0=",
"type": "PROPERTY_IMAGE",
"category": "GENERAL",
"contentType": "image/png",
"filename": "815354_af4c96ef-dc54-4fc1-a3df-f92c4ee54351_Screenshot (5315)",
"imageHash": "e810d8b063b532976889b4065a9b1d5e",
"active": true,
"status": "APPROVED",
"hero": false
}
],
"videos": null,
"propertyLink": "https://undefined/uk/london/p/test-transfer-property-01",
"floorPlans": {
"generalFloorPlanImages": [],
"specificFloorPlans": []
},
"destinationUniversities": [],
"documentations": [
{
"label": "Government-issued ID",
"slug": "government_issued_ID",
"name": "Government-issued ID",
"check": false
},
{
"label": "Guarantor's income proof",
"slug": "guarantors_income_proof",
"name": "Guarantor's income proof",
"check": false
},
{
"label": "Proof of enrollment",
"slug": "proof_of_enrollment",
"name": "Proof of enrollment",
"check": false
},
{
"label": "Visa",
"slug": "visa",
"name": "Visa",
"check": false
}
],
"confirmDueHours": null,
"paymentDueHours": null
}
]
}
}
}
Check Publish Property
-
API: checkPublishProperty
-
Purpose & Use Cases: You can use this API endpoint to check if a property can be published.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| propertyId | DecodedPropertyID | Yes | Unique identifier for the property |
QUERY
query CheckPublishProperty($input: CheckPublishPropertyInput!) {
checkPublishProperty(input: $input) {
success
check
}
}
GRAPHQL VARIABLES
{
"input": {
"propertyId": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6NTc1fQ"
}
}
- Response:
{
"data": {
"checkPublishProperty": {
"success": true,
"check": {
"dueHours": {
"msg": "ok",
"status": true
},
"image": {
"msg": "ok",
"status": true
},
"rateAvailability": {
"msg": "ok",
"status": true
},
"contract": {
"msg": "ok",
"status": true
},
"commission": {
"msg": "ok",
"status": true
},
"paymentPlan": {
"msg": "ok",
"status": true
}
}
}
}
}
Property object
| Attribute Name | Data Type | Details |
|---|---|---|
| id | ID | Unique identifier for the object |
| name | String | Property name |
| slug | String | Property slug, automatically generated from name |
| status | PropertyStatus | Property status; Possible values: NEW EDITING PUBLISHED UNPUBLISHED |
| addressCity | String | The physical geographic address of the property |
| latitude | Float | Latitude is used together with longitude to pinpoint the exact location of a property on a map |
| longitude | Float | Longitude is used together with Latitude to pinpoint the exact location of a property on a map |
| landlordId | ID | Unique identifier of the property landlord |
| cityId | DecodedCityID | Unique identifier of the city for the property, The city in which the property is sold on the Student.com platform |
| country | String | Property country name |
| currency | String | Alpha-3 currency code which generated by country |
| rentCycle | BillingCycle | Billing cycle which generated by country; Possible values: DAILY WEEKLY MONTHLY |
| bookingType | BookingJourney | Type of the booking; Possible values: BOOK CONNECT LIST CONNECT_STUDENT_SUITE BOOKING_WITH_CONSULTANT |
| addressLine1 | String | Primary street address or main location information |
| addressLine2 | String | Additional address details |
| zipCode | String | Postal code for the property’s address |
| apartmentType | AllApartmentType | Type of the apartment; Possible values: HOTEL_HOSTEL LONG_TAIL MULTI_FAMILY REAL STUDENT_ACCOMMODATION CO_LIVING APARTMENTS HMO HOUSE_SHARE HOME_STAY STUDENT_RESIDENCE_HALLS DORMITORY PURPOSE_BUILT_STUDENT_ACCOMMODATION HOUSE HOSTEL HOTEL APART_HOTEL MULTIFAMILY LODGE CONDOS TOWNHOUSE_HOME BUNGALOW TERRACE VILLA SERVICED_APARTMENT DUPLEX |
| tagLineCn | String | A short phrase in Chinese that best describes the property in one sentence |
| tagLine | String | A short phrase in English that best describes the property in one sentence |
| descriptionCn | String | Property description in Chinese |
| description | String | Property description in English |
| facilities | PropertyFacilities | Property facilities; PropertyFacilities is an object includes, features: PropertyFacility[], bills: PropertyFacility[], securityAndSafety: PropertyFacility[], propertyRules: PropertyFacility[]; PropertyFacility is an object includes, slug: String, label: String, name: String, group: String, type: FacilityType, checked: Boolean; FacilityType is the type of Facility; Possible values: PROPERTY UNIT_TYPE |
| documentations | Documentation | File types bound through the setPropertyDocumentations interface |
| universities | University | The Property is easily accessible from several universities |
| destinationUniversities | University | Only accept students who attend certain universities |
| cancellationPeriodType | CancellationPeriodType | Kind of cancellation period type; Possible values: NON_REFUNDABLE BEFORE_MOVE_IN UNTIL_MOVE_IN_DAY AFTER_BOOKING_CONFIRMED |
| cancellationPeriodValue | String | Days before or after the target date |
| cancellationProcess | String | Process of cancellation in details |
| confirmDueHours | PropertyDueHours | Hours before a booking must be confirmed; Possible values: HOURS_24 HOURS_36 HOURS_48 HOURS_60 HOURS_72 HOURS_96 |
| paymentDueHours | PropertyDueHours | Hours before a payment must be made; Possible values: HOURS_24 HOURS_36 HOURS_48 HOURS_60 HOURS_72 HOURS_96 |
| paymentDueHours | PropertyDueHours | Hours before a payment must be made; Possible values: HOURS_24 HOURS_36 HOURS_48 HOURS_60 HOURS_72 HOURS_96 |
| floorPlans | PropertyFloorPlan | The floor plans associated with a property; PropertyFloorPlan is an object includes, generalFloorPlanImages: Image[], specificFloorPlans: FloorPlan[]!; FloorPlan is an object include, id: ID, propertyId: ID, floorIndex: Int!, block: String!, floorPlanImages: Image[]; |
| propertyLink | String | The URL linked to the property |
| propertyTerms | propertyTerms[] | The terms of the property; PropertyTerm is an object includes, id: ID!, title: String!, url: String!, validFrom: Date, validTill: Date, fileName: String, status: PropertyTermStatus; PropertyTermStatus has possible values: ACTIVE INACTIVE EXPIRED |
| images | Image[]! | The image list of the property; Image is an object includes, id: ID!, type: ImageType, category: ImageCategory, contentType: String, filename: String, imageHash: String, active: Boolean; status: GalleryStatus, hero: Boolean, height: PositiveInteger, width: PositiveInteger, size: PositiveInteger, position: Int, source: String; ImageType has possible values: PROPERTY_IMAGE ROOM_IMAGE FLOOR_PLAN_IMAGEGalleryStatus has possible values: INTERNAL_NEW EXTERNAL_NEW PENDING APPROVED REJECTED PUBLIC |
| videos | video[]! | The video list of the property; Video is an object includes, id: ID!, path: String!, size: Int, fileName: String, videoHash: String!, active: Boolean, status: GalleryStatus; GalleryStatus has possible values: INTERNAL_NEW EXTERNAL_NEW PENDING APPROVED REJECTED PUBLIC |