I remember reading in Effective Java about generating a unique hashcode.
i can vaguely recall it using 17 and 31 as some numbers since they are prime and then using your instance field values,it computes a unique code.
Domestic or Overseas sounds to me more like an enum than a String. You would have to create a class which encapsulates those three values (if you really want to go to ∞ you can't use an int; try BigInteger instead), and calculate its hash code. There is no such thing as a unique hash code; the possible range of values in a 7-letter String containing only the 26 letters used in English is greater than 2 to the 32nd.
Remember each of those objects returns a hash code; you can use their hashCode methods. You can download an old edition of Thinking in Java™ here. There are details about hash codes in chapter 13.