This happened on May 2015 but I still have that little bug biting on my neck as it was -for me- a dream job.
Early May 2015 I got an email from a software development company inviting me to apply as I was found in their records from when they visited our campus. At first I was skeptical but then I remembered I indeed left my information for them back when I was a Junior, so I applied, the recruiter called me 1 week later inviting me to take their screening examination, I accepted got my guide and started studying.
Three days later I take the test(by phone with a technical recruiter) everything goes well they say I'll be contacted if everything goes well. Not even 24 hours later I get the call, it was a job offer -I was so excited, after knowing the details of the position- then they mention if my OPT (Optional Practical Training) permit is still valid, I tell them it had actually expired a couple of months ago and that if that meant not getting the job I would understand; the recruiter said that she would call back in around 3 days and asked me to research about other working permits for non-citizens(information I knew then and still know by heart)
I get another call and I mention all the possibilities for work visas TN being one of them(doesn't require sponsorship) the recruiter says let me talk to my CTO and see what we can work with. Again not even 24 hours later I get the call saying we're good to go and that I should start my visa process ASAP since it was ideal to be there by the end of the month. I asked for confirmation about the permit and I was told for a second time that yes everything was good to go and I got my welcome letter, and my contract that same day, I sign it so does the recruiter. We say our see you later and let us know when your visa is ready.
By that time I had 3 offers here in Mexico(since I had to come back) I respectfully rejected all 3 of them since I had an offer to work in the U.S. I proceed to make the payment of 160 USD for my visa process that same day, which is non-refundable. The following day I get an email from the recruiter saying that they were sorry but they had to rescind the offer cause they're not really sure if they can actually work with that visa I suggested. Issue I addressed 2 times before signing the contract, and both times they told me I was good to go. I asked for a phone chat but the recruiter avoided me for the following week, under the reasons that "there was a recruiting event somewhere else"
So I ended up with no job and wasted 160 USD and that made me feel so frustrated, so bitter. I still have all the emails and the contract(I know I shouldn't hold that type of grudge, but it was one of the worst experiences in my life)
Was it correct -in any level(morally, ethically, legally)- from the company to do this? Even after I addressed the situation more than one time?
I read Are there circumstances where a company could rescind a job even after I accept their offer letter? and How frequently are offers rescinded after signing but I couldn't make an answer for my case out of these two questions.
PS I was an international student, the OPT is a permit you get after graduating so you can stay a year living as a resident.
PS2 I am not planning to sue the company for something that happened last year, I am a very un-experienced professional. I wanted to see/know the point of view from more experienced professionals.