This document provides an overview and usage instructions for the Kotlin data classes used in various API responses, including Booking, Repair, and RaftMap tables.
The data classes in this project are annotated with @Serializable to enable seamless JSON serialization and deserialization using Kotlin Serialization. These classes represent structured data returned by APIs for booking management, repair records, and raft mapping.
BookingResponserecords: List of Record objects.offset: Pagination offset (optional).Recordid: Unique identifier of the record.createdTime: Creation time of the record.fields: Associated booking fields as Fields.FieldsRentals: String of rentals for associated booking (optional).Due_Balance: Due balance for the booking (optional).Status: Booking status (optional).Waivers: List of waivers (optional).NFC_UUID: NFC UUID associated with the booking (optional).NFC_UUID_Checkout: A list of NFC UUIDs of rental items that have already been considered returnedPhone_Number: Associated phone number (optional).BookingDateTime: Date and time of the booking (optional).Organizer: Booking organizer (optional).Booking_Notes: Notes about the booking (optional).FHID: FareHarbour Booking UUID (optional).startDateTime: Start date and time (optional).endDateTime: End date and time (optional).QR_Code: String of multiple QR Checkin URLs (Each booking item including shuttle seats has its own Checkin_URL) (optional, currently only used for checkin option)Flags: List of attached flags to the bookingCheckedInBy: Google display name of user that checked in the bookingCheckedOutBy: Google display name of user that checked out the bookingNFC_UUID_CheckOut: A list of NFC UUIDs of rental items that have been returnedAcceptedWarnings: A boolean that stores the state of whether the customer has agreed to all associated caution termsRaftNumbers: A list of all raft numbers for the associated rental items (Currently, only rafts) that are stored on checkin. These raft numbers are resolved from their CheckIn NFC UUIDsRepairResponserecords: List of RepairRecord objects.offset: Pagination offset (optional).RepairRecordid: Unique identifier of the record.createdTime: Creation time of the record.fields: Associated repair fields as RepairFields.RepairFieldsRaftNumber: Associated raft number (optional).Status: Repair status.RecordCreationDateTime: Creation date and time.RecordResolutionDateTime: Resolution date and time (optional).Repair_Notes: Notes about the repair (optional).Type: Type of repair (optional).RecordCreatedBy: Google Display Name of user that created the recordRecordResolvedBy: Google Display Name of user that resolved the recordAssignedTo: Google Display name of assigned userRaftMapResponserecords: List of RaftMapRecord objects.offset: Pagination offset (optional).RaftMapRecordid: Unique identifier of the record.createdTime: Creation time of the record.fields: Associated raft map fields as RaftMapFields.RaftMapFieldsRaftNumber: Associated raft number (optional).NFC_UUID: NFC UUID (optional).Type: Type of raft map (optional).RiverDatastation_number: Unique station identifier.station_name: Station name.timestamp: Timestamp of the data.level: Water level.flow: Flow rate (optional).id: Unique data record identifier.UserRecordid: Unique identifier of the record.createdTime: Creation time of the record.fields: Associated user fields as UserRecordFields.UserRecordFieldsEmail_Address: Permitted google email address.TokenID: Users registered token.DisplayName: Users google account display name