Party Address: Include GLN as an identifier type

I propose to add GLN (Global locator Number) to the list of identifiers for Addresses in Party module.

When receiving for example an order, the order may contain the GLN code and name of the store where goods should be delivered. But the store name (Address Party Name) is difficult to match against as it is not precise, in some places they may write it one way, in another place they may write it another way. But a numeric code can be matched exactly.

GLN are used not only by corporations that need to manage their locations, but also by anyone who has a GS1 license.
Also it is universal, not just one country using this identifier.

From what I can tell, GLN’s can be checked by stdnum.gs1_128 by prepending the type (254).
Ex. '(254)<gln number>.
This should introduce little additional complexity as stdnum is already used in party module.

My case is that I have a customer with 515 stores. And every time they send an order, the store name is written differently, some with address, some without, some stores in the same city are often confused and the wrong store receives the goods, etc. I told the customer that I will refuse further orders that arrive without an address, or I receive a list of stores with address, and that the name in the order coresponds with the name on the list. I received a list, and the names do not corespond, but the GLN is the same.

Please comment anyone already has extended by custom module, what your experiences are.
Is it useful for anyone besides myself?

Why not.
It will be good to have a review of all the GS1 extension to see if there are other extensions that could be added.

Also we may think of a generic way to store GS1 extension. Maybe something like gs1_128_<extension> and so we check that the code is from the same extension.

Yes. There certainly are GS1 application identifiers to be added, but utility and complexity must be weighed in the review. There are 520 extensions total so it seems to me the weighing needs to be very selective.

In address we have type and code.
Do you mean to have the type be gs1_128_254 and the gln number in Code, or to have gs1_128_254_<glncode> in Code?

Which module should implement this generic check? Ir? A gs1 module?

gs1_128_254 should be the type.

This is for party module as it is the one that defines identifiers.