This page refers to 365 api which is used for accessing data inside 365 Villas application.
The authorization header will be added generated when you send the request. (Required)
{
"Username": "guest",
"Password": "secret"
}
The Authorization request header can be used to provide credentials that authenticate a user agent with a server when you send the request. (Required)
{
"365villaskey": "NTZjMjI4OWM4NzkyYTJkZDM5ZTFlNjNkMzQxZmZmMzRhZjM5YTEzMQ==",
"365villaspass": "YmMzZjVkMmUyZTVmYWFlZWYxZjkwNzZmZjcyODhkYmU3ZjY3MmZmYg=="
}
The 365 Villas API can be accessed over HTTPS at /api/{action}
.
Request Endpoint: /api/property
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (create). | ||
property | Object | Property info | ||
internal_code | String | 10 |
Required
Internal code in user system. |
|
name | String | 20 | 80 | Required Property name. |
type | String | Required Property type (None, Apartment, Condo, House, Villa) |
||
brief | String | 400 | 10000 | Property description. |
maxguest | Number | 1 | 50 | Required Max of guest. |
bedrooms | Number | 1 | 30 | Required Number of bed rooms. |
bathrooms | Number | 1 | 30 | Required Number of bath rooms. |
kitchens | Number | 1 | 30 | Required Number of kitchens. |
floor | String | 10 | Required Number of floors (Basement, Ground, 1…100) |
|
space | Object | Required Space of property |
||
value | Number | Required Value space of property |
||
unit | String | Required Unit space of property(meters, feet) |
||
phone | StringNumber | 20 | ||
address | String | Required Phone number. |
||
city | String | 1 | 200 | Required City. |
state | String | 1 | 200 | State. |
postcode | String | 1 | 20 | Required Postal code. |
country | String | 2 | 2 | Required Country code. |
latitude | Number | Required Latitude. |
||
longitude | Number | Required Longitude. |
||
allowchildren | Boolean | false = Do not allow children. true = Allow children (optional). |
||
allowpet | Boolean | false = Do not allow pet. true = Allow pet (optional). |
||
allowsmoking | Boolean | false = Do not allow smoking. true = Allow smoking (optional). |
Request example data
{
"action": "create",
"property": {
"internal_code": "1",
"name": "Villas beach on island",
"type": "Villa",
"brief": "Luxurious area with famous Saatchi Gallery, Theater Royal, designer shops and fine dining venues.",
"maxguest": 4,
"bedrooms": 2,
"bathrooms": 3,
"kitchens": 1,
"floor": "3",
"space": {
"value": 100,
"unit": "meters"
},
"phone": "1832472313",
"address": "31 Draycott Ave",
"city": "London",
"state": "London",
"postcode": "HA3 0BL",
"country": "UK",
"latitude": 51.492,
"longitude": -0.164,
"allowchildren": false,
"allowpet": true,
"allowsmoking": false
}
}
Response example data
{
"code": 200,
"data": {
"property_id": "1"
}
}
Request Endpoint: /api/property
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (update). | ||
property | Object | Property info | ||
internal_code | String | 10 |
Required
Internal code in user system. |
|
name | String | 20 | 80 | Required |
type | String | Required Property type (None, Apartment, Condo, House, Villa) |
||
brief | String | 400 | 10000 | Property description. |
maxguest | Number | 1 | 50 | Required Max of guest. |
bedrooms | Number | 1 | 30 | Required Number of bed rooms. |
bathrooms | Number | 1 | 30 | Required Number of bath rooms. |
kitchens | Number | 1 | 30 | Required Number of kitchens. |
floor | String | 10 | Number of floors (Basement, Ground, 1…100) | |
space | Object | Required Space of property |
||
value | Number | Required Value space of property |
||
unit | String | Required Unit space of property(meters, feet) |
||
phone | StringNumber | 20 | ||
address | String | Required Phone number. |
||
city | String | 1 | 200 | Required City. |
state | String | 1 | 200 | State. |
postcode | String | 1 | 20 | Postal code. |
country | String | 2 | 2 | Required Country code. |
latitude | Number | Required Latitude. |
||
longitude | Number | Required Longitude. |
||
allowchildren | Boolean | false = Do not allow children. true = Allow children (optional). |
||
allowpet | Boolean | false = Do not allow pet. true = Allow pet (optional). |
||
allowsmoking | Boolean | false = Do not allow smoking. true = Allow smoking (optional). |
Request example data
{
"action": "update",
"property": {
"internal_code": "1",
"name": "Villas beach on island",
"type": "Villa",
"brief": "Luxurious area with famous Saatchi Gallery, Theater Royal, designer shops and fine dining venues.",
"maxguest": 4,
"bedrooms": 2,
"bathrooms": 3,
"kitchens": 1,
"floor": "3",
"space": {
"value": 100,
"unit": "meters"
},
"phone": "1832472313",
"address": "31 Draycott Ave",
"city": "London",
"state": "London",
"postcode": "HA3 0BL",
"country": "UK",
"latitude": 51.492,
"longitude": -0.164,
"allowchildren": false,
"allowpet": true,
"allowsmoking": false
}
}
Response example data
{
"code": 200,
"data": {
"property_id": "1"
}
}
Request Endpoint: /api/property
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (delete). | ||
property | Object | Property info | ||
internal_code | String | 10 |
Required
Internal code in user system. |
Request example data
{
"action": "delete",
"property": {
"internal_code": "1"
}
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-photo
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (create). | ||
photo | Object | Photo info | ||
internal_code | String | 10 |
Required
Internal code in user system. |
|
image | base64 | Required Base64 image (in some cases can be the link image). |
Request example data
{
"action": "create",
"photo": {
"internal_code": "1",
"image": "lZWYxZjkwNzZmZjcyODhkYmU3Zj"
}
}
Response example data
{
"code": 200,
"data": {
"photo_id": 2
}
}
Request Endpoint: /api/property-photo
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (update). | ||
photo | Object | Photo info | ||
photo_id | Number | 1 | 2147483647 |
Required if action is update or delete Property Photo Id |
internal_code | String | 10 |
Required
Internal code in user system. |
|
image | base64 | Required Base64 image (in some cases can be the link image). |
Request example data
{
"action": "update",
"photo": {
"photo_id": 1,
"internal_code": "1",
"image": "lZWYxZjkwNzZmZjcyODhkYmU3Zj"
}
}
Response example data
{
"code": 200,
"data": {
"photo_id": 1
}
}
Request Endpoint: /api/property-photo
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
action | String | Request action (delete). | ||
photo | Object | Photo info | ||
photo_id | Number | 1 | 2147483647 |
Required if action is update or delete Property Photo Id |
internal_code | String | 10 |
Required
Internal code in user system. |
Request example data
{
"action": "delete",
"photo": {
"photo_id": 1,
"internal_code": "1"
}
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-policy
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
internal_code | String | 10 |
Required
Internal code in user system. |
|
short_stay | Object | Policy Short Stay | ||
payment_type | String | Required Payment Type (Full, Partial, None) |
||
damage_deposit | Object | The damage deposit is payable | ||
is_due_at | String | 255 | Required Due date (Booking, Arrival, Check-out, XDayPriorArrival) |
|
x_day | Number | 1 | 255 | Required if due date is XDayPriorArrival Number days of due date is XDayPriorArrival |
amount | Number | 2147483647 with flat, 99 with percent | Required Amount |
|
amount_type | string | Required Amount type (Flat, PercentOfRent, PercentOfGrandTotal) |
||
payment_full | Object | Required if payment_type is Full Payment Full |
||
is_due_at | String | 255 | Required Due date (Booking, Arrival, Check-out, XDayPriorArrival, XDayAfterBooking) |
|
x_day | Number | 1 | 255 | Required if due date is XDayPriorArrival or XDayAfterBooking Number days of due date is XDayPriorArrival or XDayAfterBooking |
payment_partial | Object | Required if payment_type is Partial Payment partial |
||
first_payment | Object | First payment | ||
is_due_at | String | 255 | Required Due date (Booking, Arrival, XDayPriorArrival, XDayAfterBooking) |
|
x_day | Number | 365 | Required if due date is XDayPriorArrival or XDayAfterBooking Number days of due date is XDayPriorArrival or XDayAfterBooking |
|
amount_type | string | Required Amount type (Flat, PercentOfRent, PercentOfGrandTotal) |
||
amount | Number | bigger than 0 | 2147483647 with flat, 99 with percent | Required Amount |
remaining_payment | Object | Required if payment_type is Partial Remaining payment |
||
is_due_at | String | 255 | Required Due date(Check-out, Arrival, XDayPriorArrival, XDayAfterBooking) |
|
x_day | Number | 365 | Required if due date is XDayPriorArrival or XDayAfterBooking Number days of due date is XDayPriorArrival or XDayAfterBooking |
Request example data
{
"internal_code": "1",
"short_stay": {
"payment_type": "Full",
"payment_full": {
"is_due_at": "XDayPriorArrival",
"x_day": 30
},
"damage_deposit": {
"is_due_at": "XDayPriorArrival",
"x_day": 2,
"amount": 10,
"amount_type": "PercentOfGrandTotal"
}
}
}
{
"property_id": 1,
"short_stay": {
"payment_type": "Partial",
"payment_partial": {
"first_payment": {
"is_due_at": "XDayAfterBooking",
"x_day": 2,
"amount_type": "PercentOfRent",
"amount": 20
},
"remaining_payment": {
"is_due_at": "XDayPriorArrival",
"x_day": 10
}
}
}
}
{
"property_id": 1,
"short_stay": {
"payment_type": "None"
}
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-rate
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
internal_code | String | 10 |
Required
Internal code in user system. |
|
rate | Object | rate of property | ||
daily_price | Number | 0 | 2147483647 | Required
daily price of property |
weekend_price | Number | Weekend price of property. Total 2 or 3 weekends, Can setting in 365Villas | ||
weekly_price | Number | weekly price of property | ||
monthly_price | Number | monthly price of property | ||
minimum_stay | Number | Required
minimum stay of property |
||
extra_daily_price | Number | extra daily price of property | ||
extra_weekend_price | Number | extra weekend price of property | ||
extra_weekly_price | Number | extra weekly price of property | ||
extra_monthly_price | Number | extra monthly price of property | ||
los | Array | |||
days | Number | 1 | 40 | |
discount | Number | 1 | 99 | |
setting | Object | |||
standard_occupants | Number | 1 |
Required
Standard occupants |
|
accept_booking_upto | Number | 0 | 12 | Accept booking upto
(If it is zero, the calendar will available for all) |
apply_weekend_price | Boolean | (true, false) | ||
default_allow_checkin | String | (All, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)
Check-ins may occur only above. |
||
default_allow_checkout | String | (All, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)
Check-outs may occur only above. |
||
apply_extra_fee_per_season | Boolean | (true, false) | ||
allow_same_day_booking_until | String | Format: 24-Hour
Important: set 1 in 2 "allow_same_day_booking_until " or "advanced_notice_booking_from" |
||
advanced_notice_booking_from | String | Format: Days
Important: set 1 in 2 "allow_same_day_booking_until " or "advanced_notice_booking_from" |
||
apply_6_nights_weekly_rate | Boolean | (true, false) | ||
first_day_surcharge | Number | Adding a surcharge to the first day of any stay | ||
first_day_surcharge_apply_one_night | Boolean | (true, false) | ||
season | Array | |||
name | String | Season name | ||
minimum_stay | Number | Don't bigger than max guest of property | ||
start_date | StringDate | Required
Start date. Format YYYY-MM-DD |
||
end_date | StringDate | Required
End date. Format YYYY-MM-DD |
||
daily_price | Number |
Required
Daily price |
||
weekend_price | Number | Weekend price of property. Total 2 or 3 weekends, Can setting in 365Villas | ||
weekly_price | Number | Weekly price | ||
monthly_price | Number | Monthly price | ||
extra_daily_price | Number | Extra daily price | ||
extra_weekend_price | Number | Extra weekend price | ||
extra_weekly_price | Number | Extra weekly price | ||
extra_monthly_price | Number | Extra monthly price | ||
allow_checkin | String | (All, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) | ||
allow_checkout | String | (All, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) |
Request example data
{
"internal_code": "1",
"rate": {
"daily_price": 10,
"weekend_price": 22,
"weekly_price": 60,
"monthly_price": 210,
"minimum_stay": 1,
"extra_daily_price": 5,
"extra_weekend_price": 5,
"extra_weekly_price": 4,
"extra_monthly_price": 2
},
"los": [
{
"days": 7,
"discount": 10
},
{
"days": 15,
"discount": 25
}
],
"setting": {
"standard_occupants": 5,
"accept_booking_upto": 0,
"apply_weekend_price": true,
"default_allow_checkin": "Sunday,Monday",
"default_allow_checkout": "Friday,Saturday",
"apply_extra_fee_per_season": true,
"allow_same_day_booking_until": "12:00",
"apply_6_nights_weekly_rate": false,
"first_day_surcharge": 7,
"first_day_surcharge_apply_one_night": false
},
"season": [
{
"name": "Summer season",
"minimum_stay": 2,
"start_date": "2023-06-01",
"end_date": "2023-08-28",
"daily_price": 15,
"weekend_price": 40,
"weekly_price": 60,
"monthly_price": 315,
"extra_daily_price": 6,
"extra_weekend_price": 6,
"extra_weekly_price": 5,
"extra_monthly_price": 2,
"allow_checkin": "Saturday,Saturday,Friday",
"allow_checkout": "All"
}
]
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-method
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
internal_code | String | 10 |
Required
Internal code in user system. |
|
stripe | Object | |||
secret_key | String | 255 |
Required
Secret key of stripe |
|
public_key | String | 255 |
Required
Public key of stripe |
|
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. | |
authorize | Object | |||
login_id | String | 255 |
Required
Login id |
|
transaction_key | String | 255 |
Required
Transaction key |
|
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. | |
paypal | Object | |||
String | 255 |
Required
|
||
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. | |
payfort | Object | |||
secret_key | String | 255 |
Required
Secret key of payfort |
|
open_key | String | 255 |
Required
Open key of payfort |
|
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. | |
paygate | Object | |||
paygate_id | String | 255 |
Required
Paygate id |
|
encryption_key | String | 255 |
Required
Encryption key |
|
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. | |
fac | Object | |||
secure_3d | Boolean |
Required
(true, false) |
||
merchant_id | String | 255 |
Required
Merchant id |
|
password | String | 255 |
Required
Password |
|
description | String | 1000 | Provide your method details. You may want to explain any policies regarding fees. |
Request example data
{
"internal_code": "1",
"stripe": {
"secret_key": "1111sk_test_51H7HnlHPCAbLd5plwTWI8l2huIWi1RJBOEdOzT8PB2G0x3oSBTvzzBYo",
"public_key": "pk_test_51H7HnlHPCAbLd5plb43fehlZ3nyDn1M4vSKb74EWE1",
"description": "Provide your Stripe details. You may want to explain any policies regarding fees"
},
"authorize": {
"login_id": "user",
"transaction_key": "tran_key",
"description": "Explain which credit cards you take, and refer to online payment links in your rental agreement or quotes, if you use this feature in 365"
},
"paypal": {
"email": "[email protected]",
"description": "Provide your PayPal details. You may want to explain any policies regarding fees."
},
"payfort": {
"secret_key": "sk_test_51H7Hnl",
"open_key": "open_key_yDn1M4v",
"description": "Provide your PayPal details. You may want to explain any policies regarding fees"
},
"paygate": {
"paygate_id": "10312014130",
"encryption_key": "secret",
"description": "Provide your PayGate details. You may want to explain any policies regarding fees."
},
"fac": {
"secure_3d": true,
"merchant_id": "12345678",
"password": "secret",
"description": "Provide your First Atlantic Commerce details. You may want to explain any policies regarding fees."
}
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-instruction
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
internal_code | String | 10 |
Required
Internal code in user system. |
|
logistics | Object | |||
check_in_from | String | Check in from
24-Hour Time Format (HH:MM) |
||
check_in_until | String | Check in until
24-Hour Time Format (HH:MM) |
||
check_out_before | String | Check in before
24-Hour Time Format (HH:MM) |
||
early_check_in_late_check_out_fee | Number | 2147483647 | Early checkin and late checkout fee | |
guest_notification_message | String | 1000 | Guest notification message | |
directions | Object | |||
check_in_location | String | (AtTheProperty, AtTheOffice, AtTheBusStation, AtTheRailwayStation, AtTheAirport, byYourTaxiDriver, AtTheAddressBelow) | ||
instruction | String | Instruction | ||
map | base64 | Image or Pdf | ||
house_rule | String | 10000 | House rule
Can be html |
Request example data
{
"internal_code": "1",
"logistics": {
"check_in_from": "14:00",
"check_in_until": "12:00",
"check_out_before": "10:00",
"early_check_in_late_check_out_fee": 50,
"guest_notification_message": "Please inform us if there are significant deviations in your planned arrival or departure times. Early check-in or late check-out must be agreed in advance."
},
"directions": {
"check_in_location": "AtTheProperty",
"instruction": "Explain how guests reach, access and\/or check-in to the property...",
"map": ""
},
"house_rule": "Quiet hours are between 10pm and 8am."
}
Response example data
{
"code": 200
}
Request Endpoint: /api/property-other
.
Request parameters:
Name | Type | Min | Max | Description |
---|---|---|---|---|
internal_code | String | 10 |
Required
Internal code in user system. |
|
taxes | Array | List taxes of property | ||
default | Boolean | if true Tax will automatic add in new transaction (true, false) | ||
name | String | 255 | Name tax | |
applicable | String | 100 | Applicable (PerNight, PerStay, PerOccupant, PerOccupantPerNight, PerAdult, PerChild, PerAdultPerNight, PerChildPerNight, GlobalTax) | |
amount | Number | 2147483647 | Amount | |
amount_type | String | 10 | Amount type (flat, percent) | |
tax_type | String | 100 | Tax type (Unknown, City tax, GoodsAndServicesTax, LocalTax, TouristTax, VAT) | |
apply_channel_booking | Boolean | apply tax to channel booking (true, false) | ||
services | Array | List services of property | ||
default | Boolean | if true Service will automatic add in new transaction (true, false) | ||
name | String | 255 | Name service | |
applicable | String | 100 | Applicable (PerNight, PerStay, PerOccupant, PerOccupantPerNight) | |
amount | Number | 2147483647 | Amount | |
amount_type | String | 10 | Amount type (flat, percent) | |
fee_type | String | 100 | Type of service (Unknown TowelsFee, ElectricityFee, Bed linenFee, GasFee, OilFee, WoodFee, WaterUsageFee, TransferFee, LinenPackageFee, HeatingFee, AirConditioningFee, KitchenLinenFee, HousekeepingFee, AirportShuttleFee, ShuttleBoatFee, SeaPlaneFee, SkiPass, WristbandFee, VisaSupportFee, WaterParkFee, ClubCardFee, ConservationFee, CreditCardFee, PetFee, InternetFee, ParkingFee, Insurance, ServiceFee, ResortFee, BookingFee, TourismFee, DestinationFee, ExtraBedFee, EnvironmentFee, ChildrenExtraFee, CleaningFee, CommunityFee) | |
apply_channel_booking | Boolean | apply service to channel booking(true, false) | ||
multiple | Boolean | Apply select multiple service (true, false) | ||
taxes | Array | Taxes of service | ||
name | String | 255 | Name tax | |
percent | Number | Percent tax | ||
description | String | 2000 | Description service | |
expenses | Array | List expenses of property | ||
default | Boolean | if true Expense will automatic add in new transaction (true, false) | ||
name | String | Name expense | ||
expense_type | String | Expense type(MyExpense, OwnerExpense) | ||
amount | Number | 2147483647 | Amount | |
amount_type | String | 10 | Amount type(Flat, PercentOfRent, PercentOfService, PercentOfTax) | |
apply_channel_booking | Boolean | apply expense to channel booking(true, false) | ||
taxes | Array | List tax of expense | ||
name | String | 255 | Name tax | |
percent | Number | Percent tax |
Request example data
{
"internal_code": "1",
"taxes": [
{
"default": false,
"name": "tax name",
"applicable": "PerNight",
"amount": 10,
"amount_type": "percent",
"tax_type": "LocalTax",
"apply_channel_booking": true
},
{
"default": true,
"name": "VAT",
"applicable": "PerStay",
"amount": 10,
"amount_type": "percent",
"tax_type": "VAT",
"apply_channel_booking": true
}
],
"services": [
{
"default": true,
"name": "Cleaning Fee",
"applicable": "PerStay",
"amount": 20,
"amount_type": "flat",
"fee_type": "CleaningFee",
"apply_channel_booking": true,
"multiple": false,
"taxes": [
{
"name": "VAT",
"percent": 10
},
{
"name": "tax name",
"percent": 10
}
],
"description": ""
}
],
"expenses": [
{
"default": false,
"name": "",
"expense_type": "My",
"amount": 25,
"amount_type": "PercentOfRent,PercentOfService",
"apply_channel_booking": true,
"taxes": [
{
"name": "tax name",
"percent": 10
}
]
}
]
}
Response example data
{
"code": 200,
"data": {
"photo_id": 2
}
}