• Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    PHP
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Looking for the cheapest flights and don't have enough time to track all the prices?

FlightSpy

Flight Spy

Scrutinizer Code Quality Build Status Latest Stable Version GitHub license Twitter

Looking for the cheapest flights and don't have enough time to track all the prices?

Be notified whenever the budget you're looking for pops up by only declaring a simple JSON file!

[
  {
    "from": "FRA-sky",
    "to": "GRU-sky",
    "search-period-from": "2017-07-01",
    "search-period-to": "2017-07-31",
    "search-period-travel-days": 20,
    "max-price": "650",
    "currency": "EUR",
    "country": "DE",
    "locale": "de-DE",
    "adults": "1",
    "children": "1"
  }
]

Prerequisites

Create your account at Skyscanner to get your API access. Don't worry, it's for free! http://en.business.skyscanner.net/

To receive notifications by Slack you'll have to create one account here: https://slack.com/

If you also want to receive e-mails create a free account at https://postmarkapp.com/

Install with docker

Rename the src/Resources/parameters.yml.dist to src/Resources/parameters.yml and update the content with the data from the previous step.

Rename the docker/volume/watch.json.dist to docker/volume/watch.json and fill with your next trips!

$ git clone https://github.com/jeancsil/flight-spy.git
$ docker-compose up -d

Create your elasticsearch index to hold your history data

PUT /flightspy
{
  "settings": {
    "number_of_replicas": 0,
    "number_of_shards": 1
  },
  "mappings": {
    "history": {
      "properties": {
        "Creation": {
          "type": "date"
        },
        "SessionKey": {
          "type": "keyword"
        }
    .......
    HERE GOES THE CONTENT OF THIS FILE:
    https://github.com/jeancsil/flight-spy/blob/master/src/Resources/elasticsearch/mappings.json
  }
}

Configure kibana index pattern

Browse to this url: http://localhost:5601/

In the first screen, kibana will ask you to create the index pattern to show you some data.

You can fill your index name: flightspy or flightstpy*

Visualize your watched prices with Kibana

alt text

Import the src/Resources/kibana/Dashboard.json file into your kibana dashboards panel: http://localhost:5601/app/kibana#/management/kibana/objects

Documentation

FlightSpy will look for the best deals for you every 15 minutes and will let you know by e-mail/Slack if there is a good price for you next trip!

Support

For general support and questions, find me on Twitter as @jeancsil.

Bugs and suggestions: open a ticket.

License

This package is available under the MIT license.