Getting started

The Lodgify API allows the user to perform certains operations through a REST requests, like create new bookings or obtain a list of the new ones The list of operations provided by the API will increase over time, but for now the only available API operations are related to the Reservation System

There are no request limits on the API calls, but any abuse detected will have a blocked access to the API

All the request and responses will only accept and return JSON format.

Authorization

To make authorizad calls on Lodgify API operations, you need to provide a API key in the call. There are two different types of API Keys, one with read and others with write permission. The read API keys only allow the user to call GET requests, any other request type (POST, PUT, etc..) will be blocked

To obtain your API Keys you can get in touch with us at info@lodgify.com and we will provide you a pair of read and write keys.

Once you have a valid API Key, you need to include it on the API request in a HTTP header named X-ApiKey

Localization

Some of the API responses can be returned on specific languages, for example the list of countries in German. If no language is defined then all responses will be in English

To configure a request to be returned with a specific language you need to add a Accept-Language http header with one of the language codes from the next table

Language Code
English en
German de
Spanish es
Italian it

Errors

When a request to the API fails, it will return a 500 http response with a json object containing more information about the error. The error object contains a message and a code, which can be used to determine the main cause of the error. A list of all posible error codes can be found on the Annex

Example of returned error object
{
    "message": "Authorization has been denied for this request.",
    "code": 999,
    "correlation_id": "00000000-0000-0000-0000-000000000000"
}

AirbnbApi


v1/airbnb/getvrbykey/{houseId} GET

Request Information

https://api.lodgify.com/v1/airbnb/getvrbykey/{houseId}
URI Parameters
Name Description Type Additional information
houseId

integer

Required

Response Information

Resource Description

HttpResponseMessage
Name Description Type Additional information
Version

Version

None.

Content

HttpContent

None.

StatusCode

HttpStatusCode

None.

ReasonPhrase

string

None.

Headers

Collection of Object

None.

RequestMessage

HttpRequestMessage

None.

IsSuccessStatusCode

boolean

None.

v1/airbnb/sync/{houseId} GET

Request Information

https://api.lodgify.com/v1/airbnb/sync/{houseId}
URI Parameters
Name Description Type Additional information
houseId

integer

Required

Response Information

Resource Description

HttpResponseMessage
Name Description Type Additional information
Version

Version

None.

Content

HttpContent

None.

StatusCode

HttpStatusCode

None.

ReasonPhrase

string

None.

Headers

Collection of Object

None.

RequestMessage

HttpRequestMessage

None.

IsSuccessStatusCode

boolean

None.

AvailabilityApi


All the operations that affect the availability calendars can be found on this group. An Api key is required for authentication and authorization.

v1/availability GET

Lists availability information for a given period

Request Information

https://api.lodgify.com/v1/availability?periodStart={periodStart}&periodEnd={periodEnd}&propertyId={propertyId}&roomTypeId={roomTypeId}&CombineRoomTypes={CombineRoomTypes}&BookingsOnly={BookingsOnly}&IncludeBookingIds={IncludeBookingIds}&ModifiedSince={ModifiedSince}
URI Parameters
Name Description Type Additional information
periodStart

Period start date

date

Required

periodEnd

Period end date

date

Required

propertyId

Property Identifier (optional). If not specified all properties will be listed.

integer

None.

roomTypeId

Room type Identified (optional). If not specified all room types will be listed.

integer

None.

CombineRoomTypes

Get room type results totalized by house

boolean

None.

BookingsOnly

Retrieve only booking information. Only valid for room type queries.

boolean

None.

IncludeBookingIds

Retrieve booking Ids. Only valid for room type queries.

boolean

None.

ModifiedSince

Retrieve within the given period, only the sub-periods that were modified since the specified date up to 6 months before today. Only valid for room type queries.

date

None.

Response Information

Resource Description

Collection of AvailabilityDto
Name Description Type Additional information
PropertyId

The property Identifier the availability period references to

integer

None.

RoomTypeId

Room type Identifier

integer

None.

PeriodStart

Period starting date

date

None.

PeriodEnd

Period ending date (is included in period)

date

None.

Available

Number of units available

integer

None.

TotalUnits

Number of total units of this room type

integer

None.

IsAvailable

True if the period is not closed and there are units left unoccupied

boolean

None.

BookingIds

List of Booking Ids on the period

Collection of integer

None.

ClosedPeriodId

Closed Period Id for this period

integer

None.

Response Formats
application/json, text/json
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  },
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

v1/availability/{propertyId} GET

Lists availability information for a given period

Request Information

https://api.lodgify.com/v1/availability/{propertyId}?periodStart={periodStart}&periodEnd={periodEnd}&roomTypeId={roomTypeId}&CombineRoomTypes={CombineRoomTypes}&BookingsOnly={BookingsOnly}&IncludeBookingIds={IncludeBookingIds}&ModifiedSince={ModifiedSince}
URI Parameters
Name Description Type Additional information
periodStart

Period start date

date

Required

periodEnd

Period end date

date

Required

propertyId

Property Identifier (optional). If not specified all properties will be listed.

integer

None.

roomTypeId

Room type Identified (optional). If not specified all room types will be listed.

integer

None.

CombineRoomTypes

Get room type results totalized by house

boolean

None.

BookingsOnly

Retrieve only booking information. Only valid for room type queries.

boolean

None.

IncludeBookingIds

Retrieve booking Ids. Only valid for room type queries.

boolean

None.

ModifiedSince

Retrieve within the given period, only the sub-periods that were modified since the specified date up to 6 months before today. Only valid for room type queries.

date

None.

Response Information

Resource Description

Collection of AvailabilityDto
Name Description Type Additional information
PropertyId

The property Identifier the availability period references to

integer

None.

RoomTypeId

Room type Identifier

integer

None.

PeriodStart

Period starting date

date

None.

PeriodEnd

Period ending date (is included in period)

date

None.

Available

Number of units available

integer

None.

TotalUnits

Number of total units of this room type

integer

None.

IsAvailable

True if the period is not closed and there are units left unoccupied

boolean

None.

BookingIds

List of Booking Ids on the period

Collection of integer

None.

ClosedPeriodId

Closed Period Id for this period

integer

None.

Response Formats
application/json, text/json
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  },
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

v1/availability/{propertyId}/{roomTypeId} GET

Lists availability information for a given period

Request Information

https://api.lodgify.com/v1/availability/{propertyId}/{roomTypeId}?periodStart={periodStart}&periodEnd={periodEnd}&CombineRoomTypes={CombineRoomTypes}&BookingsOnly={BookingsOnly}&IncludeBookingIds={IncludeBookingIds}&ModifiedSince={ModifiedSince}
URI Parameters
Name Description Type Additional information
periodStart

Period start date

date

Required

periodEnd

Period end date

date

Required

propertyId

Property Identifier (optional). If not specified all properties will be listed.

integer

None.

roomTypeId

Room type Identified (optional). If not specified all room types will be listed.

integer

None.

CombineRoomTypes

Get room type results totalized by house

boolean

None.

BookingsOnly

Retrieve only booking information. Only valid for room type queries.

boolean

None.

IncludeBookingIds

Retrieve booking Ids. Only valid for room type queries.

boolean

None.

ModifiedSince

Retrieve within the given period, only the sub-periods that were modified since the specified date up to 6 months before today. Only valid for room type queries.

date

None.

Response Information

Resource Description

Collection of AvailabilityDto
Name Description Type Additional information
PropertyId

The property Identifier the availability period references to

integer

None.

RoomTypeId

Room type Identifier

integer

None.

PeriodStart

Period starting date

date

None.

PeriodEnd

Period ending date (is included in period)

date

None.

Available

Number of units available

integer

None.

TotalUnits

Number of total units of this room type

integer

None.

IsAvailable

True if the period is not closed and there are units left unoccupied

boolean

None.

BookingIds

List of Booking Ids on the period

Collection of integer

None.

ClosedPeriodId

Closed Period Id for this period

integer

None.

Response Formats
application/json, text/json
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  },
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2017-05-25",
    "period_end": "2017-05-25",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

v1/availability/{propertyId}/{roomTypeId}/set POST

Sets the number of units available for a room type

Request Information

https://api.lodgify.com/v1/availability/{propertyId}/{roomTypeId}/set
URI Parameters
Name Description Type Additional information
propertyId

integer

Required

roomTypeId

integer

Required

Body Parameters

AvailabilitySetDto
Name Description Type Additional information
PeriodStart

The start date of the period

date

None.

PeriodEnd

The end date of the period

date

None.

Available

The number of available units

integer

None.

Request Formats
application/json, text/json
{
  "period_start": "2017-05-25",
  "period_end": "2017-05-25",
  "available": 3
}

Response Information

Resource Description

BookingsApi


All the booking and enquiry related operations can be found on this group. All those operations need to provide a Api key to authenticate and authorize the user.

v1/reservation GET

Returns a paged list of all the bookings and enquiries on the inbox

Request Information

https://api.lodgify.com/v1/reservation?offset={offset}&limit={limit}&status={status}&trash={trash}&propertyId={propertyId}&periodStart={periodStart}&periodEnd={periodEnd}&modifiedSince={modifiedSince}
URI Parameters
Name Description Type Additional information
offset

Pagination: number of elements you want to skip on th results.

integer

Default value is 0

limit

Pagination: number of elements per page. this value cannot be greater than 50

integer

Default value is 10

status

Filter the results to only return the Bookings/Enquiries mathing the status. Optional

string

None.

trash

Filter the results to only return the Bookings/Enquiries in the trash. Optional

boolean

Default value is False

propertyId

Filter the results to only return the Bookings/Enquiries from the specified property. Optional

integer

None.

periodStart

Filter the results to only return the Bookings/Enquiries within the period. Optional

date

None.

periodEnd

Filter the results to only return the Bookings/Enquiries within the period. Optional

date

None.

modifiedSince

Filter the results to only return the Bookings/Enquiries modified after the specified date. Optional

date

None.

Response Information

Resource Description

Paged list with the elements. It contains a List of Items, a total count of all the elements and a links to the next and previous resource pages

PagedResultOfBookingDto
Name Description Type Additional information
Items

Collection of BookingDto

None.

Total

integer

None.

Next

string

None.

Previous

string

None.

Response Formats
application/json, text/json
{
  "items": [
    {
      "id": 0,
      "type": null,
      "booking_type": null,
      "status": null,
      "source": null,
      "source_text": null,
      "guest": {
        "id": "ef468315-4027-41b0-af24-132c2ff79982",
        "country_name": null,
        "name": "John Doe",
        "email": "johndoe@lodgify.com",
        "phone": "456789123",
        "country_code": null
      },
      "arrival": "2013-03-01",
      "departure": "2013-03-15",
      "people": null,
      "property_id": 18043,
      "property_name": null,
      "rooms": [
        {
          "name": null,
          "room_type_id": 22097,
          "people": 1
        }
      ],
      "created_at": "0001-01-01T00:00:00",
      "is_replied": false,
      "updated_at": "0001-01-01T00:00:00",
      "is_deleted": false,
      "date_deleted": null,
      "total_amount": null,
      "total_paid": 0.0,
      "amount_to_pay": null,
      "currency": null
    }
  ],
  "total": 2,
  "next": "",
  "previous": ""
}

v1/reservation/booking POST

Creates a new booking with the data passed as Json

Request Information

https://api.lodgify.com/v1/reservation/booking?from={from}
URI Parameters
Name Description Type Additional information
from

Optionally you can create a Booking from a Enquiry. We call this upgrade a enquiry. You still need to send all the booking information, but doing this way, all the messages will be saved on the new booking

integer

None.

Body Parameters

Object with the data for the new Booking should be a CreateBookingDto

CreateBookingDto
Name Description Type Additional information
Source

Source of the booking. if not provided Manual is used

BookingSource

None.

SourceText

Source Text for the booking

string

None.

Arrival

Arrival date with the format yyyy-MM-dd

date

None.

Departure

Departure date with the format yyyy-MM-dd

date

None.

PropertyId

Property Identifier

integer

None.

Status

Status of the booking. If not provided Open is used

BookingStatusDto

None.

Rooms

List of rooms booked

Collection of CreateBookingRoomTypeDto

None.

Guest

Guest information

CreateBookingGuestDto

None.

Messages

List of messages attached to the booking. Optional

Collection of CreateBookingMessageDto

None.

PaymentType

Payment type asociated with the booking. Optional, default value is None

string

None.

PaymentAddress

Payment Address. Only if the Payment Type used supports it (eg. Paypal)

string

None.

IpCreated

Optional. Ip from where the booking is created. If not provided will be used the Ip from where the API is called

string

None.

Total

Total Amount for the booking, leave null to allow lodgify do his own Quote calculations. If something is passed then no calculations will be made. If a total value is defined, then a CurrencyCode should be defined.

decimal number

None.

CurrencyCode

CurrencyCode for the Total amount. If no currency code is defined then we will default the currency to the currency defined for the property rates in Lodgify rates

string

None.

Request Formats
application/json, text/json
{
  "source": 0,
  "source_text": "sample string 1",
  "arrival": "2017-05-25T17:16:52.9315143+02:00",
  "departure": "2017-05-25T17:16:52.9315143+02:00",
  "property_id": 4,
  "status": 0,
  "rooms": [
    {
      "room_type_id": 1,
      "people": 2
    },
    {
      "room_type_id": 1,
      "people": 2
    }
  ],
  "guest": {
    "name": "sample string 1",
    "email": "sample string 2",
    "phone": "sample string 3",
    "country_code": "sample string 4"
  },
  "messages": [
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    },
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    }
  ],
  "payment_type": "sample string 5",
  "payment_address": "sample string 6",
  "ip_created": "sample string 7",
  "total": 1.0,
  "currency_code": "sample string 8"
}

Response Information

Resource Description

Returns a Identifier for the newly created Booking. Also in the Location Header the url for the new object can be found

v1/reservation/booking/{id} GET

Returns the detail for a Booking

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}
URI Parameters
Name Description Type Additional information
id

Identifier of the object you want

integer

Required

Response Information

Resource Description

An object with all the data

BookingDetailsDto
Name Description Type Additional information
Note

Admin note about the booking

string

None.

Messages

List of Messages from the owner, renter and system

Collection of BookingThreadMessageDto

None.

PaymentType

Payment type for this Booking

string

None.

PaymentAddress

Payment Address for this Booking

string

None.

Id

Booking or Enquiry Identifier

integer

None.

Type

Defines if is a Booking or a Enquiry

string

None.

BookingType

Determines if this is a Booking or a Enquiry

string

None.

Status

Status of the Booking or Enquiry

string

None.

Source

Source of the booking or enquiry

string

None.

SourceText

Source text of the booking or enquiry

string

None.

Guest

Guest for this Booking/Enquiry

GuestDto

None.

Arrival

Booking/Enquiry Arrival Date. In yyyy-MM-dd format

Date

None.

Departure

Booking/Enquiry Departure Date. In yyyy-MM-dd format

Date

None.

People

The number of people (if any) the booking or enquiry references

integer

None.

PropertyId

The property Identifier (if any) the booking or enquiry references

integer

None.

PropertyName

The property Name (if any) the booking or enquiry references

string

None.

Rooms

The list of rooms (if any) the booking or enquiry references

Collection of BookingRoomTypeDto

None.

CreatedAt

Booking / Enquiry creation Datetime

date

None.

IsReplied

bool value indicating if the booking/enquiry has been replied to the renter

boolean

None.

UpdatedAt

Last update datetime

date

None.

IsDeleted

Boolean indicating if the booking/enquiry is deleted and stored in the trash

boolean

None.

DateDeleted

If is a deleted booking/enquiry then the datetime of deletion, null otherwise

date

None.

TotalAmount

Total amount of the booking/enquiry

decimal number

None.

TotalPaid

Total amount paid for the booking/enquiry

decimal number

None.

AmountToPay

Amount to pay for the booking/enquiry

decimal number

None.

Currency

Currency used for the amounts

CurrencyDto

None.

Response Formats
application/json, text/json
{
  "id": 4,
  "type": "sample string 5",
  "booking_type": "sample string 6",
  "status": "sample string 7",
  "source": "sample string 8",
  "source_text": "sample string 9",
  "guest": {
    "id": "sample string 1",
    "country_name": "sample string 2",
    "name": "sample string 3",
    "email": "sample string 4",
    "phone": "sample string 5",
    "country_code": "sample string 6"
  },
  "arrival": "0001-01-01",
  "departure": "0001-01-01",
  "people": 1,
  "property_id": 1,
  "property_name": "sample string 10",
  "rooms": [
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    },
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    }
  ],
  "created_at": "2017-05-25T17:16:52.9647186+02:00",
  "is_replied": true,
  "updated_at": "2017-05-25T17:16:52.9647186+02:00",
  "is_deleted": true,
  "date_deleted": "2017-05-25T17:16:52.9656985+02:00",
  "total_amount": 1.0,
  "total_paid": 15.0,
  "amount_to_pay": 1.0,
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  },
  "note": "sample string 1",
  "messages": [
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:52.9627636+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:52.9627636+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3"
}

v1/reservation/booking/{id} PUT

Updates a given Booking with the object passed

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}
URI Parameters
Name Description Type Additional information
id

Booking identifier

integer

Required

Body Parameters

Object from wich we will update the booking. Note that not all the values will be updated

BookingDetailsDto
Name Description Type Additional information
Note

Admin note about the booking

string

None.

Messages

List of Messages from the owner, renter and system

Collection of BookingThreadMessageDto

None.

PaymentType

Payment type for this Booking

string

None.

PaymentAddress

Payment Address for this Booking

string

None.

Id

Booking or Enquiry Identifier

integer

None.

Type

Defines if is a Booking or a Enquiry

string

None.

BookingType

Determines if this is a Booking or a Enquiry

string

None.

Status

Status of the Booking or Enquiry

string

None.

Source

Source of the booking or enquiry

string

None.

SourceText

Source text of the booking or enquiry

string

None.

Guest

Guest for this Booking/Enquiry

GuestDto

None.

Arrival

Booking/Enquiry Arrival Date. In yyyy-MM-dd format

Date

None.

Departure

Booking/Enquiry Departure Date. In yyyy-MM-dd format

Date

None.

People

The number of people (if any) the booking or enquiry references

integer

None.

PropertyId

The property Identifier (if any) the booking or enquiry references

integer

None.

PropertyName

The property Name (if any) the booking or enquiry references

string

None.

Rooms

The list of rooms (if any) the booking or enquiry references

Collection of BookingRoomTypeDto

None.

CreatedAt

Booking / Enquiry creation Datetime

date

None.

IsReplied

bool value indicating if the booking/enquiry has been replied to the renter

boolean

None.

UpdatedAt

Last update datetime

date

None.

IsDeleted

Boolean indicating if the booking/enquiry is deleted and stored in the trash

boolean

None.

DateDeleted

If is a deleted booking/enquiry then the datetime of deletion, null otherwise

date

None.

TotalAmount

Total amount of the booking/enquiry

decimal number

None.

TotalPaid

Total amount paid for the booking/enquiry

decimal number

None.

AmountToPay

Amount to pay for the booking/enquiry

decimal number

None.

Currency

Currency used for the amounts

CurrencyDto

None.

Request Formats
application/json, text/json
{
  "id": 4,
  "type": "sample string 5",
  "booking_type": "sample string 6",
  "status": "sample string 7",
  "source": "sample string 8",
  "source_text": "sample string 9",
  "guest": {
    "id": "sample string 1",
    "country_name": "sample string 2",
    "name": "sample string 3",
    "email": "sample string 4",
    "phone": "sample string 5",
    "country_code": "sample string 6"
  },
  "arrival": "0001-01-01",
  "departure": "0001-01-01",
  "people": 1,
  "property_id": 1,
  "property_name": "sample string 10",
  "rooms": [
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    },
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    }
  ],
  "created_at": "2017-05-25T17:16:52.9979216+02:00",
  "is_replied": true,
  "updated_at": "2017-05-25T17:16:52.9979216+02:00",
  "is_deleted": true,
  "date_deleted": "2017-05-25T17:16:52.9979216+02:00",
  "total_amount": 1.0,
  "total_paid": 15.0,
  "amount_to_pay": 1.0,
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  },
  "note": "sample string 1",
  "messages": [
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:52.9979216+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:52.9979216+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3"
}

Response Information

Resource Description

A OK 200 if the update has been succesful

v1/reservation/booking/{id} DELETE

Remove a Booking or Enquiry, sending them to the trash, and making them recoverable

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}
URI Parameters
Name Description Type Additional information
id

Identifier of the bookoing or enquiry

integer

Required

Response Information

Resource Description

A OK 200 if the deletion has been succesful

v1/reservation/booking/{id}/book PUT

Changes the status of a booking to Booked and updating the availability calendar

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/book?requestPayment={requestPayment}
URI Parameters
Name Description Type Additional information
id

Booking identifier

integer

Required

requestPayment

boolean

Default value is False

Response Information

Resource Description

A 200 OK result

v1/reservation/booking/{id}/decline PUT

Declines a Booking changing the status to Declined

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/decline
URI Parameters
Name Description Type Additional information
id

Booking identifier

integer

Required

Response Information

Resource Description

A 200 OK result

v1/reservation/booking/{id}/messages POST

Adds one or more messages for a Booking

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/messages
URI Parameters
Name Description Type Additional information
id

Identifier of the booking

integer

Required

Body Parameters

List of messages to be added

Collection of CreateBookingMessageDto
Name Description Type Additional information
Subject

Subject of the Booking/enquiry message

string

None.

Message

Content of the message

string

None.

Type

Type of the message. Only valid values are Owner, Renter, Comment. The other are only for internal use

BookingThreadMessageType

None.

Request Formats
application/json, text/json
[
  {
    "subject": "Subject",
    "message": "Message",
    "type": 1
  }
]

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/booking/{id}/not_replied PUT

Marks a Booking as not replied

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/not_replied
URI Parameters
Name Description Type Additional information
id

Identifier of the bookong

integer

Required

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/booking/{id}/recover PUT

Recovers a Booking from the trash

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/recover
URI Parameters
Name Description Type Additional information
id

Identifier of the booking

integer

Required

Response Information

Resource Description

A OK 200 if the recovering has been succesful

v1/reservation/booking/{id}/reopen PUT

Reopens a Booking changing the status to Open and making the room available again if the booking was on Booked

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/reopen
URI Parameters
Name Description Type Additional information
id

Booking identifier

integer

Required

Response Information

Resource Description

A 200 OK result

v1/reservation/booking/{id}/replied PUT

Marks a Booking as replied

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/replied
URI Parameters
Name Description Type Additional information
id

Identifier of the booking

integer

Required

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/booking/{id}/request_payment PUT

Request a payment for the given booking. It will send an email to the renter asking to pay the AmountToPay

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/request_payment
URI Parameters
Name Description Type Additional information
id

Booking Identifier

integer

Required

Response Information

Resource Description

A 200 OK result

v1/reservation/booking/{id}/tentative PUT

Changes the status of a booking to Tentative

Request Information

https://api.lodgify.com/v1/reservation/booking/{id}/tentative?requestPayment={requestPayment}
URI Parameters
Name Description Type Additional information
id

Booking identifier

integer

Required

requestPayment

boolean

Default value is False

Response Information

Resource Description

A 200 OK result

v1/reservation/callmeback POST

Creates a new CallMeBack Request. A call me back creates and enquiry and also sends an email to the property / account owner with an appointment to call the client back at some concrete date/hour

Request Information

https://api.lodgify.com/v1/reservation/callmeback
Body Parameters

Object with the data for the new Booking Enquiry

CreateCallMeDto
Name Description Type Additional information
Date

Date for the Appointment of the callme back. In yyyy-MM-dd format

date

None.

TimeZoneInfoId

TimeZoneInfo Identifier

string

None.

Time

0-23 integer indicating the hour of the appointment

integer

None.

Notes

Additional notes for the Call me back request

string

None.

Language

string

None.

Source

Source of the enquiry. Default value is Domegos

BookingEnquirySource

None.

SourceText

Source Text of the enquiry

string

None.

SourceAddress

If the Enquiry is created from email, here will be the sender email Address

string

None.

Arrival

Arrival Datetime. Optional. If provided must be in yyyy-MM-dd format

date

None.

Departure

Departure Datetime. Optional. If provided must be in yyyy-MM-dd format

date

None.

People

Number of people of the Enquiry. Optional

integer

None.

PropertyId

Property identifier. Optional

integer

None.

RoomTypeId

RoomType identifier. Optional

integer

None.

Guest

Guest information

CreateBookingGuestDto

None.

Messages

List of the messages attached to the enquiry

Collection of CreateBookingMessageDto

None.

Status

Status of the Enquiry

string

None.

IpCreated

Optional. Ip from where the booking is created. If not provided will be used the Ip from where the API is called

string

None.

Request Formats
application/json, text/json
{
  "date": "2017-05-25T17:16:53.0223378+02:00",
  "time_zone_info_id": "sample string 2",
  "time": 3,
  "notes": "sample string 4",
  "language": "sample string 5",
  "source": 0,
  "source_text": "sample string 6",
  "source_address": "sample string 7",
  "arrival": "2017-05-25T17:16:53.0233186+02:00",
  "departure": "2017-05-25T17:16:53.0233186+02:00",
  "people": 1,
  "property_id": 1,
  "room_type_id": 1,
  "guest": {
    "name": "sample string 1",
    "email": "sample string 2",
    "phone": "sample string 3",
    "country_code": "sample string 4"
  },
  "messages": [
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    },
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    }
  ],
  "status": "sample string 8",
  "ip_created": "sample string 9"
}

Response Information

Resource Description

Returns a Identifier for the newly created Enquiry. Also in the Location Header the url for the new object can be found

v1/reservation/delete POST

Performs a batch deletion, removing and sending to trash a collection of bookings and enquiries

Request Information

https://api.lodgify.com/v1/reservation/delete
Body Parameters

Collection of identifiers and types that will allow to identify a Booking or Enquiry

Collection of BatchBookingDto
Name Description Type Additional information
Id

Booking or Enquiry identifier

integer

None.

Type

Type of the object (Booking or Enquiry)

string

None.

Request Formats
application/json, text/json
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response Information

Resource Description

A 200 OK result

v1/reservation/enquiry POST

Creates a new enquiry with the data passed as Json

Request Information

https://api.lodgify.com/v1/reservation/enquiry
Body Parameters

Object with the data for the new Booking Enquiry

CreateEnquiryDto
Name Description Type Additional information
Source

Source of the enquiry. Default value is Domegos

BookingEnquirySource

None.

SourceText

Source Text of the enquiry

string

None.

SourceAddress

If the Enquiry is created from email, here will be the sender email Address

string

None.

Arrival

Arrival Datetime. Optional. If provided must be in yyyy-MM-dd format

date

None.

Departure

Departure Datetime. Optional. If provided must be in yyyy-MM-dd format

date

None.

People

Number of people of the Enquiry. Optional

integer

None.

PropertyId

Property identifier. Optional

integer

None.

RoomTypeId

RoomType identifier. Optional

integer

None.

Guest

Guest information

CreateBookingGuestDto

None.

Messages

List of the messages attached to the enquiry

Collection of CreateBookingMessageDto

None.

Status

Status of the Enquiry

string

None.

IpCreated

Optional. Ip from where the booking is created. If not provided will be used the Ip from where the API is called

string

None.

Request Formats
application/json, text/json
{
  "source": 0,
  "source_text": "sample string 1",
  "source_address": "sample string 2",
  "arrival": "2017-05-25T17:16:53.121949+02:00",
  "departure": "2017-05-25T17:16:53.121949+02:00",
  "people": 1,
  "property_id": 1,
  "room_type_id": 1,
  "guest": {
    "name": "sample string 1",
    "email": "sample string 2",
    "phone": "sample string 3",
    "country_code": "sample string 4"
  },
  "messages": [
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    },
    {
      "subject": "sample string 1",
      "message": "sample string 2",
      "type": 0
    }
  ],
  "status": "sample string 3",
  "ip_created": "sample string 4"
}

Response Information

Resource Description

Returns a Identifier for the newly created Enquiry. Also in the Location Header the url for the new object can be found

v1/reservation/enquiry/{id} GET

Returns the detail for a enquiry

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}
URI Parameters
Name Description Type Additional information
id

Identifier of the object you want

integer

Required

Response Information

Resource Description

An object with all the data

BookingDetailsDto
Name Description Type Additional information
Note

Admin note about the booking

string

None.

Messages

List of Messages from the owner, renter and system

Collection of BookingThreadMessageDto

None.

PaymentType

Payment type for this Booking

string

None.

PaymentAddress

Payment Address for this Booking

string

None.

Id

Booking or Enquiry Identifier

integer

None.

Type

Defines if is a Booking or a Enquiry

string

None.

BookingType

Determines if this is a Booking or a Enquiry

string

None.

Status

Status of the Booking or Enquiry

string

None.

Source

Source of the booking or enquiry

string

None.

SourceText

Source text of the booking or enquiry

string

None.

Guest

Guest for this Booking/Enquiry

GuestDto

None.

Arrival

Booking/Enquiry Arrival Date. In yyyy-MM-dd format

Date

None.

Departure

Booking/Enquiry Departure Date. In yyyy-MM-dd format

Date

None.

People

The number of people (if any) the booking or enquiry references

integer

None.

PropertyId

The property Identifier (if any) the booking or enquiry references

integer

None.

PropertyName

The property Name (if any) the booking or enquiry references

string

None.

Rooms

The list of rooms (if any) the booking or enquiry references

Collection of BookingRoomTypeDto

None.

CreatedAt

Booking / Enquiry creation Datetime

date

None.

IsReplied

bool value indicating if the booking/enquiry has been replied to the renter

boolean

None.

UpdatedAt

Last update datetime

date

None.

IsDeleted

Boolean indicating if the booking/enquiry is deleted and stored in the trash

boolean

None.

DateDeleted

If is a deleted booking/enquiry then the datetime of deletion, null otherwise

date

None.

TotalAmount

Total amount of the booking/enquiry

decimal number

None.

TotalPaid

Total amount paid for the booking/enquiry

decimal number

None.

AmountToPay

Amount to pay for the booking/enquiry

decimal number

None.

Currency

Currency used for the amounts

CurrencyDto

None.

Response Formats
application/json, text/json
{
  "id": 4,
  "type": "sample string 5",
  "booking_type": "sample string 6",
  "status": "sample string 7",
  "source": "sample string 8",
  "source_text": "sample string 9",
  "guest": {
    "id": "sample string 1",
    "country_name": "sample string 2",
    "name": "sample string 3",
    "email": "sample string 4",
    "phone": "sample string 5",
    "country_code": "sample string 6"
  },
  "arrival": "0001-01-01",
  "departure": "0001-01-01",
  "people": 1,
  "property_id": 1,
  "property_name": "sample string 10",
  "rooms": [
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    },
    {
      "name": "sample string 1",
      "room_type_id": 2,
      "people": 3
    }
  ],
  "created_at": "2017-05-25T17:16:53.1337023+02:00",
  "is_replied": true,
  "updated_at": "2017-05-25T17:16:53.1337023+02:00",
  "is_deleted": true,
  "date_deleted": "2017-05-25T17:16:53.1337023+02:00",
  "total_amount": 1.0,
  "total_paid": 15.0,
  "amount_to_pay": 1.0,
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  },
  "note": "sample string 1",
  "messages": [
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:53.1327375+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2017-05-25T17:16:53.1327375+02:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3"
}

v1/reservation/enquiry/{id} DELETE

Remove a Enquiry, sending them to the trash, and making them recoverable

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}
URI Parameters
Name Description Type Additional information
id

Identifier of the enquiry

integer

Required

Response Information

Resource Description

A OK 200 if the deletion has been succesful

v1/reservation/enquiry/{id}/decline PUT

Declines a enquiry

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/decline
URI Parameters
Name Description Type Additional information
id

Enquiry identifier

integer

Required

Response Information

Resource Description

A 200 OK result

v1/reservation/enquiry/{id}/messages POST

Adds one or more messages for a enquiry

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/messages
URI Parameters
Name Description Type Additional information
id

Identifier of the enquiry

integer

Required

Body Parameters

List of messages to be added

Collection of CreateBookingMessageDto
Name Description Type Additional information
Subject

Subject of the Booking/enquiry message

string

None.

Message

Content of the message

string

None.

Type

Type of the message. Only valid values are Owner, Renter, Comment. The other are only for internal use

BookingThreadMessageType

None.

Request Formats
application/json, text/json
[
  {
    "subject": "Subject",
    "message": "Message",
    "type": 1
  }
]

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/enquiry/{id}/not_replied PUT

Marks a Enquiry as not replied

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/not_replied
URI Parameters
Name Description Type Additional information
id

Identifier of the enquiry

integer

Required

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/enquiry/{id}/recover PUT

Recovers a Enquiry from the trash

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/recover
URI Parameters
Name Description Type Additional information
id

Identifier of the enquiry

integer

Required

Response Information

Resource Description

A OK 200 if the recovering has been succesful

v1/reservation/enquiry/{id}/reopen PUT

Reopens a enquiry

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/reopen
URI Parameters
Name Description Type Additional information
id

Enquiry identifier

integer

Required

Response Information

Resource Description

A 200 OK result

v1/reservation/enquiry/{id}/replied PUT

Marks a Enquiry as replied

Request Information

https://api.lodgify.com/v1/reservation/enquiry/{id}/replied
URI Parameters
Name Description Type Additional information
id

Identifier of the enquiry

integer

Required

Response Information

Resource Description

A OK 200 if the marking has been succesful

v1/reservation/not_read GET

Gets the number of non readed Booking/Enquiry messages

Request Information

https://api.lodgify.com/v1/reservation/not_read

Response Information

Resource Description

Integer

integer
Response Formats
application/json, text/json
1

v1/reservation/not_replied POST

Performs a batch mark as not replied, marking as not replied a collection of bookings and enquiries

Request Information

https://api.lodgify.com/v1/reservation/not_replied
Body Parameters

Collection of identifiers and types that will allow to identify a Booking or Enquiry

Collection of BatchBookingDto
Name Description Type Additional information
Id

Booking or Enquiry identifier

integer

None.

Type

Type of the object (Booking or Enquiry)

string

None.

Request Formats
application/json, text/json
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response Information

Resource Description

A 200 OK result

v1/reservation/replied POST

Performs a batch mark as replied, marking as replied a collection of bookings and enquiries

Request Information

https://api.lodgify.com/v1/reservation/replied
Body Parameters

Collection of identifiers and types that will allow to identify a Booking or Enquiry

Collection of BatchBookingDto
Name Description Type Additional information
Id

Booking or Enquiry identifier

integer

None.

Type

Type of the object (Booking or Enquiry)

string

None.

Request Formats
application/json, text/json
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response Information

Resource Description

A 200 OK result

ChannelApi


Channel specific operations. You need to have a channel API key to use this api calls

v1/channel/rates GET

Gets the list of HouseRates modified since the date passed, for the user the channel is impersonating

Request Information

https://api.lodgify.com/v1/channel/rates?modifiedSince={modifiedSince}
URI Parameters
Name Description Type Additional information
modifiedSince

date

None.

Response Information

Resource Description

Collection of PropertyRatesDto
Name Description Type Additional information
PropertyId

property Identifier

integer

None.

Settings

Rate settings

RateSettingsDto

None.

DefaultRate

Default rate applied for this property

RateDto

None.

SeasonRates

Season rates for this property

Collection of RateDto

None.

ModifiedDate

DateTime of the last time rates were modified

date

None.

Response Formats
application/json, text/json
[
  {
    "property_id": 1,
    "settings": {
      "currency_code": "sample string 1",
      "check_in": 1,
      "check_out": 1,
      "reservation_deposit": 1.0,
      "reservation_deposit_percentage": 1.0,
      "security_deposit": 1.0,
      "security_deposit_percentage": 1.0,
      "give_best_price": true
    },
    "default_rate": {
      "id": 1,
      "name": "sample string 2",
      "checkout_allowed_days": {},
      "checkin_allowed_days": {},
      "custom_days_rate": 1,
      "min_stay": 1,
      "room_rates": [
        {
          "room_id": 1,
          "daily_price": 1.0,
          "monday_price": 1.0,
          "tuesday_price": 1.0,
          "wednesday_price": 1.0,
          "thursday_price": 1.0,
          "friday_price": 1.0,
          "saturday_price": 1.0,
          "sunday_price": 1.0,
          "weekly_price": 1.0,
          "monthly_price": 1.0,
          "custom_price": 1.0,
          "min_stay_days": 2,
          "charge_per_person_from": 1,
          "charge_per_person_value": 1.0,
          "charge_short_stay_days": 1,
          "charge_short_stay_value": 1.0,
          "charges": [
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            },
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            }
          ]
        },
        {
          "room_id": 1,
          "daily_price": 1.0,
          "monday_price": 1.0,
          "tuesday_price": 1.0,
          "wednesday_price": 1.0,
          "thursday_price": 1.0,
          "friday_price": 1.0,
          "saturday_price": 1.0,
          "sunday_price": 1.0,
          "weekly_price": 1.0,
          "monthly_price": 1.0,
          "custom_price": 1.0,
          "min_stay_days": 2,
          "charge_per_person_from": 1,
          "charge_per_person_value": 1.0,
          "charge_short_stay_days": 1,
          "charge_short_stay_value": 1.0,
          "charges": [
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            },
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            }
          ]
        }
      ],
      "periods": [
        {
          "start": "2017-05-25",
          "end": "2017-05-25"
        },
        {
          "start": "2017-05-25",
          "end": "2017-05-25"
        }
      ]
    },
    "season_rates": [
      {
        "id": 1,
        "name": "sample string 2",
        "checkout_allowed_days": {},
        "checkin_allowed_days": {},
        "custom_days_rate": 1,
        "min_stay": 1,
        "room_rates": [
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          },
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          }
        ],
        "periods": [
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          },
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          }
        ]
      },
      {
        "id": 1,
        "name": "sample string 2",
        "checkout_allowed_days": {},
        "checkin_allowed_days": {},
        "custom_days_rate": 1,
        "min_stay": 1,
        "room_rates": [
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          },
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          }
        ],
        "periods": [
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          },
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          }
        ]
      }
    ],
    "modified_date": "2017-05-25T17:16:53.1834857+02:00"
  },
  {
    "property_id": 1,
    "settings": {
      "currency_code": "sample string 1",
      "check_in": 1,
      "check_out": 1,
      "reservation_deposit": 1.0,
      "reservation_deposit_percentage": 1.0,
      "security_deposit": 1.0,
      "security_deposit_percentage": 1.0,
      "give_best_price": true
    },
    "default_rate": {
      "id": 1,
      "name": "sample string 2",
      "checkout_allowed_days": {},
      "checkin_allowed_days": {},
      "custom_days_rate": 1,
      "min_stay": 1,
      "room_rates": [
        {
          "room_id": 1,
          "daily_price": 1.0,
          "monday_price": 1.0,
          "tuesday_price": 1.0,
          "wednesday_price": 1.0,
          "thursday_price": 1.0,
          "friday_price": 1.0,
          "saturday_price": 1.0,
          "sunday_price": 1.0,
          "weekly_price": 1.0,
          "monthly_price": 1.0,
          "custom_price": 1.0,
          "min_stay_days": 2,
          "charge_per_person_from": 1,
          "charge_per_person_value": 1.0,
          "charge_short_stay_days": 1,
          "charge_short_stay_value": 1.0,
          "charges": [
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            },
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            }
          ]
        },
        {
          "room_id": 1,
          "daily_price": 1.0,
          "monday_price": 1.0,
          "tuesday_price": 1.0,
          "wednesday_price": 1.0,
          "thursday_price": 1.0,
          "friday_price": 1.0,
          "saturday_price": 1.0,
          "sunday_price": 1.0,
          "weekly_price": 1.0,
          "monthly_price": 1.0,
          "custom_price": 1.0,
          "min_stay_days": 2,
          "charge_per_person_from": 1,
          "charge_per_person_value": 1.0,
          "charge_short_stay_days": 1,
          "charge_short_stay_value": 1.0,
          "charges": [
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            },
            {
              "type": "sample string 1",
              "name": "sample string 2",
              "value": 3.0,
              "charge_type": "sample string 4",
              "rate_type": "sample string 5",
              "frequency": "sample string 6",
              "tax_percentage": 1.0
            }
          ]
        }
      ],
      "periods": [
        {
          "start": "2017-05-25",
          "end": "2017-05-25"
        },
        {
          "start": "2017-05-25",
          "end": "2017-05-25"
        }
      ]
    },
    "season_rates": [
      {
        "id": 1,
        "name": "sample string 2",
        "checkout_allowed_days": {},
        "checkin_allowed_days": {},
        "custom_days_rate": 1,
        "min_stay": 1,
        "room_rates": [
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          },
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          }
        ],
        "periods": [
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          },
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          }
        ]
      },
      {
        "id": 1,
        "name": "sample string 2",
        "checkout_allowed_days": {},
        "checkin_allowed_days": {},
        "custom_days_rate": 1,
        "min_stay": 1,
        "room_rates": [
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          },
          {
            "room_id": 1,
            "daily_price": 1.0,
            "monday_price": 1.0,
            "tuesday_price": 1.0,
            "wednesday_price": 1.0,
            "thursday_price": 1.0,
            "friday_price": 1.0,
            "saturday_price": 1.0,
            "sunday_price": 1.0,
            "weekly_price": 1.0,
            "monthly_price": 1.0,
            "custom_price": 1.0,
            "min_stay_days": 2,
            "charge_per_person_from": 1,
            "charge_per_person_value": 1.0,
            "charge_short_stay_days": 1,
            "charge_short_stay_value": 1.0,
            "charges": [
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              },
              {
                "type": "sample string 1",
                "name": "sample string 2",
                "value": 3.0,
                "charge_type": "sample string 4",
                "rate_type": "sample string 5",
                "frequency": "sample string 6",
                "tax_percentage": 1.0
              }
            ]
          }
        ],
        "periods": [
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          },
          {
            "start": "2017-05-25",
            "end": "2017-05-25"
          }
        ]
      }
    ],
    "modified_date": "2017-05-25T17:16:53.1834857+02:00"
  }
]

v1/channel/xml GET

Gets the Channel Xml file for all the users with this channel enabled or empty string if not exists

Request Information

https://api.lodgify.com/v1/channel/xml

Response Information

Resource Description

HttpResponseMessage
Name Description Type Additional information
Version

Version

None.

Content

HttpContent

None.

StatusCode

HttpStatusCode

None.

ReasonPhrase

string

None.

Headers

Collection of Object

None.

RequestMessage

HttpRequestMessage

None.

IsSuccessStatusCode

boolean

None.

CountriesApi


Offers operations with countries available in Lodgify

v1/countries GET

Returns a list of all the available countries

Request Information

https://api.lodgify.com/v1/countries

Response Information

Resource Description

A list of objects representing a country

Collection of CountryDto
Name Description Type Additional information
Code

Country Code

string

None.

Name

Country Name

string

None.

Response Formats
application/json, text/json
[
  {
    "code": "AF",
    "name": "Afghanistan"
  },
  {
    "code": "AX",
    "name": "Aland Islands"
  }
]

v1/countries/{code} GET

Returns a country by given his code

Request Information

https://api.lodgify.com/v1/countries/{code}
URI Parameters
Name Description Type Additional information
code

Code of the country you want to obtain

string

Required

Response Information

Resource Description

A representation of the country

CountryDto
Name Description Type Additional information
Code

Country Code

string

None.

Name

Country Name

string

None.

Response Formats
application/json, text/json
{
  "code": "AL",
  "name": "Albania"
}

CurrenciesApi


Offers operations to work with currencies

v1/currencies GET

Returns a list of available currencies in Lodgify

Request Information

https://api.lodgify.com/v1/currencies

Response Information

Resource Description

A list of Currencies with name, code, symbol and currency exchange values for Euro

Collection of CurrencyDto
Name Description Type Additional information
Id

Currency identifier

integer

None.

Code

Currency code

string

None.

Name

Currency Name

string

None.

EuroForex

Exchange rate between currency and Euro

decimal number

None.

Symbol

Currency symbol

string

None.

Response Formats
application/json, text/json
[
  {
    "id": 0,
    "code": "EUR",
    "name": "Euro",
    "euro_forex": 1.0,
    "symbol": "€"
  },
  {
    "id": 0,
    "code": "USD",
    "name": "US dollar",
    "euro_forex": 1.32,
    "symbol": "$"
  }
]

v1/currencies/{code} GET

Returns the currency with the given code

Request Information

https://api.lodgify.com/v1/currencies/{code}
URI Parameters
Name Description Type Additional information
code

Code of the currency you want

string

Required

Response Information

Resource Description

An object with name, code, symbol and currency exchange values for Euro

CurrencyDto
Name Description Type Additional information
Id

Currency identifier

integer

None.

Code

Currency code

string

None.

Name

Currency Name

string

None.

EuroForex

Exchange rate between currency and Euro

decimal number

None.

Symbol

Currency symbol

string

None.

Response Formats
application/json, text/json
{
  "id": 0,
  "code": "EUR",
  "name": "Euro",
  "euro_forex": 1.0,
  "symbol": "€"
}

FacebookApi


All possible Facebook actions

v1/fb/booking/{bookingId} GET

Get facebook application id and connected facebook page id

Request Information

https://api.lodgify.com/v1/fb/booking/{bookingId}

Response Information

Resource Description

Object

None.

Response Formats
application/json, text/json
{}

HouseApi


sensei/v1/house/SetCityForHouse POST

Request Information

https://api.lodgify.com/sensei/v1/house/SetCityForHouse
Body Parameters

HouseCityBindingModel
Name Description Type Additional information
HouseId

integer

None.

PlaceId

string

None.

Request Formats
application/json, text/json
{
  "house_id": 1,
  "place_id": "sample string 2"
}

Response Information

Resource Description

HouseCityResultModel
Name Description Type Additional information
Success

boolean

None.

Response Formats
application/json, text/json

Sample not available.

PropertiesApi


Resource for all the Houses operations

v1/properties/{id} GET

Get the basic info for a given house/property

Request Information

https://api.lodgify.com/v1/properties/{id}?maxDate={maxDate}
URI Parameters
Name Description Type Additional information
id

Property identifier

integer

Required

maxDate

date

None.

Response Information

Resource Description

Object containing basic property information

PropertyDto
Name Description Type Additional information
Id

property identifier

integer

None.

Name

Name of the property

string

None.

Address

Address of the property

string

None.

Zip

Zip code for the property

string

None.

City

City name where the property is located

string

None.

Country

Country name where the property is located

string

None.

ImageUrl

Image Url

string

None.

HasAddons

Boolean indicating if the property has available addons

boolean

None.

HasAgreement

boolean

None.

AgreementText

string

None.

AgreementUrl

string

None.

Owner

PropertyOwnerDto

None.

Rating

decimal number

None.

PriceUnitInDays

Price unit in days. This field indicates the number of days of stay the MinPrice and MaxPrice are So if we have a 30 PriceUnitInDays, it means the MinPrice and MaxPrice are Monthly prices If multiple prices per diferent periods are defined it will return daily prices

integer

None.

MinPrice

decimal number

None.

OriginalMinPrice

decimal number

None.

MaxPrice

decimal number

None.

OriginalMaxPrice

decimal number

None.

Rooms

Collection of RoomDto

None.

InOutMaxDate

date

None.

InOut

SearchInOutDto

None.

Currency

CurrencyDto

None.

Response Formats
application/json, text/json
{
  "id": 1,
  "name": "sample string 2",
  "address": "sample string 3",
  "zip": "sample string 4",
  "city": "sample string 5",
  "country": "sample string 6",
  "image_url": "sample string 7",
  "has_addons": true,
  "has_agreement": true,
  "agreement_text": "sample string 10",
  "agreement_url": "sample string 11",
  "owner": {
    "spoken_languages": [
      "sample string 1",
      "sample string 2"
    ]
  },
  "rating": 12.0,
  "price_unit_in_days": 13,
  "min_price": 14.0,
  "original_min_price": 15.0,
  "max_price": 16.0,
  "original_max_price": 17.0,
  "rooms": [
    {
      "id": 1,
      "name": "sample string 2",
      "image_url": "sample string 3",
      "max_people": 4,
      "units": 5,
      "has_wifi": true,
      "bedrooms": 7,
      "area_unit": "sample string 8",
      "area": 9.0,
      "min_price": 10.0,
      "original_min_price": 11.0,
      "max_price": 12.0,
      "original_max_price": 13.0,
      "price_unit_in_days": 14
    },
    {
      "id": 1,
      "name": "sample string 2",
      "image_url": "sample string 3",
      "max_people": 4,
      "units": 5,
      "has_wifi": true,
      "bedrooms": 7,
      "area_unit": "sample string 8",
      "area": 9.0,
      "min_price": 10.0,
      "original_min_price": 11.0,
      "max_price": 12.0,
      "original_max_price": 13.0,
      "price_unit_in_days": 14
    }
  ],
  "in_out_max_date": "2017-05-25",
  "in_out": {
    "is_restricted": true,
    "check_in": [
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      },
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      }
    ],
    "check_out": [
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      },
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      }
    ],
    "not_available": [
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      },
      {
        "date": "2017-05-25",
        "for": "sample string 2"
      }
    ]
  },
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  }
}

v1/properties/{id}/payments GET

Returns a list of available payments for a given House. This payment types are useful when creating bookings

Request Information

https://api.lodgify.com/v1/properties/{id}/payments
URI Parameters
Name Description Type Additional information
id

House identifier

integer

Required

Response Information

Resource Description

A list of the available payment types for the house

Collection of PaymentSettingsDto
Name Description Type Additional information
Id

integer

None.

PaymentAddress

string

None.

PaymentType

string

None.

Response Formats
application/json, text/json
[
  {
    "id": 1,
    "payment_address": "sample string 1",
    "payment_type": "sample string 2"
  },
  {
    "id": 1,
    "payment_address": "sample string 1",
    "payment_type": "sample string 2"
  }
]

v1/properties/{pid}/rates/addons GET

Returns a list of available addons for the given property. If additional parameters are specified, then it'll return only those that are valid

Request Information

https://api.lodgify.com/v1/properties/{pid}/rates/addons?start={start}&end={end}&rid={rid}
URI Parameters
Name Description Type Additional information
pid

Property Id

integer

Required

start

Optional, if provided (and paired with a end date) it will return the addons available in those dates

date

None.

end

Optional, end date

date

None.

rid

Optional, Room identifier. if provided it will return only the addons available for that room

integer

None.

Response Information

Resource Description

Object

None.

Response Formats
application/json, text/json
{}

v1/properties/{pid}/rooms/{rid} GET

Returns details for a given room in a property

Request Information

https://api.lodgify.com/v1/properties/{pid}/rooms/{rid}?wid={wid}
URI Parameters
Name Description Type Additional information
pid

Property Id

integer

Required

rid

Room Id

integer

Required

wid

Optional, if provided it will return any localized text as if it was for the given website. So any Resource override done in that website will be returned instead the default translation

integer

None.

Response Information

Resource Description

Details for the room

RoomDetailsDto
Name Description Type Additional information
Images

Collection of DescribedImageDto

None.

Amenities

Dictionary of string [key] and Collection of AmenityDto [value]

None.

Id

integer

None.

Name

string

None.

ImageUrl

string

None.

MaxPeople

integer

None.

Units

integer

None.

HasWifi

boolean

None.

Bedrooms

integer

None.

AreaUnit

string

None.

Area

decimal number

None.

MinPrice

decimal number

None.

OriginalMinPrice

decimal number

None.

MaxPrice

decimal number

None.

OriginalMaxPrice

decimal number

None.

PriceUnitInDays

integer

None.

Response Formats
application/json, text/json
{
  "images": [
    {
      "text": "sample string 1",
      "url": "sample string 2"
    },
    {
      "text": "sample string 1",
      "url": "sample string 2"
    }
  ],
  "amenities": {
    "sample string 1": [
      {
        "name": "sample string 1",
        "prefix": "sample string 2",
        "bracket": "sample string 3",
        "text": "sample string 4"
      },
      {
        "name": "sample string 1",
        "prefix": "sample string 2",
        "bracket": "sample string 3",
        "text": "sample string 4"
      }
    ],
    "sample string 2": [
      {
        "name": "sample string 1",
        "prefix": "sample string 2",
        "bracket": "sample string 3",
        "text": "sample string 4"
      },
      {
        "name": "sample string 1",
        "prefix": "sample string 2",
        "bracket": "sample string 3",
        "text": "sample string 4"
      }
    ]
  },
  "id": 1,
  "name": "sample string 2",
  "image_url": "sample string 3",
  "max_people": 4,
  "units": 5,
  "has_wifi": true,
  "bedrooms": 7,
  "area_unit": "sample string 8",
  "area": 9.0,
  "min_price": 10.0,
  "original_min_price": 11.0,
  "max_price": 12.0,
  "original_max_price": 13.0,
  "price_unit_in_days": 14
}

QuoteApi


Obtain detailed quotes for a stay. An Api key is required for authentication and authorization.

v1/quote/{propertyId} GET

Obtain a quote

Request Information

https://api.lodgify.com/v1/quote/{propertyId}?arrival={arrival}&departure={departure}&roomTypes[0].Id={roomTypes[0].Id}&roomTypes[0].People={roomTypes[0].People}&roomTypes[1].Id={roomTypes[1].Id}&roomTypes[1].People={roomTypes[1].People}&addOns[0].Id={addOns[0].Id}&addOns[0].Units={addOns[0].Units}&addOns[1].Id={addOns[1].Id}&addOns[1].Units={addOns[1].Units}&promotionCode={promotionCode}
URI Parameters
Name Description Type Additional information
arrival

Arrival date

date

Required

departure

Departure date

date

Required

propertyId

Property identifier

integer

Required

roomTypes

Room type details

Collection of RoomTypeParamDto

Required

addOns

Optional add-ons to include in Quote

Collection of AddOnParamDto

Required

promotionCode

Optional promotion code to apply to Quote

string

None.

Response Information

Resource Description

Returns a collection of Quotes, one per RateType, with the stay totals

Collection of QuoteDto
Name Description Type Additional information
RateType

The rate type

RateTypeDto

None.

Currency

Default property currency. All values are expressed on this currency.

string

None.

Rent

Total rent for the period and all the room types

decimal number

None.

Discount

Total discount for all the room types

decimal number

None.

Fees

Fee information

Collection of FeeDto

None.

AddOns

Add-on information

Collection of AddOnDto

None.

RoomTypeQuotes

RoomType information

Collection of RoomTypeQuoteDto

None.

Taxes

Taxes applied

decimal number

None.

SecurityDeposit

Security deposit

decimal number

None.

ReservationDeposit

Reservation deposit

decimal number

None.

Total

Total booking value

decimal number

None.

Warnings

Warnings resulting from calculation

Collection of WarningDto

None.

Response Formats
application/json, text/json
[
  {
    "rate_type": {
      "name": "sample string 1"
    },
    "currency": "sample string 1",
    "rent": 2.0,
    "discount": 3.0,
    "fees": [
      {
        "type": 0,
        "name": "sample string 1",
        "value": 2.0
      },
      {
        "type": 0,
        "name": "sample string 1",
        "value": 2.0
      }
    ],
    "add_ons": [
      {
        "id": 1,
        "name": "sample string 2",
        "value": 3.0,
        "details": "sample string 4"
      },
      {
        "id": 1,
        "name": "sample string 2",
        "value": 3.0,
        "details": "sample string 4"
      }
    ],
    "room_type_quotes": [
      {
        "id": 1,
        "value": 2.0,
        "details": [
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          },
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          }
        ],
        "short_stay_premium": 3.0,
        "discount": {
          "description": "sample string 1",
          "value": 2.0
        }
      },
      {
        "id": 1,
        "value": 2.0,
        "details": [
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          },
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          }
        ],
        "short_stay_premium": 3.0,
        "discount": {
          "description": "sample string 1",
          "value": 2.0
        }
      }
    ],
    "taxes": 4.0,
    "security_deposit": 5.0,
    "reservation_deposit": 6.0,
    "total": 7.0,
    "warnings": [
      {
        "type": 666,
        "message": "sample string 1"
      },
      {
        "type": 666,
        "message": "sample string 1"
      }
    ]
  },
  {
    "rate_type": {
      "name": "sample string 1"
    },
    "currency": "sample string 1",
    "rent": 2.0,
    "discount": 3.0,
    "fees": [
      {
        "type": 0,
        "name": "sample string 1",
        "value": 2.0
      },
      {
        "type": 0,
        "name": "sample string 1",
        "value": 2.0
      }
    ],
    "add_ons": [
      {
        "id": 1,
        "name": "sample string 2",
        "value": 3.0,
        "details": "sample string 4"
      },
      {
        "id": 1,
        "name": "sample string 2",
        "value": 3.0,
        "details": "sample string 4"
      }
    ],
    "room_type_quotes": [
      {
        "id": 1,
        "value": 2.0,
        "details": [
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          },
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          }
        ],
        "short_stay_premium": 3.0,
        "discount": {
          "description": "sample string 1",
          "value": 2.0
        }
      },
      {
        "id": 1,
        "value": 2.0,
        "details": [
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          },
          {
            "from": "2017-05-25T17:16:53.3709704+02:00",
            "to": "2017-05-25T17:16:53.3709704+02:00",
            "prices": [
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              },
              {
                "type": "sample string 1",
                "days": 2,
                "value": 3.0,
                "is_best": true,
                "inner_price": "sample string 5"
              }
            ]
          }
        ],
        "short_stay_premium": 3.0,
        "discount": {
          "description": "sample string 1",
          "value": 2.0
        }
      }
    ],
    "taxes": 4.0,
    "security_deposit": 5.0,
    "reservation_deposit": 6.0,
    "total": 7.0,
    "warnings": [
      {
        "type": 666,
        "message": "sample string 1"
      },
      {
        "type": 666,
        "message": "sample string 1"
      }
    ]
  }
]

RatesApi


v1/rates GET

Returns total rates for room types requested by roomTypeId or houseId.

Request Information

https://api.lodgify.com/v1/rates
URI Parameters
Name Description Type Additional information
RoomTypeIds

Collection of integer

None.

HouseIds

Collection of integer

None.

DateFrom

date

None.

DateTo

date

None.

NumberOfGuests

integer

None.

Response Information

Resource Description

TotalRateResponse
Name Description Type Additional information
Results

Collection of TotalRateResponseItem

None.

Response Formats
application/json, text/json
{
  "results": [
    {
      "room_type_id": 1,
      "promotion_id": 2,
      "total_rate_before_discount": 3.0,
      "discount_amount": 4.0,
      "date_range_is_unavailable": true,
      "house_id": 6,
      "currency_code": "sample string 7"
    },
    {
      "room_type_id": 1,
      "promotion_id": 2,
      "total_rate_before_discount": 3.0,
      "discount_amount": 4.0,
      "date_range_is_unavailable": true,
      "house_id": 6,
      "currency_code": "sample string 7"
    }
  ]
}

v1/rates/save POST

Replaces the selected rates for specific dates with the new items. The rates must have availability information.

Request Information

https://api.lodgify.com/v1/rates/save
Body Parameters

FullRateDto
Name Description Type Additional information
Items

Collection of RateModel

None.

ReplaceOnlyForDates

boolean

None.

Request Formats
application/json, text/json
{
  "items": [
    {
      "date": "2017-05-25T17:16:53.4266275+02:00",
      "rate_id": 2,
      "house_id": 3,
      "room_type_id": 4,
      "close_to_arrival": true,
      "close_to_departure": true,
      "price_per_day": 7.0,
      "min_stay": 8,
      "max_stay": 9,
      "price_per_additional_guest": 10.0,
      "additional_guests_starts_from": 11,
      "is_default": false
    },
    {
      "date": "2017-05-25T17:16:53.4266275+02:00",
      "rate_id": 2,
      "house_id": 3,
      "room_type_id": 4,
      "close_to_arrival": true,
      "close_to_departure": true,
      "price_per_day": 7.0,
      "min_stay": 8,
      "max_stay": 9,
      "price_per_additional_guest": 10.0,
      "additional_guests_starts_from": 11,
      "is_default": false
    }
  ],
  "replace_only_for_dates": true
}

Response Information

Resource Description

boolean
Response Formats
application/json, text/json
true

v1/rates/savewithoutavailability POST

Replaces the selected rates for specific room types with the new items and fills them with availability information. To be used by 3rd party services that do not support availability information.

Request Information

https://api.lodgify.com/v1/rates/savewithoutavailability
Body Parameters

TinyRateDto
Name Description Type Additional information
PropertyId

integer

None.

RoomTypeId

integer

None.

Rates

Collection of RangedRateModel

None.

Request Formats
application/json, text/json
{
  "property_id": 1,
  "room_type_id": 2,
  "rates": [
    {
      "is_default": true,
      "start_date": "2017-05-25T17:16:53.4432555+02:00",
      "end_date": "2017-05-25T17:16:53.4432555+02:00",
      "price_per_day": 4.0,
      "min_stay": 5,
      "max_stay": 6,
      "price_per_additional_guest": 7.0
    },
    {
      "is_default": true,
      "start_date": "2017-05-25T17:16:53.4432555+02:00",
      "end_date": "2017-05-25T17:16:53.4432555+02:00",
      "price_per_day": 4.0,
      "min_stay": 5,
      "max_stay": 6,
      "price_per_additional_guest": 7.0
    }
  ]
}

Response Information

Resource Description

boolean
Response Formats
application/json, text/json
true

WebhooksApi


All the calls to interact with our Webhooks, including subscribe and unsubscribe. An Api key is required for authentication and authorization Our webhooks work the following way: we provide two main api calls, subscribe and unsubscribe. This allows you to connect to one of our webhooks, passing the event you want to connect to and a unique callback URL we will post to when the event occur in our system. You can connect to the same event multiple times. The events we provide right now are rate change, and availability change. Check the subscribe call description in this docs for more info. Additionally we provide pooling calls you can use to get an example of the data we send in our webhooks.

webhooks/v1/pooling/availability-change GET

Return an example of the JSon object we will send when we trigger this webhook

Request Information

https://api.lodgify.com/webhooks/v1/pooling/availability-change

Response Information

Resource Description

Collection of Object

None.

Response Formats
application/json, text/json

Sample not available.

webhooks/v1/pooling/rate-change GET

Return an example of the JSon object we will send when we trigger this webhook

Request Information

https://api.lodgify.com/webhooks/v1/pooling/rate-change

Response Information

Resource Description

Collection of Object

None.

Response Formats
application/json, text/json

Sample not available.

webhooks/v1/subscribe POST

Subscribe to a Lodgify Webhook.

Request Information

https://api.lodgify.com/webhooks/v1/subscribe
Body Parameters

SubscribeBindingModel
Name Description Type Additional information
TargetUrl

The call-back URL we will call when the event is triggered in our system. This have to be unique each time. If it is not unique, we will return a 409 http status code

string

None.

Event

The event you are subscribing to. You can subscribe multiple times to the same Event, and we will call all the unique TargetUrl for this event when it triggers in our system. This is a case sensitive string. The events available are: 'rate_change', 'availability_change'

string

None.

Request Formats
application/json, text/json
{
  "target_url": "sample string 1",
  "event": "sample string 2"
}

Response Information

Resource Description

On success we return a 200 status code with additional data

IHttpActionResult

None.

Response Formats
application/json, text/json

Sample not available.

webhooks/v1/unsubscribe DELETE

Unsubscribe from a Lodgify webhook

Request Information

https://api.lodgify.com/webhooks/v1/unsubscribe
Body Parameters

UnsubscribeBindingModel
Name Description Type Additional information
Id

The Id of the webhook you want to delete. It is the same we returned when you subscribed to this webhook

string

None.

Request Formats
application/json, text/json
{
  "id": "sample string 1"
}

Response Information

Resource Description

IHttpActionResult

None.

Response Formats
application/json, text/json

Sample not available.

Annex: Useful Tables

Error Codes

Code Name Description
666 Unknown Unknown error. Message should contain more information
901 NoRateDefined The propeerty doesn't have a rate and no booking can be completed
902 MinStayRequired The booking does not have the minimun days required for this property
903 BookingStatusUnknown The status provided for the booking is not a valid status
904 BookingMessageTypeNotAllowed The BookingMessageType is not allowed
905 BookingNoRooms The booking passed does not contains any rooms
906 BookingCannotChangeStatus The status for this booking cannot be changed.
907 EnquiryAlreadyUpgraded The enquiry you're trying to upgrade already has been upgraded
908 BookingPaymentNotValid There is a problem with the payment information
909 ArrivalNotValid Arrival not allowed on this weekday
910 DepartureNotValid Departure not allowed on this weekday
911 PropertyNotAvailable The property is not available on the days requested
920 CaptchaInvalid Captcha is required or not valid
930 StripeError There is a problem with strpe payment
940 ValidationError The parameters provided sent for validation generated a validation message in the response
950 PaymentError Errors occurred while processing the payment
996 ArgumentError There is an error with the arguments provided
997 NotFound The resource requested has not been found
998 NotImplemented The operation has not been implemented
999 NotAuthorized The user has no rights to make the request

Timezones Table

Name Id
(UTC-12:00) International Date Line West Dateline Standard Time
(UTC-11:00) Coordinated Universal Time-11 UTC-11
(UTC-10:00) Aleutian Islands Aleutian Standard Time
(UTC-10:00) Hawaii Hawaiian Standard Time
(UTC-09:30) Marquesas Islands Marquesas Standard Time
(UTC-09:00) Alaska Alaskan Standard Time
(UTC-09:00) Coordinated Universal Time-09 UTC-09
(UTC-08:00) Baja California Pacific Standard Time (Mexico)
(UTC-08:00) Coordinated Universal Time-08 UTC-08
(UTC-08:00) Pacific Time (US & Canada) Pacific Standard Time
(UTC-07:00) Arizona US Mountain Standard Time
(UTC-07:00) Chihuahua, La Paz, Mazatlan Mountain Standard Time (Mexico)
(UTC-07:00) Mountain Time (US & Canada) Mountain Standard Time
(UTC-06:00) Central America Central America Standard Time
(UTC-06:00) Central Time (US & Canada) Central Standard Time
(UTC-06:00) Easter Island Easter Island Standard Time
(UTC-06:00) Guadalajara, Mexico City, Monterrey Central Standard Time (Mexico)
(UTC-06:00) Saskatchewan Canada Central Standard Time
(UTC-05:00) Bogota, Lima, Quito, Rio Branco SA Pacific Standard Time
(UTC-05:00) Chetumal Eastern Standard Time (Mexico)
(UTC-05:00) Eastern Time (US & Canada) Eastern Standard Time
(UTC-05:00) Haiti Haiti Standard Time
(UTC-05:00) Havana Cuba Standard Time
(UTC-05:00) Indiana (East) US Eastern Standard Time
(UTC-04:00) Asuncion Paraguay Standard Time
(UTC-04:00) Atlantic Time (Canada) Atlantic Standard Time
(UTC-04:00) Caracas Venezuela Standard Time
(UTC-04:00) Cuiaba Central Brazilian Standard Time
(UTC-04:00) Georgetown, La Paz, Manaus, San Juan SA Western Standard Time
(UTC-04:00) Santiago Pacific SA Standard Time
(UTC-04:00) Turks and Caicos Turks And Caicos Standard Time
(UTC-03:30) Newfoundland Newfoundland Standard Time
(UTC-03:00) Araguaina Tocantins Standard Time
(UTC-03:00) Brasilia E. South America Standard Time
(UTC-03:00) Cayenne, Fortaleza SA Eastern Standard Time
(UTC-03:00) City of Buenos Aires Argentina Standard Time
(UTC-03:00) Greenland Greenland Standard Time
(UTC-03:00) Montevideo Montevideo Standard Time
(UTC-03:00) Punta Arenas Magallanes Standard Time
(UTC-03:00) Saint Pierre and Miquelon Saint Pierre Standard Time
(UTC-03:00) Salvador Bahia Standard Time
(UTC-02:00) Coordinated Universal Time-02 UTC-02
(UTC-02:00) Mid-Atlantic - Old Mid-Atlantic Standard Time
(UTC-01:00) Azores Azores Standard Time
(UTC-01:00) Cabo Verde Is. Cape Verde Standard Time
(UTC) Coordinated Universal Time UTC
(UTC+00:00) Casablanca Morocco Standard Time
(UTC+00:00) Dublin, Edinburgh, Lisbon, London GMT Standard Time
(UTC+00:00) Monrovia, Reykjavik Greenwich Standard Time
(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna W. Europe Standard Time
(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague Central Europe Standard Time
(UTC+01:00) Brussels, Copenhagen, Madrid, Paris Romance Standard Time
(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb Central European Standard Time
(UTC+01:00) West Central Africa W. Central Africa Standard Time
(UTC+01:00) Windhoek Namibia Standard Time
(UTC+02:00) Amman Jordan Standard Time
(UTC+02:00) Athens, Bucharest GTB Standard Time
(UTC+02:00) Beirut Middle East Standard Time
(UTC+02:00) Cairo Egypt Standard Time
(UTC+02:00) Chisinau E. Europe Standard Time
(UTC+02:00) Damascus Syria Standard Time
(UTC+02:00) Gaza, Hebron West Bank Standard Time
(UTC+02:00) Harare, Pretoria South Africa Standard Time
(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius FLE Standard Time
(UTC+02:00) Jerusalem Israel Standard Time
(UTC+02:00) Kaliningrad Kaliningrad Standard Time
(UTC+02:00) Tripoli Libya Standard Time
(UTC+03:00) Baghdad Arabic Standard Time
(UTC+03:00) Istanbul Turkey Standard Time
(UTC+03:00) Kuwait, Riyadh Arab Standard Time
(UTC+03:00) Minsk Belarus Standard Time
(UTC+03:00) Moscow, St. Petersburg, Volgograd Russian Standard Time
(UTC+03:00) Nairobi E. Africa Standard Time
(UTC+03:30) Tehran Iran Standard Time
(UTC+04:00) Abu Dhabi, Muscat Arabian Standard Time
(UTC+04:00) Astrakhan, Ulyanovsk Astrakhan Standard Time
(UTC+04:00) Baku Azerbaijan Standard Time
(UTC+04:00) Izhevsk, Samara Russia Time Zone 3
(UTC+04:00) Port Louis Mauritius Standard Time
(UTC+04:00) Saratov Saratov Standard Time
(UTC+04:00) Tbilisi Georgian Standard Time
(UTC+04:00) Yerevan Caucasus Standard Time
(UTC+04:30) Kabul Afghanistan Standard Time
(UTC+05:00) Ashgabat, Tashkent West Asia Standard Time
(UTC+05:00) Ekaterinburg Ekaterinburg Standard Time
(UTC+05:00) Islamabad, Karachi Pakistan Standard Time
(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi India Standard Time
(UTC+05:30) Sri Jayawardenepura Sri Lanka Standard Time
(UTC+05:45) Kathmandu Nepal Standard Time
(UTC+06:00) Astana Central Asia Standard Time
(UTC+06:00) Dhaka Bangladesh Standard Time
(UTC+06:00) Omsk Omsk Standard Time
(UTC+06:30) Yangon (Rangoon) Myanmar Standard Time
(UTC+07:00) Bangkok, Hanoi, Jakarta SE Asia Standard Time
(UTC+07:00) Barnaul, Gorno-Altaysk Altai Standard Time
(UTC+07:00) Hovd W. Mongolia Standard Time
(UTC+07:00) Krasnoyarsk North Asia Standard Time
(UTC+07:00) Novosibirsk N. Central Asia Standard Time
(UTC+07:00) Tomsk Tomsk Standard Time
(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi China Standard Time
(UTC+08:00) Irkutsk North Asia East Standard Time
(UTC+08:00) Kuala Lumpur, Singapore Singapore Standard Time
(UTC+08:00) Perth W. Australia Standard Time
(UTC+08:00) Taipei Taipei Standard Time
(UTC+08:00) Ulaanbaatar Ulaanbaatar Standard Time
(UTC+08:30) Pyongyang North Korea Standard Time
(UTC+08:45) Eucla Aus Central W. Standard Time
(UTC+09:00) Chita Transbaikal Standard Time
(UTC+09:00) Osaka, Sapporo, Tokyo Tokyo Standard Time
(UTC+09:00) Seoul Korea Standard Time
(UTC+09:00) Yakutsk Yakutsk Standard Time
(UTC+09:30) Adelaide Cen. Australia Standard Time
(UTC+09:30) Darwin AUS Central Standard Time
(UTC+10:00) Brisbane E. Australia Standard Time
(UTC+10:00) Canberra, Melbourne, Sydney AUS Eastern Standard Time
(UTC+10:00) Guam, Port Moresby West Pacific Standard Time
(UTC+10:00) Hobart Tasmania Standard Time
(UTC+10:00) Vladivostok Vladivostok Standard Time
(UTC+10:30) Lord Howe Island Lord Howe Standard Time
(UTC+11:00) Bougainville Island Bougainville Standard Time
(UTC+11:00) Chokurdakh Russia Time Zone 10
(UTC+11:00) Magadan Magadan Standard Time
(UTC+11:00) Norfolk Island Norfolk Standard Time
(UTC+11:00) Sakhalin Sakhalin Standard Time
(UTC+11:00) Solomon Is., New Caledonia Central Pacific Standard Time
(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky Russia Time Zone 11
(UTC+12:00) Auckland, Wellington New Zealand Standard Time
(UTC+12:00) Coordinated Universal Time+12 UTC+12
(UTC+12:00) Fiji Fiji Standard Time
(UTC+12:00) Petropavlovsk-Kamchatsky - Old Kamchatka Standard Time
(UTC+12:45) Chatham Islands Chatham Islands Standard Time
(UTC+13:00) Coordinated Universal Time+13 UTC+13
(UTC+13:00) Nuku'alofa Tonga Standard Time
(UTC+13:00) Samoa Samoa Standard Time
(UTC+14:00) Kiritimati Island Line Islands Standard Time