With a Deutsche Bahn Flexpreis ticket, one can take any trains on the day of travel, but the route is still limited. The permitted route along which the ticket is valid is written on the ticket, but in a rather cryptic way. For example:
VIA: (MD/BOK*SDL*H)*GOE*(FD/KS*GI)*HU
Or:
VIA: VAI*(PF*KA*SIF*MZ/BR*HD*MA)*F
I have found a list of abbreviations: MD is Magdeburg, BOK is Berlin Ostkreuz, SDL is Stendal, H Hannover, GOE Göttingen, FD Fulda, KS Kassel, GI Gießen, HU Hanau, VAI Vaihingen, PF Pforzheim, KA Karlsruhe, SIF Schifferstadt, MZ Mainz, BR Bruchsal, HD Heidelberg, MA Mannheim, and F Frankfurt.
But what is the meaning of the syntax with parentheses, solidus, and asterisks? I suppose they may have meanings related to either/or, and, may, must, but I cannot find a full explanation anywhere, only explanations of specific cases. How do I read those route instructions?