Monday, April 7, 2008

How long will it take you to get US Visa interview if you are in say....Jamaica?

A couple of weeks ago my wife was robbed and her passport was in the bag. So now we have to go through the process of reapplying. Same cost ($131 US), same wait as if it was a brand new application.

After filling out a bunch of online forms and paying for a voucher we are supposed to use their online scheduling application to make her appointment. To my surprise there were no openings on the schedule between April and August.

Think about that for a second, their schedule is booked solid for 5 months. The application actually didn't allow any bookings beyond August...too far in the future I guess (with global warming and such who knows what could happen by then the US could be under water! :) ).

Something had to be wrong with those wait times though...right? Fortunately they provide a way to view the average wait times per city (http://travel.state.gov/visa/temp/wait/tempvisitors_wait.php). A couple of clicks and I found out that on average it takes "113 Days" to get an interview for a Visitors Visa in Kingston. A couple more clicks and it seemed like 113 days was waaaay above most of the other countries.

I decided that what I really wanted to see was a list of all the countries and their average wait times so I could see how disenfranchised I should feel.

I managed to cobble together this Ruby script.

#requires
require 'watir'
require 'watir/contrib/ie-new-process'

#includes
include Watir

ie = Watir::IE.new_process
ie.set_fast_speed
ie.goto('http://travel.state.gov/visa/temp/wait/tempvisitors_wait.php')
ie.bring_to_front
wait_until{ !ie.select_lists[2].getAllContents.nil? }
all_cities = ie.select_lists[2].getAllContents

all_cities.each do |city|
ie.goto( 'http://travel.state.gov/visa/temp/wait/tempvisitors_wait.php')
wait_until{ !ie.select_lists[2].getAllContents.nil? }
sl = ie.select_lists[2]
sl.select city
btn = ie.button(:src, 'http://travel.state.gov/images/gettimes.gif')
btn.click!
wait_until{ ie.text.include? "local mail system."}
m = ie.text.match /Visitors Visas: \d* Days/
m2 = m[0].match /\d+/ unless m.nil?
puts "#{city}, #{m2[0]}" unless m.nil?
end
The result? I'm not going to include the full listing here (run it yourself) but regarding my original question....how does Jamaica stack up....well it turns out we are not quite at the bottom of the barrel. Cuba at 731 days (Wow!) takes that "honor", Venezuela is next at 177 Days and Haiti slides in at 137 Days. Nothing like knowing there are other poor bastards out there to lift your spirits :-D