Nuget packages that supports the essential use cases for working with tickets according to Samtrafikens MTS-standard (Mobile Ticket Specifications).
MTS is a part of BoB, the national ticket & payment standards for public transport in Sweden (Biljett Och Betalstandarden).
MTS consists of 8 specification documents - "MTS 1" through "MTS 8" (at the time of writing).
The essential documents for these Nuget packages are:s
- MTS 1: Defines the Mobile Ticket Bundle (MTB) which outlines the structure of a ticket as well as serialization and signatures.
- MTS 6: Defines the "Tickle" language for expressing ticket validity (e.g. in time and geography).
- Avenga.MtbValidation - Validate MTBs. Used by ticket validation software. Depends on Avenga.Mtb and Avenga.TickleValidation (se below).
- Avenga.Mtb - Convert between MTBs and a convenient .NET document object model. Used for both creating and inspecting MTBs.
- Avenga.TickleValidation - Compile a Tickle expression into runnable code (as a function) that can be called to validate the Tickle-expression.
- Avenga.TickleCreation - Create standardized Tickle expressions using the C# language (that get transpiled to Tickle).
- Create a new MTB - Use Avenga.Mtb for creating the MTB structure and all it's contents, and the Avenga.TickleCreation to produce a correctly formatted Tickle-expression. The MTB can then be serialized into a MTB binary and returned to caller.
- Validate an MTB - Use Avenga.MtbValidation to run a complete validation on an MTB (outer header, inner header and the embedded Tickle expression).
- Inspect the content of an MTB - Use Avenga.Mtb to deserialize and get access to all the contents of an MTB.
- Validate a Tickle expression - Use Avenga.TickleValidation to just run a validation on a stand alone Tickle-expression (i.e. when an MTB is not available or needed)