Getting started

The Lodgify API allows the user to perform certain operations through REST requests, such as creating new bookings or obtaining a list of them.

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

All requests and responses only accept and return JSON format.

Authorization

To make authorized calls on Lodgify API operations, you need to provide an API key in the call.

You can find your own API key in your settings page, after you logged in to the website.

Settings option in the menu

Then in the settings, go to the page called “Public API” and copy the key you will find there.

Public Api option in the menu

This key has both read and write permissions. The only exception are channel calls, which require their own specific key; for more information, go to the channel calls section.

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

Localization

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

To configure a request to be returned in a specific language, you need to add to your request an Accept-Language HTTP header with one of the language codes from the table below:

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 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",
    "event_id":"5c5c1e7351cb4c3089200fa8985bfa63"
}

Api Definitions v1


AvailabilityApi

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

GET v1/availability

Lists availability information for a given period

Request

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

Additional parameters in the URL
Name Type Description Additional information
periodStart date

Period start date

Required

periodEnd date

Period end date

Required

propertyId integer

Property Identifier

Required

roomTypeId integer

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

CombineRoomTypes boolean

Get room type results totalized by house

BookingsOnly boolean

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

IncludeBookingIds boolean

Retrieve booking Ids. Only valid for room type queries.

ModifiedSince date

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.

Response

Array[ AvailabilityDto ]

Name Type Description
property_id integer

The property Identifier the availability period references to

room_type_id integer

Room type Identifier

period_start date

Period starting date

period_end date

Period ending date (is included in period)

available integer

Number of units available

total_units integer

Number of total units of this room type

is_available boolean

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

booking_ids Array[integer]

List of Booking Ids on the period

closed_period_id integer

Closed Period Id for this period

Response example
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2020-08-02",
    "period_end": "2020-08-02",
    "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": "2020-08-02",
    "period_end": "2020-08-02",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

GET v1/availability/{propertyId}

Lists availability information for a given period

Request

https://api.lodgify.com/v1/availability/{propertyId}

Additional parameters in the URL
Name Type Description Additional information
periodStart date

Period start date

Required

periodEnd date

Period end date

Required

propertyId integer

Property Identifier

Required

roomTypeId integer

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

CombineRoomTypes boolean

Get room type results totalized by house

BookingsOnly boolean

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

IncludeBookingIds boolean

Retrieve booking Ids. Only valid for room type queries.

ModifiedSince date

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.

Response

Array[ AvailabilityDto ]

Name Type Description
property_id integer

The property Identifier the availability period references to

room_type_id integer

Room type Identifier

period_start date

Period starting date

period_end date

Period ending date (is included in period)

available integer

Number of units available

total_units integer

Number of total units of this room type

is_available boolean

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

booking_ids Array[integer]

List of Booking Ids on the period

closed_period_id integer

Closed Period Id for this period

Response example
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2020-08-02",
    "period_end": "2020-08-02",
    "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": "2020-08-02",
    "period_end": "2020-08-02",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

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

Lists availability information for a given period

Request

https://api.lodgify.com/v1/availability/{propertyId}/{roomTypeId}

Additional parameters in the URL
Name Type Description Additional information
periodStart date

Period start date

Required

periodEnd date

Period end date

Required

propertyId integer

Property Identifier

Required

roomTypeId integer

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

CombineRoomTypes boolean

Get room type results totalized by house

BookingsOnly boolean

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

IncludeBookingIds boolean

Retrieve booking Ids. Only valid for room type queries.

ModifiedSince date

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.

Response

Array[ AvailabilityDto ]

Name Type Description
property_id integer

The property Identifier the availability period references to

room_type_id integer

Room type Identifier

period_start date

Period starting date

period_end date

Period ending date (is included in period)

available integer

Number of units available

total_units integer

Number of total units of this room type

is_available boolean

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

booking_ids Array[integer]

List of Booking Ids on the period

closed_period_id integer

Closed Period Id for this period

Response example
[
  {
    "property_id": 1,
    "room_type_id": 2,
    "period_start": "2020-08-02",
    "period_end": "2020-08-02",
    "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": "2020-08-02",
    "period_end": "2020-08-02",
    "available": 5,
    "total_units": 6,
    "is_available": true,
    "booking_ids": [
      1,
      2
    ],
    "closed_period_id": 1
  }
]

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

Sets the number of units available for a room type

Request

https://api.lodgify.com/v1/availability/{propertyId}/{roomTypeId}/set

Additional parameters in the URL
Name Type Description Additional information
propertyId integer

Required

roomTypeId integer

Required

Body Parameters

AvailabilitySetDto
Name Type Description Additional information
period_start date

The start date of the period

period_end date

The end date of the period

available integer

The number of available units

Request example
{
  "period_start": "2020-08-02",
  "period_end": "2020-08-02",
  "available": 3
}

Response


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.

GET v1/reservation

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

Request

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

Additional parameters in the URL
Name Type Description Additional information
offset integer

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

Default value is 0

limit integer

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

Default value is 10

status string

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

trash boolean

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

Default value is False

propertyId integer

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

periodStart date

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

periodEnd date

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

modifiedSince date

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

Response

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 Type Description
items Array[ BookingDto ]

 Show child attributes
Name Type Description
id integer

Booking or Enquiry Identifier

type string

Defines if is a Booking or a Enquiry

booking_type string

Determines if this is a Booking or a Enquiry

status string

Status of the Booking or Enquiry

source string

Source of the booking or enquiry

source_text string

Source text of the booking or enquiry

guest GuestDto

Guest for this Booking/Enquiry

 Show child attributes
Name Type Description
id string

Guest Identifier

country_name string

Country Name

name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

arrival date

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

departure date

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

people integer

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

property_id integer

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

property_name string

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

rooms Array[ BookingRoomTypeDto ]

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

 Show child attributes
Name Type Description
name string

Name of the room type of the property

room_type_id integer

Identifier of the room type

people integer

Number of people

created_at date

Booking / Enquiry creation Datetime

is_replied boolean

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

updated_at date

Last update datetime

is_deleted boolean

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

date_deleted date

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

total_amount decimal

Total amount of the booking/enquiry

total_paid decimal

Total amount paid for the booking/enquiry

amount_to_pay decimal

Amount to pay for the booking/enquiry

currency CurrencyDto

Currency used for the amounts

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

total integer

next string

previous string

Response example
{
  "items": [
    {
      "id": 0,
      "type": null,
      "booking_type": null,
      "status": null,
      "source": null,
      "source_text": null,
      "guest": {
        "id": "ba593c25-3fca-4018-b856-e2523e2ac9cb",
        "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": ""
}

POST v1/reservation/booking

Creates a new booking with the data passed as Json

Request

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

Additional parameters in the URL
Name Type Description Additional information
from integer

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

Body Parameters

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

CreateBookingDto
Name Type Description Additional information
source BookingSource

Source of the booking. if not provided Manual is used

 Show child attributes

Possible enumeration values:

Name Value Description
Manual

0

OH

1

Domegos

2

NineFlats

3

Airbnb

4

HomeAway

5

BookingCom

6

Expedia

7

ICal

8

Email

9

FacebookMessenger

10

AirbnbIntegration

11

source_text string

Source Text for the booking

arrival date

Arrival date with the format yyyy-MM-dd

departure date

Departure date with the format yyyy-MM-dd

property_id integer

Property Identifier

status BookingStatusDto

Status of the booking. If not provided Open is used

 Show child attributes

Possible enumeration values:

Name Value Description
Open

0

Booked

1

Declined

2

Tentative

3

rooms Array[ CreateBookingRoomTypeDto ]

List of rooms booked

 Show child attributes
Name Type Description Additional information
room_type_id integer

Identifier of the room type

people integer

Number of people

guest CreateBookingGuestDto

Guest information

 Show child attributes
Name Type Description Additional information
name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

messages Array[ CreateBookingMessageDto ]

List of messages attached to the booking. Optional

 Show child attributes
Name Type Description Additional information
subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

payment_type string

(Obsolete. Use payment_website_id instead.) Payment type asociated with the booking. Optional, default value is None

payment_address string

(Obsolete. Use payment_website_id instead.) Payment Address. Only if the Payment Type used supports it (eg. Paypal)

payment_website_id integer

Id of the website chosen as the payment gateway for this booking.

bookability BookabilityEnum

Booking bookability, if not provided then EnquiryOnly will be used

 Show child attributes

Possible enumeration values:

Name Value Description
InstantBooking

0

BookingRequest

1

EnquiryOnly

2

ip_created string

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

total decimal

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.

currency_code string

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

Request example
{
  "source": 0,
  "source_text": "sample string 1",
  "arrival": "2020-08-02T14:59:58.5522497+00:00",
  "departure": "2020-08-02T14:59:58.5522497+00: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",
  "payment_website_id": 1,
  "bookability": 0,
  "ip_created": "sample string 7",
  "total": 1.0,
  "currency_code": "sample string 8"
}

Response

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


GET v1/reservation/booking/{id}

Returns the detail for a Booking

Request

https://api.lodgify.com/v1/reservation/booking/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the object you want

Required

Response

An object with all the data

BookingDetailsDto

Name Type Description
note string

Admin note about the booking

messages Array[ BookingThreadMessageDto ]

List of Messages from the owner, renter and system

 Show child attributes
Name Type Description
is_replied boolean

bool indicating if the message has been replied

created_at date

Datetime if the message creation

subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

payment_type string

(Obsolete. Use payment_website_id instead.) Payment type for this Booking

payment_address string

(Obsolete. Use payment_website_id instead.) Payment Address for this Booking

payment_website_id integer

Id of the website chosen as the payment gateway for this booking.

id integer

Booking or Enquiry Identifier

type string

Defines if is a Booking or a Enquiry

booking_type string

Determines if this is a Booking or a Enquiry

status string

Status of the Booking or Enquiry

source string

Source of the booking or enquiry

source_text string

Source text of the booking or enquiry

guest GuestDto

Guest for this Booking/Enquiry

 Show child attributes
Name Type Description
id string

Guest Identifier

country_name string

Country Name

name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

arrival date

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

departure date

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

people integer

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

property_id integer

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

property_name string

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

rooms Array[ BookingRoomTypeDto ]

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

 Show child attributes
Name Type Description
name string

Name of the room type of the property

room_type_id integer

Identifier of the room type

people integer

Number of people

created_at date

Booking / Enquiry creation Datetime

is_replied boolean

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

updated_at date

Last update datetime

is_deleted boolean

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

date_deleted date

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

total_amount decimal

Total amount of the booking/enquiry

total_paid decimal

Total amount paid for the booking/enquiry

amount_to_pay decimal

Amount to pay for the booking/enquiry

currency CurrencyDto

Currency used for the amounts

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
{
  "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": "2020-08-02T14:59:58.5903718+00:00",
  "is_replied": true,
  "updated_at": "2020-08-02T14:59:58.5903718+00:00",
  "is_deleted": true,
  "date_deleted": "2020-08-02T14:59:58.5903718+00: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": "2020-08-02T14:59:58.5883999+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2020-08-02T14:59:58.5883999+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3",
  "payment_website_id": 1
}

PUT v1/reservation/booking/{id}

Updates a given Booking with the object passed

Request

https://api.lodgify.com/v1/reservation/booking/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking identifier

Required

Body Parameters

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

BookingDetailsDto
Name Type Description Additional information
note string

Admin note about the booking

messages Array[ BookingThreadMessageDto ]

List of Messages from the owner, renter and system

 Show child attributes
Name Type Description Additional information
is_replied boolean

bool indicating if the message has been replied

created_at date

Datetime if the message creation

subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

payment_type string

(Obsolete. Use payment_website_id instead.) Payment type for this Booking

payment_address string

(Obsolete. Use payment_website_id instead.) Payment Address for this Booking

payment_website_id integer

Id of the website chosen as the payment gateway for this booking.

id integer

Booking or Enquiry Identifier

type string

Defines if is a Booking or a Enquiry

booking_type string

Determines if this is a Booking or a Enquiry

status string

Status of the Booking or Enquiry

source string

Source of the booking or enquiry

source_text string

Source text of the booking or enquiry

guest GuestDto

Guest for this Booking/Enquiry

 Show child attributes
Name Type Description Additional information
id string

Guest Identifier

country_name string

Country Name

name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

arrival date

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

departure date

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

people integer

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

property_id integer

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

property_name string

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

rooms Array[ BookingRoomTypeDto ]

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

 Show child attributes
Name Type Description Additional information
name string

Name of the room type of the property

room_type_id integer

Identifier of the room type

people integer

Number of people

created_at date

Booking / Enquiry creation Datetime

is_replied boolean

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

updated_at date

Last update datetime

is_deleted boolean

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

date_deleted date

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

total_amount decimal

Total amount of the booking/enquiry

total_paid decimal

Total amount paid for the booking/enquiry

amount_to_pay decimal

Amount to pay for the booking/enquiry

currency CurrencyDto

Currency used for the amounts

 Show child attributes
Name Type Description Additional information
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Request example
{
  "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": "2020-08-02T14:59:58.6235578+00:00",
  "is_replied": true,
  "updated_at": "2020-08-02T14:59:58.6235578+00:00",
  "is_deleted": true,
  "date_deleted": "2020-08-02T14:59:58.6235578+00: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": "2020-08-02T14:59:58.6235578+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2020-08-02T14:59:58.6235578+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3",
  "payment_website_id": 1
}

Response

A OK 200 if the update has been succesful


DELETE v1/reservation/booking/{id}

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

Request

https://api.lodgify.com/v1/reservation/booking/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the bookoing or enquiry

Required

Response

A OK 200 if the deletion has been succesful


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

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

Request

https://api.lodgify.com/v1/reservation/booking/{id}/book

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking identifier

Required

requestPayment boolean

Default value is False

Response

A 200 OK result


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

Declines a Booking changing the status to Declined

Request

https://api.lodgify.com/v1/reservation/booking/{id}/decline

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking identifier

Required

Response

A 200 OK result


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

Adds one or more messages for a Booking

Request

https://api.lodgify.com/v1/reservation/booking/{id}/messages

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the booking

Required

Body Parameters

List of messages to be added

Array[ CreateBookingMessageDto ]
Name Type Description Additional information
subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

Request example
[
  {
    "subject": "Subject",
    "message": "Message",
    "type": 1
  }
]

Response

A OK 200 if the marking has been succesful


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

Marks a Booking as not replied

Request

https://api.lodgify.com/v1/reservation/booking/{id}/not_replied

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the bookong

Required

Response

A OK 200 if the marking has been succesful


GET v1/reservation/booking/{id}/quote

Returns the details of the Booking's current Quote

Request

https://api.lodgify.com/v1/reservation/booking/{id}/quote

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the booking the quote belongs to

Required

Response

An object with all the data

BookingQuoteDto

Name Type Description
id integer

Quote identifier

arrival date

Arrival date of the Booking

departure date

Departure date of the Booking

property_id integer

Property Id of the Booking

status string

Quote status

currency CurrencyDto

Currency used

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

amount_gross decimal number

Quote Gross amount

amount_net decimal number

Quote Net amount

date_cancelled date

Quote cancellation date

amount_cancelled decimal number

Cancellation amount

date_agreed date

Date of agreement

is_policy_active boolean

Policy activation status

rate_policy_name string

Quote policy

expiration_hours integer

Hours until the quote expires

expiration_date date

Quote expiration date

rental_agreement string

Rental agreement identifier

rental_agreement_accepted boolean

Rental agreement was accepted

room_type_items Array[ BookingQuoteRoomTypeItemDto ]

Room types belonging to the Quote

 Show child attributes
Name Type Description
room_type_id integer

Room type identifier

subtotal decimal number

Quote subtotal for this room type

prices Array[ BookingQuotePriceItemDto ]

Items belonging to the Quote related to this Room type

 Show child attributes
Name Type Description
type string

Quote item type

amount decimal number

Quote item amount

description string

Quote item description

add_on_items Array[ BookingQuotePriceItemDto ]

Add-ons belonging to the Quote

 Show child attributes
Name Type Description
type string

Quote item type

amount decimal number

Quote item amount

description string

Quote item description

other_items Array[ BookingQuotePriceItemDto ]

Other items belonging to the Quote

 Show child attributes
Name Type Description
type string

Quote item type

amount decimal number

Quote item amount

description string

Quote item description

Response example
{
  "id": 1,
  "arrival": "0001-01-01",
  "departure": "0001-01-01",
  "property_id": 2,
  "status": "sample string 3",
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  },
  "amount_gross": 0.0,
  "amount_net": 0.0,
  "date_cancelled": "2020-08-02T14:59:58.6528454+00:00",
  "amount_cancelled": 0.0,
  "date_agreed": "2020-08-02T14:59:58.6528454+00:00",
  "is_policy_active": true,
  "rate_policy_name": "sample string 5",
  "expiration_hours": 1,
  "expiration_date": "2020-08-02T14:59:58.6528454+00:00",
  "rental_agreement": "sample string 6",
  "rental_agreement_accepted": true,
  "room_type_items": [
    {
      "room_type_id": 1,
      "subtotal": 0.0,
      "prices": [
        {
          "type": "sample string 1",
          "amount": 0.0,
          "description": "sample string 2"
        },
        {
          "type": "sample string 1",
          "amount": 0.0,
          "description": "sample string 2"
        }
      ]
    },
    {
      "room_type_id": 1,
      "subtotal": 0.0,
      "prices": [
        {
          "type": "sample string 1",
          "amount": 0.0,
          "description": "sample string 2"
        },
        {
          "type": "sample string 1",
          "amount": 0.0,
          "description": "sample string 2"
        }
      ]
    }
  ],
  "add_on_items": [
    {
      "type": "sample string 1",
      "amount": 0.0,
      "description": "sample string 2"
    },
    {
      "type": "sample string 1",
      "amount": 0.0,
      "description": "sample string 2"
    }
  ],
  "other_items": [
    {
      "type": "sample string 1",
      "amount": 0.0,
      "description": "sample string 2"
    },
    {
      "type": "sample string 1",
      "amount": 0.0,
      "description": "sample string 2"
    }
  ]
}

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

Creates a Quote for the booking

Request

https://api.lodgify.com/v1/reservation/booking/{id}/quote

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the booking the quote belongs to

Required

Body Parameters

CreateQuoteDto
Name Type Description Additional information
is_policy_active boolean

Create Quote with active policy and workflow or not

add_ons Array[ QuoteAddOnDto ]

List of addons booked

 Show child attributes
Name Type Description Additional information
add_on_id integer

Identifier of the addon

units integer

Number of units to be reserved or null, in case the addon is not per unit

room_types Array[ QuoteRoomTypeDto ]

List of additional Room Type quote details

 Show child attributes
Name Type Description Additional information
room_type_id integer

Represents a Room Type id

custom_fee_amount decimal number

Represents a custom fee which will be added to Room Type quote

Request example
{
  "is_policy_active": true,
  "add_ons": [
    {
      "add_on_id": 1,
      "units": 1
    },
    {
      "add_on_id": 1,
      "units": 1
    }
  ],
  "room_types": [
    {
      "room_type_id": 1,
      "custom_fee_amount": 0.0
    },
    {
      "room_type_id": 1,
      "custom_fee_amount": 0.0
    }
  ],
  "payment_method": {
    "number": "sample string 1",
    "cvv": "sample string 2",
    "full_name": "sample string 3",
    "month": 4,
    "year": 5
  }
}

Response

The quote identifier


POST v1/reservation/booking/{id}/quote/paymentLink

Create a payment link for the booking

Request

https://api.lodgify.com/v1/reservation/booking/{id}/quote/paymentLink

Additional parameters in the URL
Name Type Description Additional information
id integer

Id of the booking

Required

Body Parameters

Amount to be requested

CreatePaymentLinkDto
Name Type Description Additional information
amount decimal

Amount to request

Range: inclusive between 0.01 and 1.79769313486232E+308

Request example
{
  "amount": 1.0
}

Response

Returns false when the requested amount will not be enforced because the booking has a pending schedule to be paid first.


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

Recovers a Booking from the trash

Request

https://api.lodgify.com/v1/reservation/booking/{id}/recover

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the booking

Required

Response

A OK 200 if the recovering has been succesful


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

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

Request

https://api.lodgify.com/v1/reservation/booking/{id}/reopen

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking identifier

Required

Response

A 200 OK result


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

Marks a Booking as replied

Request

https://api.lodgify.com/v1/reservation/booking/{id}/replied

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the booking

Required

Response

A OK 200 if the marking has been succesful


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

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

Request

https://api.lodgify.com/v1/reservation/booking/{id}/request_payment

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking Identifier

Required

Response

A 200 OK result


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

Changes the status of a booking to Tentative

Request

https://api.lodgify.com/v1/reservation/booking/{id}/tentative

Additional parameters in the URL
Name Type Description Additional information
id integer

Booking identifier

Required

requestPayment boolean

Default value is False

Response

A 200 OK result


POST v1/reservation/callmeback

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

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

Body Parameters

Object with the data for the new Booking Enquiry

CreateCallMeDto
Name Type Description Additional information
date date

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

time_zone_info_id string

TimeZoneInfo Identifier

time integer

0-23 integer indicating the hour of the appointment

notes string

Additional notes for the Call me back request

language string

source BookingEnquirySource

Source of the enquiry. Default value is Domegos

 Show child attributes

Possible enumeration values:

Name Value Description
Premium

0

Free

1

OH

2

Domegos

3

Unknown

4

Email

5

FacebookMessenger

6

source_text string

Source Text of the enquiry

source_address string

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

arrival date

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

departure date

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

people integer

Number of people of the Enquiry. Optional

property_id integer

Property identifier. Optional

room_type_id integer

RoomType identifier. Optional

guest CreateBookingGuestDto

Guest information

 Show child attributes
Name Type Description Additional information
name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

messages Array[ CreateBookingMessageDto ]

List of the messages attached to the enquiry

 Show child attributes
Name Type Description Additional information
subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

status string

Status of the Enquiry

has_privacy_consent boolean

Has privacy consent?

ip_created string

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

Request example
{
  "date": "2020-08-02T14:59:58.734897+00: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": "2020-08-02T14:59:58.7358903+00:00",
  "departure": "2020-08-02T14:59:58.7358903+00: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",
  "has_privacy_consent": true,
  "ip_created": "sample string 9"
}

Response

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


POST v1/reservation/delete

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

Request

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

Body Parameters

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

Array[ BatchBookingDto ]
Name Type Description Additional information
id integer

Booking or Enquiry identifier

type string

Type of the object (Booking or Enquiry)

Request example
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response

A 200 OK result


POST v1/reservation/enquiry

Creates a new enquiry with the data passed as Json

Request

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

Body Parameters

Object with the data for the new Booking Enquiry

CreateEnquiryDto
Name Type Description Additional information
source BookingEnquirySource

Source of the enquiry. Default value is Domegos

 Show child attributes

Possible enumeration values:

Name Value Description
Premium

0

Free

1

OH

2

Domegos

3

Unknown

4

Email

5

FacebookMessenger

6

source_text string

Source Text of the enquiry

source_address string

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

arrival date

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

departure date

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

people integer

Number of people of the Enquiry. Optional

property_id integer

Property identifier. Optional

room_type_id integer

RoomType identifier. Optional

guest CreateBookingGuestDto

Guest information

 Show child attributes
Name Type Description Additional information
name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

messages Array[ CreateBookingMessageDto ]

List of the messages attached to the enquiry

 Show child attributes
Name Type Description Additional information
subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

status string

Status of the Enquiry

has_privacy_consent boolean

Has privacy consent?

ip_created string

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

Request example
{
  "source": 0,
  "source_text": "sample string 1",
  "source_address": "sample string 2",
  "arrival": "2020-08-02T14:59:58.7622333+00:00",
  "departure": "2020-08-02T14:59:58.7622333+00: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",
  "has_privacy_consent": true,
  "ip_created": "sample string 4"
}

Response

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


GET v1/reservation/enquiry/{id}

Returns the detail for a enquiry

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the object you want

Required

Response

An object with all the data

BookingDetailsDto

Name Type Description
note string

Admin note about the booking

messages Array[ BookingThreadMessageDto ]

List of Messages from the owner, renter and system

 Show child attributes
Name Type Description
is_replied boolean

bool indicating if the message has been replied

created_at date

Datetime if the message creation

subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

payment_type string

(Obsolete. Use payment_website_id instead.) Payment type for this Booking

payment_address string

(Obsolete. Use payment_website_id instead.) Payment Address for this Booking

payment_website_id integer

Id of the website chosen as the payment gateway for this booking.

id integer

Booking or Enquiry Identifier

type string

Defines if is a Booking or a Enquiry

booking_type string

Determines if this is a Booking or a Enquiry

status string

Status of the Booking or Enquiry

source string

Source of the booking or enquiry

source_text string

Source text of the booking or enquiry

guest GuestDto

Guest for this Booking/Enquiry

 Show child attributes
Name Type Description
id string

Guest Identifier

country_name string

Country Name

name string

Guest Name

email string

Guest Email

phone string

Guest Phone

country_code string

Guest Country Code

arrival date

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

departure date

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

people integer

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

property_id integer

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

property_name string

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

rooms Array[ BookingRoomTypeDto ]

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

 Show child attributes
Name Type Description
name string

Name of the room type of the property

room_type_id integer

Identifier of the room type

people integer

Number of people

created_at date

Booking / Enquiry creation Datetime

is_replied boolean

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

updated_at date

Last update datetime

is_deleted boolean

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

date_deleted date

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

total_amount decimal

Total amount of the booking/enquiry

total_paid decimal

Total amount paid for the booking/enquiry

amount_to_pay decimal

Amount to pay for the booking/enquiry

currency CurrencyDto

Currency used for the amounts

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
{
  "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": "2020-08-02T14:59:58.7759179+00:00",
  "is_replied": true,
  "updated_at": "2020-08-02T14:59:58.7759179+00:00",
  "is_deleted": true,
  "date_deleted": "2020-08-02T14:59:58.7759179+00: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": "2020-08-02T14:59:58.7759179+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    },
    {
      "is_replied": true,
      "created_at": "2020-08-02T14:59:58.7759179+00:00",
      "subject": "sample string 3",
      "message": "sample string 4",
      "type": 0
    }
  ],
  "payment_type": "sample string 2",
  "payment_address": "sample string 3",
  "payment_website_id": 1
}

DELETE v1/reservation/enquiry/{id}

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

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the enquiry

Required

Response

A OK 200 if the deletion has been succesful


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

Declines a enquiry

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/decline

Additional parameters in the URL
Name Type Description Additional information
id integer

Enquiry identifier

Required

Response

A 200 OK result


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

Adds one or more messages for a enquiry

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/messages

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the enquiry

Required

Body Parameters

List of messages to be added

Array[ CreateBookingMessageDto ]
Name Type Description Additional information
subject string

Subject of the Booking/enquiry message

message string

Content of the message

type BookingThreadMessageType

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

 Show child attributes

Possible enumeration values:

Name Value Description
Owner

0

Comment

1

Renter

2

ChangeLog

3

ChangeLogText

4

JsonMetadata

5

ExternalPolicy

6

Request example
[
  {
    "subject": "Subject",
    "message": "Message",
    "type": 1
  }
]

Response

A OK 200 if the marking has been succesful


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

Marks a Enquiry as not replied

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/not_replied

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the enquiry

Required

Response

A OK 200 if the marking has been succesful


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

Recovers a Enquiry from the trash

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/recover

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the enquiry

Required

Response

A OK 200 if the recovering has been succesful


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

Reopens a enquiry

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/reopen

Additional parameters in the URL
Name Type Description Additional information
id integer

Enquiry identifier

Required

Response

A 200 OK result


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

Marks a Enquiry as replied

Request

https://api.lodgify.com/v1/reservation/enquiry/{id}/replied

Additional parameters in the URL
Name Type Description Additional information
id integer

Identifier of the enquiry

Required

Response

A OK 200 if the marking has been succesful


GET v1/reservation/not_read

Gets the number of non readed Booking/Enquiry messages

Request

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

Response

Integer

integer

Response example
1

POST v1/reservation/not_replied

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

Request

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

Body Parameters

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

Array[ BatchBookingDto ]
Name Type Description Additional information
id integer

Booking or Enquiry identifier

type string

Type of the object (Booking or Enquiry)

Request example
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response

A 200 OK result


POST v1/reservation/replied

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

Request

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

Body Parameters

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

Array[ BatchBookingDto ]
Name Type Description Additional information
id integer

Booking or Enquiry identifier

type string

Type of the object (Booking or Enquiry)

Request example
[
  {
    "id": 1,
    "type": "Booking"
  },
  {
    "id": 2,
    "type": "Enquiry"
  }
]

Response

A 200 OK result


CountriesApi

Offers operations with countries available in Lodgify

GET v1/countries

Returns a list of all the available countries

Request

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

Response

A list of objects representing a country

Array[ CountryDto ]

Name Type Description
code string

Country Code

name string

Country Name

Response example
[
  {
    "code": "AF",
    "name": "Afghanistan"
  },
  {
    "code": "AX",
    "name": "Aland Islands"
  }
]

GET v1/countries/{code}

Returns a country by given his code

Request

https://api.lodgify.com/v1/countries/{code}

Additional parameters in the URL
Name Type Description Additional information
code string

Code of the country you want to obtain

Required

Response

A representation of the country

CountryDto

Name Type Description
code string

Country Code

name string

Country Name

Response example
{
  "code": "AL",
  "name": "Albania"
}

CurrenciesApi

Offers operations to work with currencies

GET v1/currencies

Returns a list of available currencies in Lodgify

Request

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

Response

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

Array[ CurrencyDto ]

Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
[
  {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  },
  {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  }
]

GET v1/currencies/{code}

Returns the currency with the given code

Request

https://api.lodgify.com/v1/currencies/{code}

Additional parameters in the URL
Name Type Description Additional information
code string

Code of the currency you want

Required

Response

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

CurrencyDto

Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
{
  "id": 1,
  "code": "sample string 2",
  "name": "sample string 3",
  "euro_forex": 4.0,
  "symbol": "sample string 5"
}

OtaChannelApi

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

GET v1/channel/xml

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

Request

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

Response

The response is a standard xml file compliant with HomeAway Xml for Listings v3.3.1

string

Response example
<listingContentIndex xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <advertisers>
    <advertiser>
      <assignedId>LODGIFY_000001</assignedId>
      <listingContentIndexEntry>
        <listingExternalId
          xsi:type="xsd:string">1234567</listingExternalId>
        <unitExternalId
          xsi:type="xsd:string">23456789</unitExternalId>
        <active>true</active>
        <lastUpdatedDate>2020-01-09T10:11:58.504+01:00</lastUpdatedDate>
        <unitAvailabilityUrl
          xsi:type="xsd:string">https://domain.com/exported-xml/export/channel/C9A1C39FA2D134A04FC9C43A3E85FD8E/haxml-1234-46473-availability.xml</unitAvailabilityUrl>
      </listingContentIndexEntry>
      <listingContentIndexEntry>
        <listingExternalId
          xsi:type="xsd:string">1234567</listingExternalId>
        <unitExternalId
          xsi:type="xsd:string">23456789</unitExternalId>
        <active>true</active>
        <lastUpdatedDate>2020-01-09T10:11:58.17+01:00</lastUpdatedDate>
        <unitRatesUrl
          xsi:type="xsd:string">https://domain.com/exported-xml/export/channel/C9A1C39FA2D134A04FC9C43A3E85FD8E/haxml-1234-46473-rates.xml</unitRatesUrl>
      </listingContentIndexEntry>
      <listingContentIndexEntry>
        <listingExternalId
          xsi:type="xsd:string">1234567</listingExternalId>
        <active>true</active>
        <lastUpdatedDate>2020-01-09T10:11:57.836+01:00</lastUpdatedDate>
        <listingUrl
          xsi:type="xsd:string">https://domain.com/exported-xml/export/channel/C9A1C39FA2D134A04FC9C43A3E85FD8E/haxml-1234-listing.xml</listingUrl>
      </listingContentIndexEntry>
    </advertiser>
  </advertisers>
</listingContentIndex>

OtaPropertyRatesApi

GET v1/channel/rates

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

Request

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

Additional parameters in the URL
Name Type Description Additional information
modifiedSince date

Response

Array[ PropertyRatesDto ]

Name Type Description
property_id integer

property Identifier

settings RateSettingsDto

Rate settings

 Show child attributes
Name Type Description
currency_code string

Currency code. All prices on rates are defined in this currency

check_in integer

If present Max Hour allowed to Checkin -1: Flexible, 0-23: Hour of day

check_out integer

If present Max Hour allowed to CheckOut -1: Flexible, 0-23: Hour of day

reservation_deposit decimal

Value of the reservation deposit

reservation_deposit_percentage decimal

Percentage of the reservation deposit

security_deposit decimal

Value of the security deposit

security_deposit_percentage decimal

Percentage of the security deposit

give_best_price boolean

Give the best price to guests (true, false) TRUE: If the total amount(e.g. for 6 nights) is higher than the weekly price, use the weekly price instead of the nightly price. FALSE: The nightly price should be used, even If the total amount (e.g. for 6 nights) is higher than the weekly price.

default_rate RateDto

Default rate applied for this property

 Show child attributes
Name Type Description
id integer

Rate identifier

name string

Rate name

checkout_allowed_days Object

 Show child attributes
checkin_allowed_days Object

 Show child attributes
custom_days_rate integer

If set, then a rate for a custom period of days is defined on the RoomRates

min_stay integer

If set, defines the minimun days for a reservation

room_rates Array[ RoomRateDto ]

List of the rates for each of the rooms of the property

 Show child attributes
Name Type Description
room_id integer

Room identifier

daily_price decimal

If defined, is the daily price for the room

monday_price decimal

If the rate has a diferent price for each day of the week, is the price for monday

tuesday_price decimal

If the rate has a diferent price for each day of the week, is the price for tuesday

wednesday_price decimal

If the rate has a diferent price for each day of the week, is the price for wednesday

thursday_price decimal

If the rate has a diferent price for each day of the week, is the price for thursday

friday_price decimal

If the rate has a diferent price for each day of the week, is the price for friday

saturday_price decimal

If the rate has a diferent price for each day of the week, is the price for saturday

sunday_price decimal

If the rate has a diferent price for each day of the week, is the price for sunday

weekly_price decimal

If defined, is the weekly price for the room

monthly_price decimal

If defined, is the monthly price for the room

custom_price decimal

If defined is the custom days price for the room

min_stay_days integer

Minimun days to stay

charge_per_person_from integer

If defined indicates the number of people from wich a extra charge is charged (per person per night)

charge_per_person_value decimal

If defined indicates the carge applied for extra guests (per person per night) starting at PerPersonFrom

charge_short_stay_days integer

If defined indicates the max number of days from below a extra charge is charged as a short stay

charge_short_stay_value decimal

If defined indicates the carge applied for a short stay

charges Array[ ChargeDto ]

List of charges applied to this room rate

 Show child attributes
Name Type Description
type string

Type of the charge, equals "ChargeFee" for a fee, "ChargeTax" for a tax

name string

Charge characteristic name

value decimal

Fixed or percentage price value, depending on the RateType

charge_type string

Type of charge, can be either "SingleCharge", "PerPerson", or "PerRoom"

rate_type string

Rate type, equals "Fixed" for a fixed amount price, "Percentage" for a percentage price

frequency string

Frequency, can be either "PerStay" or "PerNight"

tax_percentage decimal

VAT percentage value (only defined if not inclusive)

periods Array[ RatePeriodDto ]

List of periods where this rate is aplicable

 Show child attributes
Name Type Description
start date

Start date of the period

end date

End date of the period

season_rates Array[ RateDto ]

Season rates for this property

 Show child attributes
Name Type Description
id integer

Rate identifier

name string

Rate name

checkout_allowed_days Object

 Show child attributes
checkin_allowed_days Object

 Show child attributes
custom_days_rate integer

If set, then a rate for a custom period of days is defined on the RoomRates

min_stay integer

If set, defines the minimun days for a reservation

room_rates Array[ RoomRateDto ]

List of the rates for each of the rooms of the property

 Show child attributes
Name Type Description
room_id integer

Room identifier

daily_price decimal

If defined, is the daily price for the room

monday_price decimal

If the rate has a diferent price for each day of the week, is the price for monday

tuesday_price decimal

If the rate has a diferent price for each day of the week, is the price for tuesday

wednesday_price decimal

If the rate has a diferent price for each day of the week, is the price for wednesday

thursday_price decimal

If the rate has a diferent price for each day of the week, is the price for thursday

friday_price decimal

If the rate has a diferent price for each day of the week, is the price for friday

saturday_price decimal

If the rate has a diferent price for each day of the week, is the price for saturday

sunday_price decimal

If the rate has a diferent price for each day of the week, is the price for sunday

weekly_price decimal

If defined, is the weekly price for the room

monthly_price decimal

If defined, is the monthly price for the room

custom_price decimal

If defined is the custom days price for the room

min_stay_days integer

Minimun days to stay

charge_per_person_from integer

If defined indicates the number of people from wich a extra charge is charged (per person per night)

charge_per_person_value decimal

If defined indicates the carge applied for extra guests (per person per night) starting at PerPersonFrom

charge_short_stay_days integer

If defined indicates the max number of days from below a extra charge is charged as a short stay

charge_short_stay_value decimal

If defined indicates the carge applied for a short stay

charges Array[ ChargeDto ]

List of charges applied to this room rate

 Show child attributes
Name Type Description
type string

Type of the charge, equals "ChargeFee" for a fee, "ChargeTax" for a tax

name string

Charge characteristic name

value decimal

Fixed or percentage price value, depending on the RateType

charge_type string

Type of charge, can be either "SingleCharge", "PerPerson", or "PerRoom"

rate_type string

Rate type, equals "Fixed" for a fixed amount price, "Percentage" for a percentage price

frequency string

Frequency, can be either "PerStay" or "PerNight"

tax_percentage decimal

VAT percentage value (only defined if not inclusive)

periods Array[ RatePeriodDto ]

List of periods where this rate is aplicable

 Show child attributes
Name Type Description
start date

Start date of the period

end date

End date of the period

modified_date date

DateTime of the last time rates were modified

Response example
[
  {
    "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": "2020-08-02",
          "end": "2020-08-02"
        },
        {
          "start": "2020-08-02",
          "end": "2020-08-02"
        }
      ]
    },
    "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": "2020-08-02",
            "end": "2020-08-02"
          },
          {
            "start": "2020-08-02",
            "end": "2020-08-02"
          }
        ]
      },
      {
        "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": "2020-08-02",
            "end": "2020-08-02"
          },
          {
            "start": "2020-08-02",
            "end": "2020-08-02"
          }
        ]
      }
    ],
    "modified_date": "2020-08-02T14:59:58.8852635+00: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": "2020-08-02",
          "end": "2020-08-02"
        },
        {
          "start": "2020-08-02",
          "end": "2020-08-02"
        }
      ]
    },
    "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": "2020-08-02",
            "end": "2020-08-02"
          },
          {
            "start": "2020-08-02",
            "end": "2020-08-02"
          }
        ]
      },
      {
        "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": "2020-08-02",
            "end": "2020-08-02"
          },
          {
            "start": "2020-08-02",
            "end": "2020-08-02"
          }
        ]
      }
    ],
    "modified_date": "2020-08-02T14:59:58.8852635+00:00"
  }
]

PropertiesApi

Resource for all the Houses operations

GET v1/properties

Returns the list of completed properties for a given user. This is a protected endpoint.

Request

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

Additional parameters in the URL
Name Type Description Additional information
wid integer

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

Response

Object containing basic property information

Array[ PropertySummaryDto ]

Name Type Description
id integer

property identifier

name string

Name of the property

latitude decimal

Latitude coordinate of the house

longitude decimal

Longitude coordinate of the house

rooms Array[ RoomSummaryDto ]

List of rooms of the property

 Show child attributes
Name Type Description
id integer

Identifier of the roomtype

name string

Name of the roomtype

Response example
[
  {
    "id": 1,
    "name": "sample string 2",
    "latitude": 3.0,
    "longitude": 4.0,
    "rooms": [
      {
        "id": 1,
        "name": "sample string 2"
      },
      {
        "id": 1,
        "name": "sample string 2"
      }
    ]
  },
  {
    "id": 1,
    "name": "sample string 2",
    "latitude": 3.0,
    "longitude": 4.0,
    "rooms": [
      {
        "id": 1,
        "name": "sample string 2"
      },
      {
        "id": 1,
        "name": "sample string 2"
      }
    ]
  }
]

GET v1/properties/{id}

Get the basic info for a given house/property

Request

https://api.lodgify.com/v1/properties/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Property identifier

Required

maxDate date

wid integer

Response

Object containing basic property information

PropertyDto

Name Type Description
id integer

property identifier

name string

Name of the property

address string

Address of the property

zip string

Zip code for the property

city string

City name where the property is located

country string

Country name where the property is located

image_url string

Image Url

has_addons boolean

Boolean indicating if the property has available addons

has_agreement boolean

agreement_text string

agreement_url string

owner PropertyOwnerDto

 Show child attributes
Name Type Description
spoken_languages Array[string]

rating decimal

price_unit_in_days integer

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

min_price decimal

original_min_price decimal

max_price decimal

original_max_price decimal

rooms Array[ RoomDto ]

 Show child attributes
Name Type Description
id integer

name string

image_url string

max_people integer

units integer

has_wifi boolean

has_meal_plan boolean

bedrooms integer

bathrooms integer

area_unit string

area decimal

min_price decimal

original_min_price decimal

max_price decimal

original_max_price decimal

price_unit_in_days integer

currency CurrencyDto

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

in_out_max_date date

in_out ResultSearchInOutDto

 Show child attributes
Name Type Description
is_restricted boolean

check_in Array[ Item ]

 Show child attributes
Name Type Description
date date

for string

check_out Array[ Item ]

 Show child attributes
Name Type Description
date date

for string

not_available Array[ Item ]

 Show child attributes
Name Type Description
date date

for string

currency CurrencyDto

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
{
  "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,
      "has_meal_plan": true,
      "bedrooms": 8,
      "bathrooms": 9,
      "area_unit": "sample string 10",
      "area": 11.0,
      "min_price": 12.0,
      "original_min_price": 13.0,
      "max_price": 14.0,
      "original_max_price": 15.0,
      "price_unit_in_days": 16,
      "currency": {
        "id": 1,
        "code": "sample string 2",
        "name": "sample string 3",
        "euro_forex": 4.0,
        "symbol": "sample string 5"
      }
    },
    {
      "id": 1,
      "name": "sample string 2",
      "image_url": "sample string 3",
      "max_people": 4,
      "units": 5,
      "has_wifi": true,
      "has_meal_plan": true,
      "bedrooms": 8,
      "bathrooms": 9,
      "area_unit": "sample string 10",
      "area": 11.0,
      "min_price": 12.0,
      "original_min_price": 13.0,
      "max_price": 14.0,
      "original_max_price": 15.0,
      "price_unit_in_days": 16,
      "currency": {
        "id": 1,
        "code": "sample string 2",
        "name": "sample string 3",
        "euro_forex": 4.0,
        "symbol": "sample string 5"
      }
    }
  ],
  "in_out_max_date": "2020-08-02",
  "in_out": {
    "is_restricted": true,
    "check_in": [
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      },
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      }
    ],
    "check_out": [
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      },
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      }
    ],
    "not_available": [
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      },
      {
        "date": "2020-08-02",
        "for": "sample string 2"
      }
    ]
  },
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  }
}

GET v1/properties/{id}/payments

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

Request

https://api.lodgify.com/v1/properties/{id}/payments

Additional parameters in the URL
Name Type Description Additional information
id integer

House identifier

Required

Response

A list of the available payment types for the house

Array[ PaymentSettingsDto ]

Name Type Description
id integer

payment_address string

payment_type string

Response example
[
  {
    "id": 1,
    "payment_address": "sample string 1",
    "payment_type": "sample string 2"
  },
  {
    "id": 1,
    "payment_address": "sample string 1",
    "payment_type": "sample string 2"
  }
]

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

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

https://api.lodgify.com/v1/properties/{pid}/rates/addons

Additional parameters in the URL
Name Type Description Additional information
pid integer

Required

start date

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

end date

Optional, end date

rid integer

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

Response

Object

Response example
{}

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

Returns details for a given room in a property

Request

https://api.lodgify.com/v1/properties/{pid}/rooms/{rid}

Additional parameters in the URL
Name Type Description Additional information
pid integer

Required

rid integer

Room Id

Required

wid integer

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

Response

Details for the room

RoomDetailsDto

Name Type Description
images Array[ DescribedImageDto ]

 Show child attributes
Name Type Description
text string

url string

amenities Dictionary of string [key] and Array[ AmenityDto ] [value]

 Show child attributes

Key string

Value

Name Type Description
name string

prefix string

bracket string

text string

description string

breakfast_included boolean

has_parking boolean

adults_only boolean

pets_allowed boolean

show_additional_key_facts boolean

id integer

name string

image_url string

max_people integer

units integer

has_wifi boolean

has_meal_plan boolean

bedrooms integer

bathrooms integer

area_unit string

area decimal

min_price decimal

original_min_price decimal

max_price decimal

original_max_price decimal

price_unit_in_days integer

currency CurrencyDto

 Show child attributes
Name Type Description
id integer

Currency identifier

code string

Currency code

name string

Currency Name

euro_forex decimal

Exchange rate between currency and Euro

symbol string

Currency symbol

Response example
{
  "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"
      }
    ]
  },
  "description": "sample string 1",
  "breakfast_included": true,
  "has_parking": true,
  "adults_only": true,
  "pets_allowed": true,
  "show_additional_key_facts": true,
  "id": 6,
  "name": "sample string 7",
  "image_url": "sample string 8",
  "max_people": 9,
  "units": 10,
  "has_wifi": true,
  "has_meal_plan": true,
  "bedrooms": 13,
  "bathrooms": 14,
  "area_unit": "sample string 15",
  "area": 16.0,
  "min_price": 17.0,
  "original_min_price": 18.0,
  "max_price": 19.0,
  "original_max_price": 20.0,
  "price_unit_in_days": 21,
  "currency": {
    "id": 1,
    "code": "sample string 2",
    "name": "sample string 3",
    "euro_forex": 4.0,
    "symbol": "sample string 5"
  }
}

QuoteApi

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

GET v1/quote/{propertyId}

Obtain a quote

Request

https://api.lodgify.com/v1/quote/{propertyId}

Additional parameters in the URL
Name Type Description Additional information
arrival date

Arrival date

Required

departure date

Departure date

Required

propertyId integer

Property identifier

Required

roomTypes Array[ RoomTypeParamDto ]

Room type details

Required

 Show child attributes
Name Type Description Additional information
Id integer

RoomType identifier

People integer

Number of people

addOns Array[ AddOnParamDto ]

Optional add-ons to include in Quote

Required

 Show child attributes
Name Type Description Additional information
Id integer

Add-on identifier

Units integer

Add-on units. Optional, depending on the type of add-on.

promotionCode string

Optional promotion code to apply to Quote

Response

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

Array[ QuoteDto ]

Name Type Description
rate_type RateTypeDto

The rate type

 Show child attributes
Name Type Description
name string

Name of the rate type

currency string

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

rent decimal

Total rent for the period and all the room types

discount decimal

Total discount for all the room types

fees Array[ FeeDto ]

Fee information

 Show child attributes
Name Type Description
type FeeType

The type of fee

 Show child attributes

Possible enumeration values:

Name Value Description
Cleaning

0

Miscellaneous

1

name string

Translated name of the fee

value decimal

The total amount of the fee.

add_ons Array[ AddOnDto ]

Add-on information

 Show child attributes
Name Type Description
id integer

Add-on identifier

name string

Add-on name

value decimal

Add-on total amount

details string

Detailed price information

room_type_quotes Array[ RoomTypeQuoteDto ]

RoomType information

 Show child attributes
Name Type Description
id integer

Room type identifier

value decimal

Stay total

details Array[ RoomTypeQuoteDetailsDto ]

Price details

 Show child attributes
Name Type Description
from date

Period start date

to date

Period end rate

prices Array[ RoomTypeQuotePriceDto ]

Prices applied over the period

 Show child attributes
Name Type Description
type string

Type of price

days integer

How many days the price applies to

value decimal

Price value

is_best boolean

The price was chosen as the best for the given period

inner_price string

The price type upon which this price calculates its value

short_stay_premium decimal

Charge when stay is too short

discount RoomTypeDiscountDto

Discount information

 Show child attributes
Name Type Description
description string

Promotion information that caused the discount

value decimal

Discount value

taxes decimal

Taxes applied

security_deposit decimal

Security deposit

reservation_deposit decimal

Reservation deposit

total decimal

Total booking value

warnings Array[ WarningDto ]

Warnings resulting from calculation

 Show child attributes
Name Type Description
type ApiErrorCode

Type of warning

 Show child attributes

Possible enumeration values:

Name Value Description
Unknown

666

NotAuthorized

999

NotImplemented

998

NotFound

997

ArgumentError

996

NoRateDefined

901

MinStayRequired

902

BookingStatusUnknown

903

BookingMessageTypeNotAllowed

904

BookingNoRooms

905

BookingCannotChangeStatus

906

EnquiryAlreadyUpgraded

907

BookingPaymentNotValid

908

ArrivalNotValid

909

DepartureNotValid

910

PropertyNotAvailable

911

CaptchaInvalid

920

StripeError

930

ValidationError

940

PaymentError

950

message string

Warning message

Response example
[
  {
    "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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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": "2020-08-02T14:59:59.1196601+00:00",
            "to": "2020-08-02T14:59:59.1196601+00: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

GET v1/rates/calendar

Returns daily rates calendar for room types requested by roomTypeId or houseId.

Request

https://api.lodgify.com/v1/rates/calendar

Additional parameters in the URL
Name Type Description Additional information
RoomTypeId integer

Required

HouseId integer

Required

StartDate date

Required

EndDate date

Required

Response

Array[ CalendarResponseItem ]

Name Type Description
date date

is_default boolean

prices Array[ CalendarPrice ]

 Show child attributes
Name Type Description
min_stay integer

max_stay integer

price_per_day decimal number

Response example

POST v1/rates/savewithoutavailability

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

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

Body Parameters

TinyRateDto
Name Type Description Additional information
property_id integer

room_type_id integer

rates Array[ RangedRateModel ]

 Show child attributes
Name Type Description Additional information
is_default boolean

start_date date

end_date date

price_per_day decimal

min_stay integer

max_stay integer

price_per_additional_guest decimal

additional_guests_starts_from integer

Request example
{
  "property_id": 1,
  "room_type_id": 2,
  "rates": [
    {
      "is_default": true,
      "start_date": "0001-01-01T00:00:00",
      "end_date": "0001-01-01T00:00:00",
      "price_per_day": 100.0,
      "min_stay": 1,
      "max_stay": 6,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    },
    {
      "is_default": true,
      "start_date": "0001-01-01T00:00:00",
      "end_date": "0001-01-01T00:00:00",
      "price_per_day": 100.0,
      "min_stay": 7,
      "max_stay": 29,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    },
    {
      "is_default": true,
      "start_date": "0001-01-01T00:00:00",
      "end_date": "0001-01-01T00:00:00",
      "price_per_day": 100.0,
      "min_stay": 30,
      "max_stay": 0,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    },
    {
      "is_default": false,
      "start_date": "2020-08-02T00:00:00+00:00",
      "end_date": "2020-08-05T00:00:00+00:00",
      "price_per_day": 100.0,
      "min_stay": 1,
      "max_stay": 6,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    },
    {
      "is_default": false,
      "start_date": "2020-08-02T00:00:00+00:00",
      "end_date": "2020-08-05T00:00:00+00:00",
      "price_per_day": 100.0,
      "min_stay": 7,
      "max_stay": 29,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    },
    {
      "is_default": false,
      "start_date": "2020-08-02T00:00:00+00:00",
      "end_date": "2020-08-05T00:00:00+00:00",
      "price_per_day": 100.0,
      "min_stay": 30,
      "max_stay": 0,
      "price_per_additional_guest": 20.0,
      "additional_guests_starts_from": 3
    }
  ]
}

Response

boolean

Response example
true

WebhooksApi

All the calls to interact with Lodgify Webhooks, including subscribe and unsubscribe. An API key is required for authentication and authorization. The webhooks system works the following way: Lodgify provides two main API calls, subscribe and unsubscribe.This allows you to connect to one of our webhooks by passing the event you want to connect to, along with a unique callback URL that we will post to when the event occurs in our system. You can connect to the same event multiple times. The events we provide right now are: rate change and availability change. You can check the description of the subscribe call in the section webhooks/v1/subscribe for more info. Additionally, we provide pooling calls you can use to get an example of the data we send in our webhooks.

GET webhooks/v1/pooling/availability-change

Return an example of the JSON object Lodgify will send when this webhook is triggered.

Request

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

Response

A sample object of the returned data for the availability webhook

WebhookAvailabilityChangeDto

Name Type Description
action string

This is the name of the webhook action that was called.

owner AccountIdentity

 Show child attributes
Name Type Description
property_owner_id integer

sub_owner_id integer

property_id integer

Property identifier.

room_type_ids Array[integer]

Identifiers of the room types included.

start date

This is the start date of a change in the availability.

end date

This is the end date of a change in the availability.

source string

Response example
[
  {
    "action": "availability_change",
    "owner": {
      "property_owner_id": 0,
      "sub_owner_id": null
    },
    "property_id": 1,
    "room_type_ids": [
      2
    ],
    "start": "2019-12-18",
    "end": "2019-12-21",
    "source": null
  }
]

GET webhooks/v1/pooling/rate-change

Return an example of the JSON object Lodgify will send when this webhook is triggered.

Request

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

Response

A sample object of the returned data for the rate change webhook

WebhookRateChangeDto

Name Type Description
action string

This is the name of the webhook action that was called.

user_id integer

User identifier.

house_id integer

House identifier.

room_rates Array[ RatePerRoomTypeChange ]

A rate has been changed for this room type.

 Show child attributes
Name Type Description
room_type_id integer

Response example
{
  "action": "sample string 1",
  "user_id": 0,
  "house_id": 0,
  "room_rates": null
}

POST webhooks/v1/subscribe

Subscribe to a Lodgify webhook.

Request

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

Body Parameters

SubscribeBindingModel
Name Type Description Additional information
target_url string

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

event string

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'

Request example
{
  "target_url": "https://www.mydomain.com/rate_change",
  "event": "rate_change"
}

Response

On success we return a 201 status code with additional data

WebhookSubscribeDto

Name Type Description
id string

The identifier of the webhook you want to delete. It is the same ID Lodgify returned when you subscribed to this webhook.

Response example
{
  "id": null
}

DELETE webhooks/v1/unsubscribe

Unsubscribe from a Lodgify webhook

Request

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

Body Parameters

UnsubscribeBindingModel
Name Type Description Additional information
id string

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

Request example
{
  "id": "1234567asdfg"
}

Response

On success we return a 200 status code

IHttpActionResult

Response example

Api Definitions v2


AvailabilityApi

Availability related operations can be found in these endpoints

GET v2/availability

Availability calendar for a period

Request

https://api.lodgify.com/v2/availability

Additional parameters in the URL
Name Type Description Additional information
start date

Calendar start date

Required

end date

Calendar end date

Required

propertyId integer

Property Id (optional). If not specified all properties of the user will be listed.

roomTypeId integer

Room type Id (optional). If not specified all room types of the property will be listed.

includeDetails boolean

Include booking status

Default value is False

Response

Availability calendar

Array[ CalendarDto ]

Name Type Description
user_id integer

property_id integer

room_type_id integer

periods Array[ PeriodDto ]

 Show child attributes
Name Type Description
start date

end date

available integer

closed_period ClosedPeriodAvailabilityDto

 Show child attributes
Name Type Description
id integer

bookings Array[ BookingAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

status string

channel_calendars Array[ ChannelCalendarAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

Response example
[
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  },
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  }
]

GET v2/availability/{propertyId}

Availability calendar for a period

Request

https://api.lodgify.com/v2/availability/{propertyId}

Additional parameters in the URL
Name Type Description Additional information
start date

Calendar start date

Required

end date

Calendar end date

Required

propertyId integer

Property Id (optional). If not specified all properties of the user will be listed.

roomTypeId integer

Room type Id (optional). If not specified all room types of the property will be listed.

includeDetails boolean

Include booking status

Default value is False

Response

Availability calendar

Array[ CalendarDto ]

Name Type Description
user_id integer

property_id integer

room_type_id integer

periods Array[ PeriodDto ]

 Show child attributes
Name Type Description
start date

end date

available integer

closed_period ClosedPeriodAvailabilityDto

 Show child attributes
Name Type Description
id integer

bookings Array[ BookingAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

status string

channel_calendars Array[ ChannelCalendarAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

Response example
[
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  },
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  }
]

GET v2/availability/{propertyId}/{roomTypeId}

Availability calendar for a period

Request

https://api.lodgify.com/v2/availability/{propertyId}/{roomTypeId}

Additional parameters in the URL
Name Type Description Additional information
start date

Calendar start date

Required

end date

Calendar end date

Required

propertyId integer

Property Id (optional). If not specified all properties of the user will be listed.

roomTypeId integer

Room type Id (optional). If not specified all room types of the property will be listed.

includeDetails boolean

Include booking status

Default value is False

Response

Availability calendar

Array[ CalendarDto ]

Name Type Description
user_id integer

property_id integer

room_type_id integer

periods Array[ PeriodDto ]

 Show child attributes
Name Type Description
start date

end date

available integer

closed_period ClosedPeriodAvailabilityDto

 Show child attributes
Name Type Description
id integer

bookings Array[ BookingAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

status string

channel_calendars Array[ ChannelCalendarAvailabilityDto ]

 Show child attributes
Name Type Description
id integer

Response example
[
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  },
  {
    "user_id": 1,
    "property_id": 2,
    "room_type_id": 3,
    "periods": [
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      },
      {
        "start": "0001-01-01",
        "end": "0001-01-01",
        "available": 1,
        "closed_period": {
          "id": 1
        },
        "bookings": [
          {
            "id": 1,
            "status": "sample string 2"
          },
          {
            "id": 1,
            "status": "sample string 2"
          }
        ],
        "channel_calendars": [
          {
            "id": 1
          },
          {
            "id": 1
          }
        ]
      }
    ]
  }
]

BookingsApi

Booking related operations can be found in these endpoints

GET v2/reservations/bookings

Retrieve a list of bookings matching the query parameters

Request

https://api.lodgify.com/v2/reservations/bookings

Additional parameters in the URL
Name Type Description Additional information
page integer

Number of the page to retrieve

Default value is 1

size integer

Number of items per page

Default value is 50

includeCount boolean

Include number of all items

Default value is False

stayFilter StayFilterEnum

Filter Bookings by the stay dates

Default value is Upcoming

 Show child attributes

Possible enumeration values:

Name Value Description
Upcoming

1

Current

2

Historic

4

All

7

updatedSince date

Include only Bookings updated since this date

includeTransactions boolean

Include details about transactions and schedule

Default value is False

includeExternal boolean

Default value is False

trash TrashEnum

Query bookings that are in trash

Default value is False

 Show child attributes

Possible enumeration values:

Name Value Description
False

0

True

1

All

2

Response

A list of Bookings

BookingSetDto

Name Type Description
count integer

items Array[ BookingDto ]

 Show child attributes
Name Type Description
id integer

Id of the booking

user_id integer

User the booking belongs to

arrival date

Arrival date

departure date

Departure date

property_id integer

Id of the property

rooms Array[ BookingRoomDto ]

Rooms booked

 Show child attributes
Name Type Description
room_type_id integer

Id of the room type booked

people integer

Amount of people that will occupy the room type

guest GuestDto

Guest of the booking

 Show child attributes
Name Type Description
name string

Name of the guest

email string

Email of the guest

phone string

Phone number of the guest

country_code string

Code of the country the Guest is from

language string

Language selected by the guest

status StatusEnum

Status of the booking

 Show child attributes

Possible enumeration values:

Name Value Description
Open

0

The booking is not occupying the availability calendar

Unavailable

1

The booking is Open and there is no availaibility in the booked property

Tentative

2

The booking is occupying the availability calendar, waiting for an action to be taken by the owner or the guest

Booked

3

The booking was confirmed by owner and guest

Declined

4

The booking was rejected

tentative_expires_at date

Time the Tentative status will expire at

source SourceEnum

Source the booking was created from

 Show child attributes

Possible enumeration values:

Name Value Description
Manual

0

The Booking is manually created by the owner

OH

1

The Booking comes from one of the websites of the owner

NineFlats

2

The Booking comes from NineFlats channel

Airbnb

3

The Booking comes from AirBnb ICal integration

AirbnbIntegration

4

The Booking comes from Airbnb channel

HomeAway

5

The Booking comes from HomeAway channel

BookingCom

6

The Booking comes from Booking.com channel

Expedia

7

The Booking comes from Expedia channel

ICal

8

The Booking comes fron an Ical channel

Email

9

The Booking comes from an Email integration

FacebookMessenger

10

The Booking is created through Facebook messenger

Other

11

The Booking comes from a different source

source_text string

Details of the booking from the source

created_from_ip string

Ip the booking was created from

created_at date

Time the booking was created at

updated_at date

Last time the booking was updated

canceled_at date

Date the booking was canceled at

is_new boolean

When it is new, the owner has not seen the booking yet

is_deleted boolean

When it is deleted, the owner moved the booking to trash

currency_code string

Currency in which all amounts are expressed for this booking

total_amount decimal number

Total amount of the booking

subtotals SubtotalDto

Subtotal details of the booking

 Show child attributes
Name Type Description
stay decimal number

Total stay amount

promotions decimal number

Total promotions amount

fees decimal number

Totoal fees amount

taxes decimal number

Total taxes amount

addons decimal number

Total addons amount

amount_paid decimal number

Amount already paid

amount_due decimal number

Amount pending to be paid or refunded

quote QuoteDto

Active quote belonging to the booking

 Show child attributes
Name Type Description
id integer

Id of the Quote

policy PolicyDto

Details about the policy, if any

 Show child attributes
Name Type Description
name string

Name of the policy

payments string

Description of the payment policy

cancellation string

Description of the cancellation policy

damage_deposit string

Description of the damage deposit policy

status QuoteStatusEnum

Status of the Quote

 Show child attributes

Possible enumeration values:

Name Value Description
Null

0

Status is not set

NotScheduled

1

Not scheduled quote

NotSent

2

Quote is not sent

Agreed

3

Quote is agreed

Overbooked

4

Quote belongs to overbooked booking

CancelledByOwner

5

Quote is cancelled by owner

CancelledByGuest

6

Quote is cancelled by guest

Rejected

7

Quote is rejected

Deactivated

8

Quote is deactivated

ExpiredByGuest

9

Quote is expired by guest

ExpiredByOwner

10

Quote is expired by owner

PendingForOwner

11

Quote is pending for owner action

PendingForGuest

12

Quote is pending for guest action

PendingForPayment

13

Quote is pending for payment

RedirectedToOffsitePayment

14

Quote is waiting for offsite payment

ChangeRequested

15

Quote change was requested

Changed

16

Quote is changed

scheduled_transactions Array[ ScheduledTransactionDto ]

Schedule details enforced by the Quote

 Show child attributes
Name Type Description
id integer

Id of the scheduled item

type ScheduledTransactionTypeEnum

Type of scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
PrePayment

0

A payment scheduled at the time of booking

InterimPayment

1

Second payment scheduled in a 3-payment schedule

BalancePayment

2

Last scheduled payment in the schedule for the total amount due

PrecedingPayment

3

Payment already done, coming from a change request

Cancellation

4

A scheduled refund due to a cancellation

DamageDepositAuthorization

5

A scheduled damage-deposit authorization

DamageDepositVoid

6

A scheduled damage-deposit void

SecurityDepositCharge

7

A scheduled security-deposit charge

SecurityDepositRefund

8

A scheduled security-deposit refund

status ScheduledTransactionStatusEnum

Status of the scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
Scheduled

0

The item is due tomorrow or later

Overdue

1

The item is due today or before today

Pending

2

The item is being processed

Aborted

3

The booking was canceled, and schedule item will not be executed

Paid

4

The scheduled payment is done

Refunded

5

The scheduled refund is done

Authorized

6

The scheduled authorization is done

Voided

7

The scheduled void is done

Captured

8

The capture is done

Shown

9

The credit card is shown

amount decimal number

The amount to be paid or refunded. It is a positive value.

due_at date

The date the schedule item will be due at. Null means that the date will be the date of the booking agreement.

scheduled_damage_protection Array[ ScheduledTransactionDto ]

Schedule details of damage protection enforced by the Quote

 Show child attributes
Name Type Description
id integer

Id of the scheduled item

type ScheduledTransactionTypeEnum

Type of scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
PrePayment

0

A payment scheduled at the time of booking

InterimPayment

1

Second payment scheduled in a 3-payment schedule

BalancePayment

2

Last scheduled payment in the schedule for the total amount due

PrecedingPayment

3

Payment already done, coming from a change request

Cancellation

4

A scheduled refund due to a cancellation

DamageDepositAuthorization

5

A scheduled damage-deposit authorization

DamageDepositVoid

6

A scheduled damage-deposit void

SecurityDepositCharge

7

A scheduled security-deposit charge

SecurityDepositRefund

8

A scheduled security-deposit refund

status ScheduledTransactionStatusEnum

Status of the scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
Scheduled

0

The item is due tomorrow or later

Overdue

1

The item is due today or before today

Pending

2

The item is being processed

Aborted

3

The booking was canceled, and schedule item will not be executed

Paid

4

The scheduled payment is done

Refunded

5

The scheduled refund is done

Authorized

6

The scheduled authorization is done

Voided

7

The scheduled void is done

Captured

8

The capture is done

Shown

9

The credit card is shown

amount decimal number

The amount to be paid or refunded. It is a positive value.

due_at date

The date the schedule item will be due at. Null means that the date will be the date of the booking agreement.

transactions Array[ TransactionDto ]

Transaction details of the booking

 Show child attributes
Name Type Description
id integer

Id of the transaction

type TransactionTypeEnum

The type of transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Payment

0

Pay an amount

Refund

1

Refund a previously paid amount

Show

2

Show the credit card details

Authorization

3

Authorize an amount

Void

4

Void a previously authorized amount

Capture

5

Capture a previously authorized amount

status TransactionStatusEnum

The status of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Requested

0

The transaction was requested to an offsite gateway

Processing

1

The transaction is being processed

Done

2

The transaction was processed successfully

Failed

3

The transaction could not be processed

Canceled

4

The owner canceled the transaction processing

Abandoned

5

The transaction request timeout has expired

payment_type PaymentTypeEnum

The payment type of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
None

0

No payment type

PaypalWallet

1

PayPal payment

BankAccount

2

Manual bank payment

StripeSpreedly

3

Stripe payment through Spreedly

Payyo

4

Payyo payment

AuthorizeNetSpreedly

5

Authorize.Net payment through Spreedly

BraintreeSpreedly

6

Braintree payment through Spreedly

PayPalProSpreedly

7

PayPal Pro payment through Spreedly

PciProxy

8

PciProxy transaction

SpreedlyTestSpreedly

9

Spreedly test gateway payment

StripeSca

10

Stripe (3DS2 supported) payment

description string

Description of the transaction

amount decimal number

Amount of the transaction. It is always a positive value

processed_at date

The time the transaction was processed at

damage_protection Array[ TransactionDto ]

Damage-protection transaction details of the booking

 Show child attributes
Name Type Description
id integer

Id of the transaction

type TransactionTypeEnum

The type of transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Payment

0

Pay an amount

Refund

1

Refund a previously paid amount

Show

2

Show the credit card details

Authorization

3

Authorize an amount

Void

4

Void a previously authorized amount

Capture

5

Capture a previously authorized amount

status TransactionStatusEnum

The status of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Requested

0

The transaction was requested to an offsite gateway

Processing

1

The transaction is being processed

Done

2

The transaction was processed successfully

Failed

3

The transaction could not be processed

Canceled

4

The owner canceled the transaction processing

Abandoned

5

The transaction request timeout has expired

payment_type PaymentTypeEnum

The payment type of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
None

0

No payment type

PaypalWallet

1

PayPal payment

BankAccount

2

Manual bank payment

StripeSpreedly

3

Stripe payment through Spreedly

Payyo

4

Payyo payment

AuthorizeNetSpreedly

5

Authorize.Net payment through Spreedly

BraintreeSpreedly

6

Braintree payment through Spreedly

PayPalProSpreedly

7

PayPal Pro payment through Spreedly

PciProxy

8

PciProxy transaction

SpreedlyTestSpreedly

9

Spreedly test gateway payment

StripeSca

10

Stripe (3DS2 supported) payment

description string

Description of the transaction

amount decimal number

Amount of the transaction. It is always a positive value

processed_at date

The time the transaction was processed at

notes string

Notes added by the owner

thread_uid globally unique identifier

Uid of the message thread the booking belongs to

external_booking string

Booking information as received from an external channel

Response example

GET v2/reservations/bookings/{id}

Retrieve a Booking by Id

Request

https://api.lodgify.com/v2/reservations/bookings/{id}

Additional parameters in the URL
Name Type Description Additional information
id integer

Id of the Booking

Required

Response

The Booking with the specified Id. 404 Error code when the booking is not found

BookingDto

Name Type Description
id integer

Id of the booking

user_id integer

User the booking belongs to

arrival date

Arrival date

departure date

Departure date

property_id integer

Id of the property

rooms Array[ BookingRoomDto ]

Rooms booked

 Show child attributes
Name Type Description
room_type_id integer

Id of the room type booked

people integer

Amount of people that will occupy the room type

guest GuestDto

Guest of the booking

 Show child attributes
Name Type Description
name string

Name of the guest

email string

Email of the guest

phone string

Phone number of the guest

country_code string

Code of the country the Guest is from

language string

Language selected by the guest

status StatusEnum

Status of the booking

 Show child attributes

Possible enumeration values:

Name Value Description
Open

0

The booking is not occupying the availability calendar

Unavailable

1

The booking is Open and there is no availaibility in the booked property

Tentative

2

The booking is occupying the availability calendar, waiting for an action to be taken by the owner or the guest

Booked

3

The booking was confirmed by owner and guest

Declined

4

The booking was rejected

tentative_expires_at date

Time the Tentative status will expire at

source SourceEnum

Source the booking was created from

 Show child attributes

Possible enumeration values:

Name Value Description
Manual

0

The Booking is manually created by the owner

OH

1

The Booking comes from one of the websites of the owner

NineFlats

2

The Booking comes from NineFlats channel

Airbnb

3

The Booking comes from AirBnb ICal integration

AirbnbIntegration

4

The Booking comes from Airbnb channel

HomeAway

5

The Booking comes from HomeAway channel

BookingCom

6

The Booking comes from Booking.com channel

Expedia

7

The Booking comes from Expedia channel

ICal

8

The Booking comes fron an Ical channel

Email

9

The Booking comes from an Email integration

FacebookMessenger

10

The Booking is created through Facebook messenger

Other

11

The Booking comes from a different source

source_text string

Details of the booking from the source

created_from_ip string

Ip the booking was created from

created_at date

Time the booking was created at

updated_at date

Last time the booking was updated

canceled_at date

Date the booking was canceled at

is_new boolean

When it is new, the owner has not seen the booking yet

is_deleted boolean

When it is deleted, the owner moved the booking to trash

currency_code string

Currency in which all amounts are expressed for this booking

total_amount decimal number

Total amount of the booking

subtotals SubtotalDto

Subtotal details of the booking

 Show child attributes
Name Type Description
stay decimal number

Total stay amount

promotions decimal number

Total promotions amount

fees decimal number

Totoal fees amount

taxes decimal number

Total taxes amount

addons decimal number

Total addons amount

amount_paid decimal number

Amount already paid

amount_due decimal number

Amount pending to be paid or refunded

quote QuoteDto

Active quote belonging to the booking

 Show child attributes
Name Type Description
id integer

Id of the Quote

policy PolicyDto

Details about the policy, if any

 Show child attributes
Name Type Description
name string

Name of the policy

payments string

Description of the payment policy

cancellation string

Description of the cancellation policy

damage_deposit string

Description of the damage deposit policy

status QuoteStatusEnum

Status of the Quote

 Show child attributes

Possible enumeration values:

Name Value Description
Null

0

Status is not set

NotScheduled

1

Not scheduled quote

NotSent

2

Quote is not sent

Agreed

3

Quote is agreed

Overbooked

4

Quote belongs to overbooked booking

CancelledByOwner

5

Quote is cancelled by owner

CancelledByGuest

6

Quote is cancelled by guest

Rejected

7

Quote is rejected

Deactivated

8

Quote is deactivated

ExpiredByGuest

9

Quote is expired by guest

ExpiredByOwner

10

Quote is expired by owner

PendingForOwner

11

Quote is pending for owner action

PendingForGuest

12

Quote is pending for guest action

PendingForPayment

13

Quote is pending for payment

RedirectedToOffsitePayment

14

Quote is waiting for offsite payment

ChangeRequested

15

Quote change was requested

Changed

16

Quote is changed

scheduled_transactions Array[ ScheduledTransactionDto ]

Schedule details enforced by the Quote

 Show child attributes
Name Type Description
id integer

Id of the scheduled item

type ScheduledTransactionTypeEnum

Type of scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
PrePayment

0

A payment scheduled at the time of booking

InterimPayment

1

Second payment scheduled in a 3-payment schedule

BalancePayment

2

Last scheduled payment in the schedule for the total amount due

PrecedingPayment

3

Payment already done, coming from a change request

Cancellation

4

A scheduled refund due to a cancellation

DamageDepositAuthorization

5

A scheduled damage-deposit authorization

DamageDepositVoid

6

A scheduled damage-deposit void

SecurityDepositCharge

7

A scheduled security-deposit charge

SecurityDepositRefund

8

A scheduled security-deposit refund

status ScheduledTransactionStatusEnum

Status of the scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
Scheduled

0

The item is due tomorrow or later

Overdue

1

The item is due today or before today

Pending

2

The item is being processed

Aborted

3

The booking was canceled, and schedule item will not be executed

Paid

4

The scheduled payment is done

Refunded

5

The scheduled refund is done

Authorized

6

The scheduled authorization is done

Voided

7

The scheduled void is done

Captured

8

The capture is done

Shown

9

The credit card is shown

amount decimal number

The amount to be paid or refunded. It is a positive value.

due_at date

The date the schedule item will be due at. Null means that the date will be the date of the booking agreement.

scheduled_damage_protection Array[ ScheduledTransactionDto ]

Schedule details of damage protection enforced by the Quote

 Show child attributes
Name Type Description
id integer

Id of the scheduled item

type ScheduledTransactionTypeEnum

Type of scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
PrePayment

0

A payment scheduled at the time of booking

InterimPayment

1

Second payment scheduled in a 3-payment schedule

BalancePayment

2

Last scheduled payment in the schedule for the total amount due

PrecedingPayment

3

Payment already done, coming from a change request

Cancellation

4

A scheduled refund due to a cancellation

DamageDepositAuthorization

5

A scheduled damage-deposit authorization

DamageDepositVoid

6

A scheduled damage-deposit void

SecurityDepositCharge

7

A scheduled security-deposit charge

SecurityDepositRefund

8

A scheduled security-deposit refund

status ScheduledTransactionStatusEnum

Status of the scheduled item

 Show child attributes

Possible enumeration values:

Name Value Description
Scheduled

0

The item is due tomorrow or later

Overdue

1

The item is due today or before today

Pending

2

The item is being processed

Aborted

3

The booking was canceled, and schedule item will not be executed

Paid

4

The scheduled payment is done

Refunded

5

The scheduled refund is done

Authorized

6

The scheduled authorization is done

Voided

7

The scheduled void is done

Captured

8

The capture is done

Shown

9

The credit card is shown

amount decimal number

The amount to be paid or refunded. It is a positive value.

due_at date

The date the schedule item will be due at. Null means that the date will be the date of the booking agreement.

transactions Array[ TransactionDto ]

Transaction details of the booking

 Show child attributes
Name Type Description
id integer

Id of the transaction

type TransactionTypeEnum

The type of transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Payment

0

Pay an amount

Refund

1

Refund a previously paid amount

Show

2

Show the credit card details

Authorization

3

Authorize an amount

Void

4

Void a previously authorized amount

Capture

5

Capture a previously authorized amount

status TransactionStatusEnum

The status of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Requested

0

The transaction was requested to an offsite gateway

Processing

1

The transaction is being processed

Done

2

The transaction was processed successfully

Failed

3

The transaction could not be processed

Canceled

4

The owner canceled the transaction processing

Abandoned

5

The transaction request timeout has expired

payment_type PaymentTypeEnum

The payment type of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
None

0

No payment type

PaypalWallet

1

PayPal payment

BankAccount

2

Manual bank payment

StripeSpreedly

3

Stripe payment through Spreedly

Payyo

4

Payyo payment

AuthorizeNetSpreedly

5

Authorize.Net payment through Spreedly

BraintreeSpreedly

6

Braintree payment through Spreedly

PayPalProSpreedly

7

PayPal Pro payment through Spreedly

PciProxy

8

PciProxy transaction

SpreedlyTestSpreedly

9

Spreedly test gateway payment

StripeSca

10

Stripe (3DS2 supported) payment

description string

Description of the transaction

amount decimal number

Amount of the transaction. It is always a positive value

processed_at date

The time the transaction was processed at

damage_protection Array[ TransactionDto ]

Damage-protection transaction details of the booking

 Show child attributes
Name Type Description
id integer

Id of the transaction

type TransactionTypeEnum

The type of transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Payment

0

Pay an amount

Refund

1

Refund a previously paid amount

Show

2

Show the credit card details

Authorization

3

Authorize an amount

Void

4

Void a previously authorized amount

Capture

5

Capture a previously authorized amount

status TransactionStatusEnum

The status of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
Requested

0

The transaction was requested to an offsite gateway

Processing

1

The transaction is being processed

Done

2

The transaction was processed successfully

Failed

3

The transaction could not be processed

Canceled

4

The owner canceled the transaction processing

Abandoned

5

The transaction request timeout has expired

payment_type PaymentTypeEnum

The payment type of the transaction

 Show child attributes

Possible enumeration values:

Name Value Description
None

0

No payment type

PaypalWallet

1

PayPal payment

BankAccount

2

Manual bank payment

StripeSpreedly

3

Stripe payment through Spreedly

Payyo

4

Payyo payment

AuthorizeNetSpreedly

5

Authorize.Net payment through Spreedly

BraintreeSpreedly

6

Braintree payment through Spreedly

PayPalProSpreedly

7

PayPal Pro payment through Spreedly

PciProxy

8

PciProxy transaction

SpreedlyTestSpreedly

9

Spreedly test gateway payment

StripeSca

10

Stripe (3DS2 supported) payment

description string

Description of the transaction

amount decimal number

Amount of the transaction. It is always a positive value

processed_at date

The time the transaction was processed at

notes string

Notes added by the owner

thread_uid globally unique identifier

Uid of the message thread the booking belongs to

external_booking string

Booking information as received from an external channel