FlightSpy
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
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.