Giter Site home page Giter Site logo

booking-hackathon-nov-2016's Introduction

Booking hackathon November 2016

Quick Start

docker-compose build
docker-compose run --rm backendpl carton install
docker-compose run --rm frontend npm install
docker-compose up

Then, once all the services are up, load conference data (+ geocode and summaries) to the Python backend:

docker-compose exec backendpy python manage.py migrate
docker-compose exec backendpy python manage.py load_data
docker-compose exec backendpy python manage.py geocode
docker-compose exec backendpy python manage.py summarize

Then hit http://localhost.

Accommodation API

Basics

  • not compulsory
  • restful
  • basic http auth
  • https
  • cors enabled

New feature: swagger spec

http://developers.booking.com/api/technical.json

Static API endpoints

  • autocomplete
  • getHotels
  • getBookingcomReview{,Score}s
  • goetHotel{Facilities,DescriptionPhotos,DescriptionTranslations}
  • getRooms

Realtime endpoints

  • getHotelAvailabilityV2
  • getBlockAvailability

Terms and Phrases

  • Availibility: ability to book
  • Block: the “booking”, has a price
  • Policy: information on cancelation, deposits, particulars
  • Occupancy: number of people in a Block
  • Mealplan: included meals in Block
  • Facility: amenities provided
  • Room: static things in a room
  • Property: accommodation venue, hotel/apartment, holiday home, etc

New Ideas

  • As a traveller, I want to share my itinerary to my followers so they can experience my journey!
  • As someone who would like to travel to a specific place but have no idea what attractions are there, I want to have something suggest places depending on my state (e.g. Facebook feed) so I can best enjoy my travel!
  • As someone who has photos of places I want to travel, I’d like to have something suggest to me based on these places
  • As someone who would ask about travel, I’d like to have a search box to put my question in so I can get answers!
  • As someone attending conferences, I’d like to have suggestions for booking + attractions along with my conference registration

Chosen: conferences + booking

Stack

  • frontend: AngularJS
  • backend: Django

API

GET /conferences/

  • emit a list of conferences
    GET /conferences/
        
    #+RESULTS:
    [
      {
        "id": 1,
        "name": "Accessibility Camp Bay Area 2016",
        "url": "http://www.accessibilitycampbay.org/",
        "start_date": "2016-10-29",
        "end_date": "2016-10-29",
        "cfp_date": null,
        "city": "San Francisco",
        "state": "California",
        "country": "USA",
        "topics": "accessibility, a11y",
        "languages": "English",
        "code_of_conduct": "",
        "twitter": "A11yCampBay",
        "facebook": "",
        "accessibility": "",
        "diversity_tickets": null,
        "youtube": ""
      },
      {
        "id": 2,
        "name": "Accessibility Camp DC 2014",
        "url": "http://www.accessibilitycampdc.org/",
        "start_date": "2014-10-11",
        "end_date": "2014-10-11",
        "cfp_date": null,
        "city": "Washington",
        "state": "DC",
        "country": "USA",
        "topics": "accessibility, a11y",
        "languages": "English",
        "code_of_conduct": "",
        "twitter": "",
        "facebook": "",
        "accessibility": "",
        "diversity_tickets": null,
        "youtube": ""
      },
      ...
    ]
        

GET /conferences/:id/

  • emit details of conference specified by its id
    GET /conferences/1/
        
    #+RESULTS:
    {
      "id": 1,
      "name": "Accessibility Camp Bay Area 2016",
      "url": "http://www.accessibilitycampbay.org/",
      "start_date": "2016-10-29",
      "end_date": "2016-10-29",
      "cfp_date": null,
      "city": "San Francisco",
      "state": "California",
      "country": "USA",
      "topics": "accessibility, a11y",
      "languages": "English",
      "code_of_conduct": "",
      "twitter": "A11yCampBay",
      "facebook": "",
      "accessibility": "",
      "diversity_tickets": null,
      "youtube": ""
    }
        

GET /conferences/:id/hotels/

  • emits a list of hotels near the conference venue (default 15km)
    GET /conferences/:id/hotels/
        

booking-hackathon-nov-2016's People

Contributors

goyanx avatar ray-dino avatar zakame avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.