Hacker News new | ask | show | jobs
by saltymimir 1020 days ago
Ohh boy, as someone who works on a travel booking, service serving customers in Asia, this problem hits hard. I guess the answer depends on how you plan to handle the names once they got submitted.

I happen to be handing that data over to airlines, which has some of the less forgiving, yet fragmented name requirements. If you handle this incorrectly, your customer can't fly, even after they paid for the flight. And for those who say that this doesn't matter as much: It absolutely does. People do get confused by this more frequently than you think. I've seen people losing an entire trip that they saved for, all because of unclear naming requirements.

The way I deal with this is to provide a country and locale specific name fields. You don't have to detect the geolocation or track the user for this, just let them choose whatever locale setting they want, and give them the "sensible" layout. Here are some examples:

- In Vietnam, we use last name then first name.

- In Indonesia, we use first name, then last name, but also give an option to declare that the person doesn't have a last name.

- In Singapore, we use a single field to input the first name and last name.

Even when you've handled the layout convention carefully, the 3rd party you're handing the data to, if one exists, might not give the same care and attention that you do. In my case: some airlines just haven't gotten around the idea that some people simply don't have last names. When a person with a single name wants to fly, airlines want the customer to use the name for both first and last name (e.g. If the person's name is David, then the airline expects "David David"). If you require First Name and Last Name as the input, and don't elaborate on how to fill them, the customer might simply fill the last name with a dot (".") character. The airlines / any other 3rd party won't accept that. For this, I suggest to detail out the ways in which you handle the data and go talk to your providers, if any.

All in all, it's a pretty tough challenge, and the wisdom around this isn't going to fit inside a single HN post. I do commend you for actually thinking about this problem. Good Luck.

5 comments

> In Singapore, we use a single field to input the first name and last name.

I have a completely “ordinary” name from a western perspective – first (given), middle, last (family). I live in Singapore, which has a few different popular naming conventions from a few different cultures. I’ve received documents with my name in every single variation possible. I‘ve been Mr First Name, Mr Middle Name, Mr Last Name, and so on. Often I can’t even determine if they have my name correct in their records – it could be recorded correctly but used incorrectly, or it could be recorded incorrectly and used correctly. Sometimes I suspect it’s recorded incorrectly but also used incorrectly in a different way.

Normally it’s not a problem, but like you say, airline tickets can cause issues. I think I’ve been demoted from “check in online” to “check in at a counter because we need to check your paperwork” a bunch of times because my passport doesn’t match my name on my ticket. Often it’s not even the name order – the airline will only sell my ticket with a first name and last name field (meaning I have to drop my middle name, which is on my passport) or they ask for all three and then concatenate first and middle with no space and truncate the last few letters.

Everything would be so much easier if I could just enter my name.

It seems that with things like ticket there should be explicit "as in passport" instructions. Not that people will follow those...
Some people have more than one passport (multiple citizenship) and could use a different one to enter different countries because of visas. The name could be partly different on those passports. But yes, they probably know the passport they'll use since the time they buy the ticket.
I as an example have 2 passports, and my name is first middle1 middle2 last.

One of my passports has my name like that, the other is first middle1 last, so even between passports its not the same, as one of them drops one of my middle names.

I know people hate the idea of all three of world government, government IDs, and reducing people to numbers, but things would be a lot easier if we could just write on forms "I'm person number 15389247652" and let name matching be relegated to historical documents.
As you hinted, we would need a global authority recognized and trusted by everyone at least for name registration and resolution.

About government IDs and reducing people to numbers, most of the threads here are already giving them for granted. We are a number once we're in a database.

Why not just have a single field for "your name as it appears on your identity document"? Or do the various airline systems expect the name to be split into separate fields depending on the locale?

I've always found it weird how broken this is. Some US airlines have separate entry fields for first, middle, and last names. But then they jam it together on the boarding pass as "Last, Firstmiddle" (yes, with first and middle mashed together, and middle lowercased). That of course doesn't match my ID, but I've never had a problem traveling, even when I sometimes leave out my middle name entirely. (I guess I get less scrutiny most places since I'm an American white male.)

> do the various airline systems expect the name to be split into separate fields depending on the locale

Bingo. I've had this problem dealing with insurance carriers. They want a very wide degree of name formats, and to make it worse some don't support unicode, some don't support apostrophes, and some don't understand names longer than 22 characters (had multi-hour discussions on exactly which part of the names I needed to cut out in this scenario). They were bewildered that these were problems for data which could include anybody in the US...

There may be multiple identity documents with different names. This particularly happens a lot when the name itself is not written in Latin script and has to be romanized---one of my credit card had a different romanization (that I couldn't control) compared to what was written to my passport (that I had a control). Of course it is also possible that there is no canonical romanization available in any of those documents as well.
Airlines are always weird. I remember myself consistently being FIRST/LASTMR on tickets; all caps, no space, with a slash, no comma. I suppose it's some canonical encoding that everyone working in commercial aviation just knows.
That reminds of an issue with a passenger whose given name ends in the letters "MR".

https://travel.stackexchange.com/questions/149323/my-name-ca...

HN discussion: https://news.ycombinator.com/item?id=21490850

I wonder if you could circumvent some of this with the default first/given & last/family name with two checkboxes to choose the preferred name to be called with. Of course it wouldn't be bullet-proof if you wanted to substring the name, like using only the 2nd part in Vietnamese names, and you probably would have to make filling both of them optional.

Or just having a preferred name and full name, duplicating data but probably it wouldn't be a big deal in most cases.

This would be a nice GitHub project for someone to showcase name inputs in all languages.

> In Singapore, we use a single field to input the first name and last name.

How do you handle this when passing the data to the airlines?

To be fair, if you only have one name, then it is both your first and your last name.