Friday, June 7, 2013

Southwest Flight Auto Check-In

I've taken a few flights on Southwest over the last couple of months and have another coming up.
One thing I don't particularly enjoy is the day-before-flight ritual of watching the clock, waiting to click the check-in button so I can get a decent seat.  The early bird option at $12.95 each way doesn't seem like a great value, and besides, I'm too cheap anyway.

Not long ago there was a great website that allowed users to enter Southwest flight info and would automatically check them in for their flight. Southwest, not surprising, put an end to that. :(  With the success of my Pandora user script, I thought another go was in order.

Last night I spent about an hour putting this little user script together that *should* work. I tested all the way up to the actual printing your boarding pass page.  I saved a copy of all the check-in pages the last time I flew Southwest in anticipation of someday writing a script like this.  From those saved pages, I think I'm doing everything correctly.  Have to wait until my actual flight to find out - wish me luck.

The magic happens after you input your flight information and click the 'Check In' button.  The script keys off the oops message Southwest provides and inserts inputs for the date/time of your flight.  Make sure the oops is because you're over the 24-hour period and not for some other reason.

Date/Time Input


Any date/time validation errors are displayed.

Validation Error

One thing to note is that the script limits you to only checking in for a flight that is at most, 24 days away.  I did this because the timeout argument to window.setTimeout() is a signed 32-bit integer.  Any good computer science major will know that caps the max timeout to 2^31 - 1 msec, a little over 24 days.  I could have chained timeouts to allow for any future date, but 24 days is plenty for me.

The Final Countdown!

Countdown

Once the countdown is finished, the script will automatically click the 'Check In' button.  From there it will select all passengers and click the print boarding passes button.  You'll have to trust me on that last part!

I only tested the script in Chrome, but Firefox should work with the Greasemonkey plugin.  To install, just drag-and-drop the file into the Chrome Extensions window.

24 comments:

  1. i tried it in chrome (Version 28.0.1500.95) but it just kicks me back to the 'start auto check-in' screen and never gets to the count down.

    ReplyDelete
  2. I had to change innerText to textContent in insertH4() and insertLabel() to get some of the text to show in Firefox.

    ReplyDelete
  3. I tried to install the script by drag it to the chrome extension page. It did not install it. Is there a different way to install this script? I also tried to use Tempermonkey but it did not work either. Perhaps I am not familiar with the Chrome? :(

    ReplyDelete
  4. looks like Chrome has blocked the local extension install?

    ReplyDelete
    Replies
    1. To install a user script not from the Chrome store you have to open the Extensions window in Chrome and then drag the .js file to it.

      Delete
  5. Hi, this would truly be great to have, but I'm not sure how to get it to work. I've copied the script from GitHub into a local file named southwest.js. I open the extensions window in Chrome and drag and drop the file there. Then the browser displays the text of the script. Now what??
    Thanks

    ReplyDelete
  6. The file must have .user.js as the extension. Just rename the file to 'southwest.user.js' and it should install.

    I've updated the gist filename to have the proper extension.

    ReplyDelete
    Replies
    1. Testing right now for a flight in 3 hours. If this works, it will save me from having to get up at 5:00 24 hours before a nearly weekly flight i take. Thanks for doing this and putting it out there.

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Hi was able to get the script installed on google chrome. But just wondering once i had followed your instructions as described on the 3 screenshots above and ran the script, and got the countdown clock going. Do i have to leave the computer on and leave the webpage open? or can i close the pc and the countdown and the check in will occur without the page open and the computer on? sorry for the dumb question. But just wanted to make sure if i needed to leave the computer on with the webpage open. Thank you.

    ReplyDelete
  9. Will this allow for multiple check-ins for same flight but different confirmation number? Seems like it wants to work but didn't know in reality if it did or if anyone reported it working?
    Thanks!!

    ReplyDelete
    Replies
    1. It should check in all parties that are associated with the confirmation number. I haven't traveled w/ multiple parties using the script so I can not 100% confirm it actually works.

      Delete
  10. works great, thanks. good karma to you

    ReplyDelete
  11. i tried this on chrome and it worked perfectly. But now it looks like chrome will disable any script that it does not recognize. has anyone tried this one firefox with the greasemonkey add on?

    ReplyDelete
  12. Has someone used this script lately? I used it last month on firefox with the greasemonkey add in with no issues. However, something seemed to have changed recently and I'm unable to use the script now.

    ReplyDelete
  13. You need to add the Southwest https sites to get it to work. Add the following below the other @include lines:

    // @include https://southwest.com/flight/retrieveCheckinDoc*
    // @include https://www.southwest.com/flight/retrieveCheckinDoc*
    // @include https://southwest.com/flight/selectPrintDocument*
    // @include https://www.southwest.com/flight/selectPrintDocument*

    ReplyDelete
  14. has anyone verified and tried this after ahect comments?

    ReplyDelete
  15. i just tried with ahect's add ins and it does not work. after adding ahect's fields above the the field for the time and date does come out but after that the countdown clock is missing and the time and date resets itself.

    ReplyDelete
  16. This worked perfectly for me (w/ the added lines from 'ahecht'), thanks for this!

    ReplyDelete
  17. This works as of 5/2016...you just need to change all the http's in the script to https's

    ReplyDelete
  18. The best bitcoin merit casino games 【2021】
    You can play the most popular cryptocurrency slot games such as Monopoly 메리트 카지노 쿠폰 and kadangpintar Starburst ✓ Play for real money and 메리트 카지노 win real money on crypto casinos.

    ReplyDelete