What's the best setup for a MySQL multi master replication for a POS in a restaurant?
I would go with Galera.  It is self-healing after a single node dies and comes back online.  If, however, the entire network dies (no machine can talk to any other machine), NDB Cluster may be the only solution since it repairs outages by user-defined "conflict resolution" algorithms.

Plain Replication has a lot of potential failings, and needs more hand-holding.  Semi-sync requires that part of the network stay up.  When semi-sync can't do its "sync" it quitely reverts to "async", thereby losing what you were expecting.

100 nodes in any replication technology will be a challenge.  Going past 5-10 nodes needs special casing for larger networks.  For plain Replication and semi-sync, "relay" servers are desirable; they take extra setup and require extra handling in failure situations.  I have not heard of NDB or Galera being shaken down for larger networks that maybe a dozen nodes.  Some people have multiple Galera clusters with async between the clusters.

You might be better off spending time and money to hardening the network first.

A large department store might have 10 checkout counters, each with 4 POS.  That hints at hard-wired (very reliable) 4-node cluster of some kind, plus something more fragile between the clusters.  If you use wifi, be sure to encrypt all traffic.

With plain Replication, a dual-Master, single-writer (or 3-node Galera cluster) is possibly the best.  It does require that all POS be able to write to the Master, else they are offline.  It also requires extra coding to deal with "critical reads" -- that is where you post something, then need to immediately read it back, and must be sure any replication lag is accounted for.  (Note: I am not having any writes occur on the POS, only indirectly through the Master and Replication.)

Chew on all that.  Sorry, I don't have a "Do this" answer.