Bridge Mapping (TSheet → Domain)
Maps MCA GetTsheet responses to the internal TeeSheet model.
Source: libs/tee-time-services/src/lib/bridge/tee-sheet-bridge.service.ts
Highlights & edge‑cases
- Club/course selection
- Filters by
courseCodeFilterwhen provided; otherwise merges all courses in the club.
- Filters by
- Time parsing
ShortDesc(e.g.,09:10) is parsed relative to thesheetDate.
- Starting tee
- From
StartingHolewhen present; falls back to parsingLongDesc(e.g.,1ST TEE).
- From
- Slots
SlotDetailis normalized to an array; produces{ slot, available, blocked, reservationNumber, players }.
- Players
- Coerces
PlayerNumberto string to handle numeric payloads. - Minimal player fields are mapped; many fields are optional in the domain model.
- Coerces
- Metadata
intervalMinutes,crossoverBreak,offlineReasonextracted fromGolfCourseSummarywhen available.
Error handling
- Missing club/course codes yield warnings and return
null. - Per‑course parsing errors are caught and logged; processing continues for other courses.
Output
Returns a TeeSheet with tee‑times sorted ascending by date.