Project

beds24

0.0
No commit activity in last 3 years
No release in over 3 years
Bindings for beds24.com API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
~> 10.0
~> 3.0
~> 0.17.0
~> 3.6

Runtime

~> 0.17.0
~> 1.10
~> 3.7
 Project Readme

Beds24 Build Status Gem Version

This is a simple wrapper of Beds24 API. It allows to fetch data related to properties and bookings created and filter that data as per API docs.

Installation

Add this line to your application's Gemfile:

gem 'beds24'

And then execute:

$ bundle

Or install it yourself as:

$ gem install beds24

Usage

To use a gem you should allow API Key through your Beds24 settings. Wrapper needs you to supply the account API key (auth_token) set at the menu "Settings > Account" Operations involving a specific property need to supply the property key (propKey) set at the menu "Settings > Properties > Link"

Sample Code for JSON API

auth_token = '<your-key>'
client = Beds24::JSONClient.new auth_token

client.get_properties # List all account properties

prop_key = '<property-key>'

client.get_property(prop_key) # Display individual property data
client.get_property(prop_key, includeRooms: true) # Pass parameters as per docs

client.get_bookings(prop_key) # Get all bookings for given property
client.get_bookings(prop_key, includeInvoice: true) # Pass parameters as per docs

Sample Code for XML API

username = '<your-username>'
password = '<your-password>'
client = Beds24::XMLClient.new username, password

client.get_properties # List all account properties

client.get_properties(propid: 123) # Display individual property data

client.get_bookings() # Get all bookings
client.get_bookings(propid: 123, datefrom: '20190101') # Pass parameters as per docs

client.modify_booking(123, guestFirstName: 'John') # Updates by id with given params

Data returned is already parsed in a meaningful way to plain Ruby Hash. IDs and names are extracted to a top level to avoid hash keys collision. Attributes are also preserved.

Example:

<bookings attr="test">
    <booking id="1"><!-- DATA --></booking>
    <booking id="2"><!-- DATA --></booking>
</bookings>

will become:

{
    'bookings' => {
        'attr' => 'test',
        '1' => {...},
        '2' => {...}
    }
}

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mihilbabin/beds24.

License

The gem is available as open source under the terms of the MIT License.