Country object

Attribute Name Data Type Details
id ID Unique identifier for the Country object
name String Name of the country
countryCode String Alpha-3 country code following the ISO 3166 international standard
currency String Alpha-3 currency code following the ISO 4217 standard
rentCycle Enum Supported billing cycle; possible values: DAILY WEEKLY MONTHLY

City Object

Attribute Name Data Type Details
id ID Unique identifier for the City object
name String Name of the city
countryId ID Identifier for the related Country object

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
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
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_IMAGE

GalleryStatus 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

Room Object

Attribute Name Data Type Details
id ID Unique identifier for the object
propertyId ID Identifier for the related Property object
externalId NonEmptyString Unique external identifier for the room
name NonEmptyString Name of the room
category RoomCategory Category of the room; Possible values: ENSUITE_ROOM ENTIRE_PLACE PRIVATE_ROOM SHARED_ROOM STUDIO
bedCount NaturalNumber Number of beds in the room
floors Int[] List of floors where the room is located
maxOccupancy NaturalNumber Maximum occupancy of the room
dualOccupancy DualOccupancy Indicates if dual occupancy is allowed for the room; Possible values: DUAL_OCCUPANCY_ALLOWED FREE_DUAL_OCCUPANCY CHARGED_DUAL_OCCUPANCY DUAL_OCCUPANCY_NOT_ALLOWED
bathroomType BathroomTypeCategory Bathroom type of the room; Possible values: PRIVATE_ENSUITE PRIVATE_NON_ENSUITE SHARED_ENSUITE SHARED_NON_ENSUITE MIXED
kitchenArrangement KitchenArrangement Whether the kitchen is private or shared; Possible values: PRIVATE SHARED
bedroomCountMin NaturalNumber Minimum number of beds in the room
bedroomCountMax NaturalNumber Maximum number of beds in the room
bathroomCount Float Number of bathrooms in the room
kitchenCount Float Number of kitchen in the room
genderMix GenderMix Gender mix allowed in the room; Possible values: MALE_ONLY FEMALE_ONLY MIXED
dietaryPreference DietaryPreference Dietary preferences for the room; Possible values: VEGETARIAN
smokingPreference SmokingPreference Smoking preferences for the room; Possible values: NON_SMOKING SMOKING
lastFurnished YearMonth Last furnished month in format ISO 8601 (YYYY-MM)
facilities RoomFacility[] Facility list of the room; Possible values: AIR_CONDITIONING BATHROOM CHAIRS CLOSET DESK DOOR_LOCK HEATING KITCHEN TELEVISION WIFI
bedSizeType BedSizeType Size type of the bed in the room; Possible values: UNIFIED DIFFERENT
bedSizes BedSizesInput[] List of bed sizes in the room;

BedSizeInput is an object includes,
bedType: BedType,
lengthInCM: PositiveInteger,
widthInCM: PositiveInteger,
bedCount: NaturalNumber;

BedType has possible values: SINGLE_BED DOUBLE_BED SMALL_DOUBLE_BED KING_BED KING_SINGLE_BED CALIFORNIA_KING_BED GRAND_KING_BED QUEEN_BED KING_SIZE_BED TWIN_BED BUNK_BED
roomSize RoomSizesInput Object describing the size of the room;

RoomSizesInput is an object includes,
descriptor: RoomSizeType,
minimum: Int!,
maximum: Int!,
unitOfArea: RoomSizeUnit;

RoomSizeType has possible values: EXACT BETWEEN MORE_THAN
RoomSizeUnit has possible values: SQM SQFT

RateAvailability Object

Attribute Name Data Type Details
id DecodedListingID Identifier for the object
externalId NonEmptyString External identifier for the object
roomId DecodedUnitTypeID Identifier for the related Room object
bookableFrom Date Start date of availability in format ISO 8601 (YYYY-MM-DD)
bookableTo Date End date of availability in format ISO 8601 (YYYY-MM-DD)
availability Int Available inventory for the room
tenancy TenancyInput Lease mode for this rate availability;

TenancyInput is an object includes,
moveIn: Date,
moveOut: Date,
moveInType: MoveInType!,
moveOutType: MoveOutType!,
tenancyLengthType: TenancyLengthType!,
tenancyLengthValue: Int[];

MoveInType has possible values: EXACTLY_MATCH AFTER ANYTIME
MoveOutType has possible values: EXACTLY_MATCH BEFORE ANYTIME
TenancyLengthType has possible values: EQUALS NO_LESS_THAN NO_MORE_THAN BETWEEN NOT_SPECIFIC
discount Discount Discount for the tenancy;

DiscountInput is an object includes,
discountType: DiscountType!,
discountValue: NonEmptyString;

DiscountType has possible values: ABSOLUTE PERCENTAGE NO_DISCOUNT
priceMin NonEmptyString Minimum price for this rate availability
priceMax String Maximum price for this rate availability

Image Object

Attribute Name Data Type Details
id DecodedListingID Identifier for the image object
type ImageType The type of image; Possible values: PROPERTY_IMAGE ROOM_IMAGE FLOOR_PLAN_IMAGE
category ImageCategory Category of the image; Possible values: BUILDING_EXTERIOR COMMON_INDOOR_SPACES COMMON_OUTDOOR_SPACES GENERAL ROOM SPECIFIC MAP
imageHash String A unique identifier hash value representing the image file
source String The source of the image
filename String The filename of the image

Facility Object

Attribute Name Data Type Details
slug String Identifier for the facility object
label String Label displayed in the system
name String Name of the facility
group String Group of the facility
type FacilityType Type of the facility; Possible values: PROPERTY UNIT_TYPE

Payment Plan object

Attribute Name Data Type Details
id ID Unique identifier for the payment plan
name String Name of the payment plan
currency String 3-letter currency code (ISO 4217), like USD or EUR
landlordId ID ID of the landlord who owns the properties
description String English description of the plan
startDate Date Start date of the plan in format ISO 8601 (YYYY-MM-DD), same as effectiveFromDate
endDate Date End date of the plan in format ISO 8601 (YYYY-MM-DD), same as effectiveEndDate
properties PaymentPlanProperty[] Property list bound to the payment plan;

PaymentPlanProperty includes,
id: ID,
name: String,
slug: String,
status: LowCasePropertyStatus!,
bookingJourney: BookingJourney!;

LowCasePropertyStatus has possible values: NEW EDITING PUBLISHED UNPUBLISHED
BookingJourney has possible values: BOOKING_WITH_CONSULTANT BOOK CONNECT_STUDENT_SUITE CONNECT LIST
deposits OrderDeposit[] Order deposit of the payment plan;

OrderDeposit is an object includes,
id: ID!,
paymentPlanId: ID,
name: String!,
paymentType: DepositFeeType,
amount: NonEmptyString,
price: NonEmptyString,
currency: CurrencyUnit
description: String,
createdAt: Datetime,
updatedAt: Datetime;

DepositFeeType has possible values: FIXED_AMOUNT PER_BILLING_CYCLE
fees OrderFee[] Order fees of the payment plan;

OrderFee is an object includes,
id: ID!,
paymentPlanId: ID,
name: NonEmptyString!,
paymentType: DepositFeeType,
amount: NonEmptyString,
price: NonEmptyString,
currency: CurrencyUnit
description: String,
createdAt: Datetime,
updatedAt: Datetime;

DepositFeeType has possible values: FIXED_AMOUNT PER_BILLING_CYCLE
instalments OrderInstalment[] Order instalment of the payment plan;

OrderInstalment is an object includes,
id: ID!,
paymentPlanId: ID,
name: String,
fromTenancy: Int,
toTenancy: Int,
tenancyUnit: TenancyUnit,
fullPayment: Boolean,
payNowAmount: Float,
payWeekly: Boolean,
payQuarterly: Boolean,
payMonthly: Boolean,
payRemainderAtOnce: Boolean
requireGuarantor: Boolean,
country: Country,

createdAt: Datetime,
updatedAt: Datetime;

Country is an object includes,
id: ID!,
name: String!,
countryCode: String!,
currency: String!,
rentCycle: BillingCycle!;

TenancyUnit has possible values: DAYS WEEKS MONTHS
BillingCycle has possible values: DAILY WEEKLY MONTHLY

Deposit object

Attribute Name Data Type Details
id ID The unique ID of the deposit
paymentPlanId ID The ID of the payment plan this deposit is linked to
name String A custom name for the deposit or fee (e.g., “Security Deposit”)
paymentType DepositFeeType Type of the deposit or fee; Possible values: FIXED_AMOUNT PER_BILLING_CYCLE
amount NonEmptyString The value of the deposit. Set as a string to avoid floating-point precision issues
price NonEmptyString The price of the deposit
currency CurrencyUnit The currency code (e.g., USD, GBP). Must match the currency of the payment plan
description String Optional description or explanation for the deposit
createdAt Datetime The created time of the deposit in format (YYYY-MM-DDTHH:mm:ssZ)
updatedAt Datetime The updated time of the deposit in format (YYYY-MM-DDTHH:mm:ssZ)

OrderFee Object

Attribute Name Data Type Details
id ID ID of the payment plan to which this fee will be attached
paymentPlanId ID The ID of the payment plan this order fee is linked to
name String Name of the fee item (e.g., “Admin Fee”)
paymentType DepositFeeType Type of the fee; Possible values: FIXED_AMOUNT PER_BILLING_CYCLE
amount NonEmptyString The value of the fee. Set as a string to avoid floating-point precision issues
price NonEmptyString The price of the fee
currency CurrencyUnit The currency code (e.g., USD, GBP). Must match the currency of the payment plan
description String Optional description or explanation for the fee
createdAt Datetime The created time of the deposit in format (YYYY-MM-DDTHH:mm:ssZ)
updatedAt Datetime The updated time of the deposit in format (YYYY-MM-DDTHH:mm:ssZ)

OrderInstalment Object

Attribute Name Data Type Details
id ID ID of the payment plan this instalment configuration belongs to
paymentPlanId ID The ID of the payment plan this instalment is linked to
name String Name of the instalment
fromTenancy Int Start of the tenancy tier (in weeks); Must begin at 0
toTenancy Int End of the tenancy tier (in weeks). Cannot be less than or equal to fromTenancyStart
tenancyUnit TenancyUnit Unit of tenancy duration; Possible values: DAYS WEEKS MONTHS
fullPayment Boolean If true, guests must pay full rent via Student.com. Cannot be false if rentalInstallments is also false.
payNowAmount Float Amount of pay now
payWeekly Boolean Indicate whether to pay weekly
payQuarterly Boolean Indicate whether to pay quarterly
payMonthly Boolean Indicate whether to pay monthly
payRemainderAtOnce Boolean Indicate whether the remaining rent (after any initial payment) should be paid in a single lump sum
requireGuarantor Boolean Indicate whether guarantor is required for instalment plans
country Country Required only when requireGuarantor is true. Leave it blank if not required;

Country is an object includes,
id: ID!, name: String!,
countryCode: String!,
currency: String!,
rentCycle: BillingCycle!;

BillingCycle has possible values: DAILY WEEKLY MONTHLY
createdAt Datetime The created time of the instalment in format (YYYY-MM-DDTHH:mm:ssZ)
updatedAt Datetime The updated time of the instalment in format (YYYY-MM-DDTHH:mm:ssZ)

Payout Object

Attribute Name Data Type Details
id ID Unique identifier for the payment object
name NonEmptyString The name of the payout
landlordId String Unique identifier for the related landlord object
methodType OnlinePaymentMethodType The type of the payment methods; Possible values: STRIPE VIRTUAL_CREDIT_CARD BANK_TRANSFER
createdAt Datetime The created time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ)
updatedAt Datetime The updated time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ)
updatedBy LandlordContact The landlordContact of the payment methods;

LandlordContact is an object includes,
id: ID!,
firstName: String!,
lastName: String!,
phone: String,
email: String;
stripes OnlinePaymentMethodStripe Detail of payment method Stripes;

OnlinePaymentMethodStripe is an object includes,
stripeId: NonEmptyString!;
virtualCreditCards OnlinePaymentMethodVirtualCreditCard Detail of payment method Virtual Credit Cards;

OnlinePaymentMethodVirtualCreditCard is an object includes,
email: NonEmptyString!
bankTransfers OnlinePaymentMethodBankTransfer Detail of payment method Bank Transfers;

OnlinePaymentMethodBankTransfer is an object includes,
data: JSON!
properties Property[] A list of property related to the payment methods

Payment Method Object

Attribute Name Data Type Details
id ID Unique identifier for the payment object
landlordId String Unique identifier for the related landlord object
methodType OfflinePaymentMethodType The type of the payment methods; Possible values: PAYMENT_LINK VIRTUAL_CREDIT_CARD BANK_TRANSFER OTHER
data JSON The data of the payment methods;

data is an object includes,
method_name: String!;
instruction String The instruction of the payment methods
createdAt Datetime The created time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ)
updatedAt Datetime The updated time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ)
updatedBy LandlordContact The landlordContact of the payment methods;

LandlordContact is an object includes,
id: ID!,
firstName: String!,
lastName: String!,
phone: String,
email: String;