Laravel Package for integration with Stays External API. Docs: https://stays.net/external-api/
composer require jonathanpmartins/staysvel;Add the following code to your config\services.php configuration file:
'stays' => [
'endpoint' => env('STAYS_ENDPOINT'),
'client_id' => env('STAYS_CLIENT_ID'),
'client_secret' => env('STAYS_CLIENT_SECRET'),
],Add the following keys to you .env file and fill them up with your credentials.
STAYS_ENDPOINT=
STAYS_CLIENT_ID=
STAYS_CLIENT_SECRET=
Import the Stays class:
use Staysvel\Stays;- All input parameters are of type
arrayorstring. - All parameters marked with an asterisk (*) are required.
- The
$responseobject is an instance ofIlluminate\Http\Client\Response. It basically returns what the laravel http-client returns.
From Laravel 9 docs:
$response->body() : string;
$response->json($key = null) : array|mixed;
$response->object() : object;
$response->collect($key = null) : Illuminate\Support\Collection;
$response->status() : int;
$response->ok() : bool;
$response->successful() : bool;
$response->redirect(): bool;
$response->failed() : bool;
$response->serverError() : bool;
$response->clientError() : bool;
$response->header($header) : string;
$response->headers() : array;$response = Stays::content()->properties()->create(array $parameters);
if ($response->successful())
{
$data = $response->json(); // return data from stays
}
if ($response->failed())
{
$status = $response->status();
$json = $response->json();
if (isset($json['message']))
{
throw new \Exception($json['message'], $status);
}
else
{
throw new \Exception($response->body(), $status);
}
}The default timeout is 60 seconds. To change it, use the timeout(int $timeoutInSeconds) function before the last function of the chain. Examples:
$response = Stays::timeout(30)->content()->properties()->create(array $parameters);
$response = Stays::content()->timeout(30)->properties()->create(array $parameters);
$response = Stays::content()->properties()->timeout(30)->create(array $parameters);Booking Checkout API
Promo code API
Booking API
Finance API
Listing Calendar API
Prices API
Content API
Listing Settings API
Translations API
$response = Stays::bookRequest(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
booking start date |
| to | ISO date string YYYY-MM-DD |
booking end date |
| aptid | String | Stays apartment identifier |
| persons | Integer | total guests number (Optional. Default is 1) |
| client | Object | client who makes booking |
| client.email | String | email address of client (will use to search if client already exists in Stays system) |
| client.fName | String | client first name |
| cient.lName | String | client last name |
$response = Stays::booking()->promoCodes()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | String | Promo code name |
| type * | String | Promo code discount type. Can be 'fixed' or 'percent' |
| _f_discount | Number | Promo code percentage discount |
| _mcdiscount | Object | Promo code fixed discount with mutlicurrency |
| status | String | Promo code status. Can be 'active' or 'inactive' |
| maxUsesCount | Integer | Define, how many times promo code can be used |
| useWithOtherPromotions | Boolean | Can promocode be applied if other promotions exists |
| periodRestrictions | Object | Defines general restrictions for date range of using |
| periodRestrictions.enable | Boolean | Indicates if restrictions are active |
| periodRestrictions.from | ISO date string YYYY-MM-DD |
Start date when promocode can be applied |
| periodRestrictions.to | ISO date string YYYY-MM-DD |
End date when promocode can be applied |
| periodRestrictions.invalidDaysOfWeek | Array | Days of week, when promocode cannot be applied. Possible values are 1-7. Where 1 is Monday, 7 is Sunday |
| calendarRestrictions | Object | Defines calendar restrictions |
| calendarRestrictions.enable | Boolean | Indicates if restrictions are active |
| calendarRestrictions.validArrivalDates | Object | Defines date range for arrival, when promocode can be applied |
| calendarRestrictions.validArrivalDates.from | ISO date string YYYY-MM-DD |
Start arrival date when promocode can be applied |
| calendarRestrictions.validArrivalDates.to | ISO date string YYYY-MM-DD |
End arrival date when promocode can be applied |
| calendarRestrictions.invalidArrivalDates | Object | Defines date range for arrival, when promocode cannot be applied |
| calendarRestrictions.invalidArrivalDates.from | ISO date string YYYY-MM-DD |
Start arrival date when promocode cannot be applied |
| calendarRestrictions.invalidArrivalDates.to | ISO date string YYYY-MM-DD |
End arrival date when promocode cannot be applied |
| calendarRestrictions.validDepartureDates | Object | Defines date range for departuren, when promocode can be applied |
| calendarRestrictions.validDepartureDates.from | ISO date string YYYY-MM-DD |
Start departure date when promocode can be applied |
| calendarRestrictions.validDepartureDates.to | ISO date string YYYY-MM-DD |
End departure date when promocode can be applied |
| calendarRestrictions.invalidDepartureDates | Object | Defines date range for departure, when promocode cannot be applied |
| calendarRestrictions.invalidDepartureDates.from | ISO date string YYYY-MM-DD |
Start departure date when promocode cannot be applied |
| calendarRestrictions.invalidDepartureDates.to | ISO date string YYYY-MM-DD |
End departure date when promocode cannot be applied |
| calendarRestrictions.minLengthOfStay | Integer | Indicates minimum nights number of booking when promocode can be applied |
| productRestrictions | Object | Defines product restrictions using bedrooms or groups |
| productRestrictions.enable | Boolean | Indicates if restrictions are active |
| productRestrictions.bedgrooms | Array | Defines bedrooms numbers for what promo code is applicable. For Studio is 0 |
| productRestrictions.groups | Array | Defines groups identifiers for what promo code is applicable. |
| userRestrictions | Object | Defines user restrictions |
| userRestrictions.enable | Boolean | Indicates if restrictions are active |
| userRestrictions.emails | Array | Defines list of guests emails for what promo code is applicable. |
| userRestrictions.clients | Array | Defines list of clients identifiers for what promo code is applicable. |
| userRestrictions.minReservationsCount | Integer | Defines min number of previous guest's reservations after promo code will be valid |
| userRestrictions.minAmountSpentByGuest | Number | Defines min amount of money that guest spent before to make promo code valid |
| userRestrictions.maxGuestsCount | Integer | Defines max guests count for reservations |
$response = Stays::booking()->promoCodes()->get(string $id);$response = Stays::booking()->promoCodes()->update(string $id, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | String | Promo code name |
| type * | String | Promo code discount type. Can be 'fixed' or 'percent' |
| _f_discount | Number | Promo code percentage discount |
| _mcdiscount | Object | Promo code fixed discount with mutlicurrency |
| status | String | Promo code status. Can be 'active' or 'inactive' |
| maxUsesCount | Integer | Define, how many times promo code can be used |
| useWithOtherPromotions | Boolean | Can promocode be applied if other promotions exists |
| periodRestrictions | Object | Defines general restrictions for date range of using |
| periodRestrictions.enable | Boolean | Indicates if restrictions are active |
| periodRestrictions.from | ISO date string YYYY-MM-DD |
Start date when promocode can be applied |
| periodRestrictions.to | ISO date string YYYY-MM-DD |
End date when promocode can be applied |
| periodRestrictions.invalidDaysOfWeek | Array | Days of week, when promocode cannot be applied. Possible values are 1-7. Where 1 is Monday, 7 is Sunday |
| calendarRestrictions | Object | Defines calendar restrictions |
| calendarRestrictions.enable | Boolean | Indicates if restrictions are active |
| calendarRestrictions.validArrivalDates | Object | Defines date range for arrival, when promocode can be applied |
| calendarRestrictions.validArrivalDates.from | ISO date string YYYY-MM-DD |
Start arrival date when promocode can be applied |
| calendarRestrictions.validArrivalDates.to | ISO date string YYYY-MM-DD |
End arrival date when promocode can be applied |
| calendarRestrictions.invalidArrivalDates | Object | Defines date range for arrival, when promocode cannot be applied |
| calendarRestrictions.invalidArrivalDates.from | ISO date string YYYY-MM-DD |
Start arrival date when promocode cannot be applied |
| calendarRestrictions.invalidArrivalDates.to | ISO date string YYYY-MM-DD |
End arrival date when promocode cannot be applied |
| calendarRestrictions.validDepartureDates | Object | Defines date range for departuren, when promocode can be applied |
| calendarRestrictions.validDepartureDates.from | ISO date string YYYY-MM-DD |
Start departure date when promocode can be applied |
| calendarRestrictions.validDepartureDates.to | ISO date string YYYY-MM-DD |
End departure date when promocode can be applied |
| calendarRestrictions.invalidDepartureDates | Object | Defines date range for departure, when promocode cannot be applied |
| calendarRestrictions.invalidDepartureDates.from | ISO date string YYYY-MM-DD |
Start departure date when promocode cannot be applied |
| calendarRestrictions.invalidDepartureDates.to | ISO date string YYYY-MM-DD |
End departure date when promocode cannot be applied |
| calendarRestrictions.minLengthOfStay | Integer | Indicates minimum nights number of booking when promocode can be applied |
| productRestrictions | Object | Defines product restrictions using bedrooms or groups |
| productRestrictions.enable | Boolean | Indicates if restrictions are active |
| productRestrictions.bedgrooms | Array | Defines bedrooms numbers for what promo code is applicable. For Studio is 0 |
| productRestrictions.groups | Array | Defines groups identifiers for what promo code is applicable. |
| userRestrictions | Object | Defines user restrictions |
| userRestrictions.enable | Boolean | Indicates if restrictions are active |
| userRestrictions.emails | Array | Defines list of guests emails for what promo code is applicable. |
| userRestrictions.clients | Array | Defines list of clients identifiers for what promo code is applicable. |
| userRestrictions.minReservationsCount | Integer | Defines min number of previous guest's reservations after promo code will be valid |
| userRestrictions.minAmountSpentByGuest | Number | Defines min amount of money that guest spent before to make promo code valid |
| userRestrictions.maxGuestsCount | Integer | Defines max guests count for reservations |
$response = Stays::booking()->promoCodes()->delete(string $id);$response = Stays::booking()->promoCodes()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name | String | Promo code name. If it has special symbols, please use encodeURIComponent |
| status | String | Promo code status. Possible values are 'active' or 'inactive' |
| used | Boolean | Search by promo codes that were already used or not |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::booking()->search()->filter();$response = Stays::booking()->search()->listings(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Booking start date |
| to | ISO date string YYYY-MM-DD |
Booking end date |
| guests | Integer | Number of guests |
| rooms | Array [integer] | Number of rooms. 0 - Studio, 1 - one room, 2 - two rooms. |
| cities | Array [string] | Array of cities names |
| regions | Array [string] | Array of regions names |
| states | Array [string] | Array of state names |
| countries | Array [string] | Array of country codes |
| properties | Array [string] | Array of properties identifiers |
| amenities | Array [string] | Listing or property amenities as an array of amenity IDs. |
| inventory | Array [string] | Rooms inventory as an array of inventory names. |
| listingId | String | Listing identifier (short and long both values accepted) |
| sort | String | Allows to sort result by provided criteria. Possble values are rating |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::booking()->listingPrice()->calculate(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| listingIds | Array | Listings identifiers. Both identifiers (long and short) are supported |
| from | ISO date string YYYY-MM-DD |
Booking start date |
| to | ISO date string YYYY-MM-DD |
Booking end date |
| guests | Integer | Number of guests |
| promocode | String | Promo code name or identifier. If name has special symbols, please use encodeURIComponent |
$response = Stays::booking()->blocking()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Blocking type. Possible values are "blocked" or "maintenance" |
| listingId * | String | Listing identifier (short and long both values accepted) |
| checkInDate * | ISO date string YYYY-MM-DD |
Start date |
| checkInTime | String HH:mm | Start time. If ommited, default check-in time will be applied |
| checkOutDate * | ISO date string YYYY-MM-DD |
End date |
| checkOutTime | String HH:mm | End time. If ommited, default check-out time will be applied |
| internalNote | String | Some description text |
| cleaningTaskBefore | Boolean | Indicates, if system should creates cleaning task before start |
| cleaningTaskAfter | Boolean | Indicates, if system should creates cleaning task after end |
$response = Stays::booking()->blocking()->update(string $reservationId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Blocking type. Possible values are "blocked" or "maintenance" |
| checkInDate | ISO date string YYYY-MM-DD |
Start date |
| checkInTime | String HH:mm | Start time. If ommited, default check-in time will be applied |
| checkOutDate | ISO date string YYYY-MM-DD |
End date |
| checkOutTime | String HH:mm | End time. If ommited, default check-out time will be applied |
| internalNote | String | Some description text |
| cleaningTaskBefore | Boolean | Indicates, if system should creates cleaning task before start |
| cleaningTaskAfter | Boolean | Indicates, if system should creates cleaning task after end |
$response = Stays::booking()->blocking()->delete(string $reservationId);$response = Stays::booking()->reservations()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Reservation type. For creation, applicable only "reserved" or "booked" |
| listingId * | String | Reservation identifier (short and long both values accepted) |
| checkInDate * | ISO date string YYYY-MM-DD |
Arrival date |
| checkInTime | String HH:mm | Arrival time. If ommited, default check-in time will be applied |
| checkOutDate * | ISO date string YYYY-MM-DD |
Departure date |
| checkOutTime | String HH:mm | Departuren time. If ommited, default check-out time will be applied |
| _idclient * | String | Client identifier |
| guests * | Integer | Guests count |
| guestsDetails | Object | Additional details object |
| guestsDetails.adults | Integer | Adults count |
| guestsDetails.children | Integer | Children count |
| promocode | String | Promo code name or identifier. If name has special symbols, please use encodeURIComponent |
| price | Object | Send this object if you want to overwrite default price |
| price.currency | String | ISO currency |
| price._f_expected | Number | Expected price value |
| partnerCode | String | Partner uniq identifier of reservation |
$response = Stays::booking()->reservations()->get(string $reservationId);$response = Stays::booking()->reservations()->update(string $reservationId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Reservation type. For creation, applicable only "reserved" or "booked" |
| listingId | String | Reservation identifier (short and long both values accepted) |
| checkInDate | ISO date string YYYY-MM-DD |
Arrival date |
| checkInTime | String HH:mm | Arrival time. If ommited, default check-in time will be applied |
| checkOutDate | ISO date string YYYY-MM-DD |
Departure date |
| checkOutTime | String HH:mm | Departuren time. If ommited, default check-out time will be applied |
| _idclient | String | Client identifier |
| guests | Integer | Guests count |
| guestsDetails | Object | Additional details object |
| guestsDetails.adults | Integer | Adults count |
| guestsDetails.children | Integer | Children count |
| promocode | String | Promo code name or identifier. If name has special symbols, please use encodeURIComponent. For unset previous promocode use 'null' value |
| price | Object | Send this object if you want to overwrite default price |
| price.currency | String | ISO currency |
| price._f_expected | Number | Expected price value |
$response = Stays::booking()->reservations()->cancel(string $reservationId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Reservation type. For cancellation, applicable only "canceled" |
| cancelMessage | String | Cancellation description |
$response = Stays::booking()->reservations()->delete(string $reservationId);$response = Stays::booking()->reservations()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Start date range |
| to | ISO date string YYYY-MM-DD |
End date range |
| dateType | String | Criteria for applying dates range. Possible values are "arrival", "departure", "creation", "creationorig", "included" |
| listingId | String or [ String ] | Listing identifier. For multiple listings use listingId=WV01B&listingId=YR09A |
| type | String or [ String ] | Reservation types. Default types are "reserved","booked", "contract". If you want to search by multple types, use type=reserved&type=booked&type=blocked Possible values are "reserved", "booked", "contract", "blocked", "maintenance", "canceled" |
| _idclient | String | Client identifier |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::booking()->reservations()->export()->xlsx(array $parameters);
$raw = $response->body();Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Start date range |
| to | ISO date string YYYY-MM-DD |
End date range |
| dateType | String | Criteria for applying dates range. Possible values are "arrival", "departure", "creation", "creationorig", "included" |
| listingId | String | Listing identifier |
| type | String | Reservation types. Default types are "reserved","booked", "contract". |
| _idclient | String | Client identifier |
$response = Stays::booking()->reservations()->export()->json(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Start date range |
| to | ISO date string YYYY-MM-DD |
End date range |
| dateType | String | Criteria for applying dates range. Possible values are "arrival", "departure", "creation", "creationorig", "included" |
| listingId | String | Listing identifier |
| type | String | Reservation types. Default types are "reserved","booked", "contract". |
| _idclient | String | Client identifier |
$response = Stays::booking()->clients()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name | String | Partial or full client's name |
| String | Partial or full client's email | |
| phone | String | Partial or full client's phone |
| hasReservations | Boolean | Allows to search only for clients with/without reservations |
| reservationFilter | String | Set criteria to search clients by reservations for certain period. Possible values - creation |
| reservationFrom | ISO date string YYYY-MM-DD |
Set start period for searching reservations |
| reservationTo | ISO date string YYYY-MM-DD |
Set end period for searching reservations |
| sortBy | String | Setup field for sorting. Accepts name |
| sort | String | Setup sorting direction. Accepts asc |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::booking()->clients()->get(string $clientId);$response = Stays::finance()->paymentProviders()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Payment provider type. Must be "bank" |
| status | String | Payment provider status. Can be 'active' or 'inactive' |
| _mcstartBalance | Object | Set the accounting starting balance (mutlicurrency) |
| internalName | String | Payment provider internal name |
| _mstitle | Object | Multilanguage commercial name |
| _msdesc | Object | Multilanguage commercial description |
| allowPayments | Boolean | Indicates if bank will be used for frontend allowPayments |
| currencies | Array | List of accepted currencies for frontend allowPayments |
| _msconfirmText | Object | Multilanguage confirmation text. Will be shown after frontend payment completion |
| bankDetails | String | Extra info that client needs to complete payment |
$response = Stays::finance()->paymentProviders()->get(string $providerId);$response = Stays::finance()->paymentProviders()->update(string $providerId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Payment provider type. Can be 'bank' or 'user'. Important: it is not possible to change type. |
$response = Stays::finance()->paymentProviders()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| status | String | Payment provider status. Can be 'active' or 'inactive' |
$response = Stays::calendar()->listings()->get(string $listingId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Start date of returning data. Required |
| to | ISO date string YYYY-MM-DD |
End date of returning data. Required |
| ignorePriceGroupUnits | Boolean | Ignore availability for price group units. Only master listing availability will be returned. |
| ignoreCloneGroupUnits | Boolean | Ignore availability for clone group units. Only master listing availability will be returned |
$response = Stays::calendar()->listings()->update(string $listingId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| from | ISO date string YYYY-MM-DD |
Start date |
| to | ISO date string YYYY-MM-DD |
End date |
| prices | Array | Prices array |
| prices.minStay | Integer | Minimum stay restriction to apply price |
| prices._f_val | Number | Price value in listing currency |
| closedToArrival | Boolean | Arrival restriction |
| closedToDeparture | Boolean | Departure restriction |
$response = Stays::price()->regions()->search();$response = Stays::price()->regions()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | String | Price region unique name |
$response = Stays::price()->regions()->update(string $id, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| name * | String | Price region unique name |
$response = Stays::price()->regions()->delete(string $id);$response = Stays::price()->rules()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| _idregion | String | Price region. For default region omit it. |
| from | ISO date string YYYY-MM-DD |
start date for search |
| to | ISO date string YYYY-MM-DD |
end date for search |
| status | String | Status of Sell Price Rule. Accepts values ['active','inactive'] |
$response = Stays::price()->rules()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| _idregion | String | Price region. For default region omit it. |
| type * | String | Type of Sell Price Rule. Accepts ['season','event']. |
| name * | String | Internal name of Sell Price Rule. |
| hint | String | Hint text. |
| from | ISO date string YYYY-MM-DD |
start date of Sell Price Rule |
| to | ISO date string YYYY-MM-DD |
end date of Sell Price Rule |
| status | String | Status of Sell Price Rule. Accepts values ['active','inactive'] |
| ratePlans | Array | List of rate plans |
| ratePlans.minStay | Integer | Defines minimal number of nights |
| ratePlans._i_percent | Integer | Defines percentage discount for target number of nights. For first rate plan percentage must be 0 |
| useMonthlyRate | Boolean | Indicates, should system use special monthly price for long stay. Applicable only for type 'season'. |
$response = Stays::price()->rules()->get(string $id);$response = Stays::price()->rules()->update(string $id, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| _idregion | String | Price region. For default region omit it. |
| type * | String | Type of Sell Price Rule. Accepts ['season','event']. |
| name * | String | Internal name of Sell Price Rule. |
| hint | String | Hint text. |
| from | ISO date string YYYY-MM-DD |
start date of Sell Price Rule |
| to | ISO date string YYYY-MM-DD |
end date of Sell Price Rule |
| status | String | Status of Sell Price Rule. Accepts values ['active','inactive'] |
| ratePlans | Array | List of rate plans |
| ratePlans.minStay | Integer | Defines minimal number of nights |
| ratePlans._i_percent | Integer | Defines percentage discount for target number of nights. For first rate plan percentage must be 0 |
| useMonthlyRate | Boolean | Indicates, should system use special monthly price for long stay. Applicable only for type 'season'. |
$response = Stays::price()->rules()->delete(string $id);$response = Stays::price()->sells()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| listingId * | String | Listing identifier (short and long both values accepted) |
| from * | ISO date string YYYY-MM-DD |
start date for search |
| to * | ISO date string YYYY-MM-DD |
end date for search |
$response = Stays::price()->sells()->get(string $listingId);$response = Stays::price()->sells()->update(string $seasonId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| type * | String | Type of listing sell price. Accepts ['global'] |
| baseRateValue * | Double | Price value for minimal night rate plan |
| monthlyRateValue * | Double | Price value for monthly rate. Applicable only if season has useMonthlyRate flag |
| Parameter | Type | Description |
|---|---|---|
| type * | String | Type of listing sell price. Accepts ['individual'] |
| baseRateValue * | Double | Price value for minimal night rate plan |
| ratePlans | Array | List of rate plans |
| ratePlans.minStay | Integer | Defines minimal number of nights |
| ratePlans._i_percent | Integer | Defines percentage discount for target number of nights. For first rate plan percentage must be 0 |
| monthlyRateValue * | Double | Price value for monthly rate. Applicable only if season has useMonthlyRate flag |
$response = Stays::content()->properties()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName * | String | Property unique internal name |
| _idtype * | String | Property type identifier. List of available types is here |
| _mstitle | Object | Multilanguage commercial name |
| _msdesc | Object | Multilanguage commercial description |
| status | String | Status of property. Accepts values ['active','inactive','draft'] |
| address | Object | Address of property. |
| address.countryCode | String | ISO country countryCode |
| address.state | String | State |
| address.stateCode | String | State code |
| address.city | String | City |
| address.region | String | Region of city |
| address.street | String | Street |
| address.streetNumber | Integer | Number of street |
| addreess.zip | String | Zip code |
| latLng | Object | Geo coordinates |
| latLng._f_lat | Float | Latitude |
| latLng._f_lng | Float | Longitude |
| amenities | Array | Property amenities identifiers list. List of available amenities is here |
$response = Stays::content()->properties()->get(string $propertyId);$response = Stays::content()->properties()->update(string $propertyId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName * | String | Property unique internal name |
| _idtype * | String | Property type identifier. List of available types is here |
| _mstitle | Object | Multilanguage commercial name |
| _msdesc | Object | Multilanguage commercial description |
| status | String | Status of property. Accepts values ['active','inactive','draft'] |
| address | Object | Address of property. |
| address.countryCode | String | ISO country countryCode |
| address.state | String | State |
| address.stateCode | String | State code |
| address.city | String | City |
| address.region | String | Region of city |
| address.street | String | Street |
| address.streetNumber | Integer | Number of street |
| addreess.zip | String | Zip code |
| latLng | Object | Geo coordinates |
| latLng._f_lat | Float | Latitude |
| latLng._f_lng | Float | Longitude |
| amenities | Array | Property amenities identifiers list. List of available amenities is here |
$response = Stays::content()->properties()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| status | String | Property status. Accepts values ['active','inactive','draft'] |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::content()->listings()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName * | String | Listing unique internal name |
| _idproperty * | String | Property identifier. If you want to create single-unit listing (outside of property), instead _idproperty you need to send _idpropertyType - single-unit property type identifier. List of available types is here |
| _idtype * | String | Listing type identifier. List of available types is here |
| subtype * | String | Listing subtype identifier. Accepts values ["private_room", "entire_home", "shared_room"] |
| _mstitle | Object | Multilanguage commercial name |
| _msdesc | Object | Multilanguage commercial description |
| status | String | Status of listing. Accepts values ['active','hidden','inactive','draft'] |
| address | Object | Address of listing. For listings that are inside property, address will be inherit from corresponding property. |
| address.countryCode | String | ISO country countryCode |
| address.state | String | State |
| address.stateCode | String | State code |
| address.city | String | City |
| address.region | String | Region of city |
| address.street | String | Street |
| address.streetNumber | Integer | Number of street |
| address.additional | Integer | Additional number of listing |
| addreess.zip | String | Zip code |
| latLng | Object | Geo coordinates. For listings that are inside property, coordinates will be inherit from corresponding property. |
| latLng._f_lat | Float | Latitude |
| latLng._f_lng | Float | Longitude |
| amenities | Array | Listing amenities identifiers list. List of available amenities is here |
$response = Stays::content()->listings()->get(string $listingId);$response = Stays::content()->listings()->update(string $listingId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName * | String | Listing unique internal name |
| _idproperty * | String | Property identifier. If you want to create single-unit listing (outside of property), instead _idproperty you need to send _idpropertyType - single-unit property type identifier. List of available types is here |
| _idtype * | String | Listing type identifier. List of available types is here |
| subtype * | String | Listing subtype identifier. Accepts values ["private_room", "entire_home", "shared_room"] |
| _mstitle | Object | Multilanguage commercial name |
| _msdesc | Object | Multilanguage commercial description |
| status | String | Status of listing. Accepts values ['active','hidden','inactive','draft'] |
| address | Object | Address of listing. For listings that are inside property, address will be inherit from corresponding property. |
| address.countryCode | String | ISO country countryCode |
| address.state | String | State |
| address.stateCode | String | State code |
| address.city | String | City |
| address.region | String | Region of city |
| address.street | String | Street |
| address.streetNumber | Integer | Number of street |
| address.additional | Integer | Additional number of listing |
| addreess.zip | String | Zip code |
| latLng | Object | Geo coordinates. For listings that are inside property, coordinates will be inherit from corresponding property. |
| latLng._f_lat | Float | Latitude |
| latLng._f_lng | Float | Longitude |
| amenities | Array | Listing amenities identifiers list. List of available amenities is here |
$response = Stays::content()->listings()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| status | String | Listing status. Accepts values active,inactive,hidden,draft |
| groupId | String | Group identifier that listing belongs |
| rel | String | Relation of listing. Allows to filter master/child listings. Accepts values ['master','child']. Child listing has special fields, that allows to identify its type. _idCloneGroupMaster - means that listing is in Clone Group with master listing defined in this field _idPriceGroupMaster - means that listing is in Vertical Price Group with master listing defined in this field _idPriceMaster - means that listing is in Horizontal Price Group with master listing defined in this field |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::content()->groups()->create(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName * | String | Group unique internal name |
| status | String | Group status. Accepts [ "active","inactive" ] |
| types | Array [ String] | Group types. Possible values are ["system", "front", "communication", "highlight"] |
| _mstitle | Object | Multilanguage title |
| listingIds | Array [ String ] | Listings identifiers asigned to group |
$response = Stays::content()->groups()->get(string $groupId);$response = Stays::content()->groups()->update(string $groupId, array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| internalName | String | Group unique internal name |
| status | String | Group status. Accepts [ "active","inactive" ] |
| types | Array [ String] | Group types. Possible values are ["system", "front", "communication", "highlight"] |
| _mstitle | Object | Multilanguage title |
| listingIds | Array [ String ] | Listings identifiers asigned to group |
$response = Stays::content()->groups()->delete(string $groupId);$response = Stays::content()->groups()->search(array $parameters);Parameters
| Parameter | Type | Description |
|---|---|---|
| status | String | Group status. Accepts values active,inactive |
| skip | Integer | Number of records to skip. Used to build proper pagination. Default value is 0 |
| limit | Integer | Maximum number of records to return. Default and maximum value is 20 |
$response = Stays::setting()->listing()->price(string $listingId);$response = Stays::setting()->listing()->booking(string $listingId);$response = Stays::translation()->types()->multiUnitProperty();$response = Stays::translation()->types()->singleUnitProperty();$response = Stays::translation()->types()->listing();$response = Stays::translation()->types()->room();$response = Stays::translation()->types()->bedroom();$response = Stays::translation()->types()->bathroom();$response = Stays::translation()->types()->other();$response = Stays::translation()->types()->bed();$response = Stays::translation()->amenities()->property();$response = Stays::translation()->amenities()->listing();