Reading Buses API V3.0.0
A C#, .net Standard Library for the Reading Buses Open Data API (https://reading-opendata.r2p.com/), available to use in your C# console, WPF, UWP or Win Form Applications.
Package List
Here are the packages with brief descriptions (if available):
[detail level 123]
 NReadingBusesAPI
 NBusServices
 CBusServiceStores information about an individual bus services. Related to the "List Of Lines" API.
 CServicesThis classes simply gets all the bus services operated by Reading Buses, by interfacing with the "List Of Services" API.
 NBusStops
 CBusStopStores information about a single bus stop. Related to the "List Of Bus Stops" API.
 CBusStopIntermediaryStores information about a single bus stop and single service. Related to the raw output of the "List Of Bus Stops" API. This API returns the same stop multiple times with each service that visites it treated as a new stop?
 CLocationsThis classes simply gets all the buses stops visited by Reading Buses, by interfacing with the "List Of Bus Stops" API.
 CStopPatternAn intermediary class used for the "Line Pattern" API, to get the route of a service.
 NCommon
 CCacheWriterUsed to write a cache files to the disk.
 CDateTimeOffsetConverterConverts a datetime value between its JSON representation and the object.
 CParseBoolConverterConverts a datetime value between its JSON representation and the object.
 CParseOperatorConverterConverts a string short code for an Operator into an Operator Enum and back again for the JSON converter.
 CParseOperatorTimetableConverterConverts a string short code for an Operator into an Operator Enum and back again for the JSON converter.
 CParseServiceObjectsConverts a string short code for an Operator into an Operator Enum and back again for the JSON converter.
 CParseStringConverterConverts a string into a long and back again for the JSON converter.
 CPointStores an X and Y Position simply.
 CUrlConstructorReturns back the URL needed to make a get command to the Reading Buses Open Data API. You can use this for testing purposes to check the API is returning what you were expecting.
 NErrorManagement
 CErrorFormatRepresents an error message object returned by all JSON feeds of the API.
 CErrorManagerResponsible for extracting and producing an error message from an API result. To the end user.
 CReadingBusesApiExceptionStores the basic/base type of Exception which can be thrown by the API.
 CReadingBusesApiExceptionBadQueryAn exception type which is used when the API returns back an error message. Most likely due to an invalid request such as asking for data that does not exist.
 CReadingBusesApiExceptionCriticalAn exception type which is thrown when the cause of the error is unknown.
 CReadingBusesApiExceptionMalformedQueryAn exception type which is used when the user asks to make a invalid API call This is would be thrown during checks done before even directly calling upon the web API. For example if you have not filtered by at least one property when required too.
 NJourneyDetails
 CLiveJourneyDetailsApiContains the logic to call upon the Live Journey Details API.
 CLiveRecordUsed to store information about a buses arrival at a bus stop. Mainly related to the "Stop Predictions" API.
 NTimeTable
 CHistoricJourneyA historical journey, one that has happened in the past.
 CHistoricVisitRepresents a single instance of a bus visiting at a specific bus stop in the past.
 CJourneyRepresents a journey, which is a grouping of Visit objects, or a specific service doing one single direction of the route. A timetable for a service is made up of multiple journeys.
 CScheduledJourneysApiContains the logic to call upon the Scheduled Journeys API.
 CTrackingHistoryApiContains the logic to call upon the Tracking History API.
 CVisitRepresents a single instance of a bus visiting at a specific bus stop.
 NVehiclePositions
 CGpsControllerHelps get live and historical GPS data on vehicles by accessing the "Live Vehicle Positions" API.
 CLiveVehiclePositionA live GPS vehicle position record.
 CVehiclePositionStores information about historical GPS data on a vehicle.
 CReadingBusesThis is the main class for the library, here you can initialise a singleton instance and then query and use the Reading Buses API.