court_reserver_interface

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2025 License: MIT Imports: 2 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SiteLookahead

func SiteLookahead(site Site) int

The lookahead booking time of a site.

Types

type CourtReserver

type CourtReserver interface {
	BookNow(time_zone *time.Location, reservation *Reservation, captcha_solver captcha_solver.CaptchaSolver) ReservationStatus
}

type Reservation

type Reservation struct {
	Date time.Time
	Site Site
	// book ONLY the top book available
	Preferences []SingleBook
	Priority    int // lower priority value would try to book first.
}

type ReservationStatus

type ReservationStatus struct {
	Code      ReservationStatusCode
	Msg       string
	CourtTime map[string]string // time -> court
}

type ReservationStatusCode

type ReservationStatusCode int
const (
	Pending ReservationStatusCode = iota
	Success
	Failed
)

type SingleBook

type SingleBook struct {
	// book all contiguous courts COVERINGs Date + StartTime to Date + StartTime + Duration. Time starts with UTC.
	StartTime time.Duration
	Duration  time.Duration
	// preferring booking name
	CourtNamePreference []string
}

type Site

type Site int
const (
	XingqingSoutheastTennisCourts         Site = 301
	RollerCyclingCourts                   Site = 181
	TestCourts                            Site = 161
	XingqingShelteredTennisCourts         Site = 53
	XingqingCenter3rdFloorBadmintonCourts Site = 42
	RestrictedGym                         Site = 121
	XingqqingTableTennisCourts            Site = 43
	XingqingCenter1stFloorBadmintonCourts Site = 41
	XingqingCenterTennisCourts            Site = 55
	XingqingCenterSquashCourts            Site = 56
	IHarbourMainTennisCourts              Site = 82
	XingqingCenter1stFloorGym             Site = 44
	IHarbourMega3TableTennisCourts        Site = 105
	IHarbourMega2BadmintonCourts          Site = 103
	XingqingEastTennisCourts              Site = 52
	IHarbourMega3BadmintonCourts          Site = 104
	IHarbourMega1TableTennisCourts        Site = 102
	IHarbourMega1BadmintonCourts          Site = 101
	XingqingSouthTennisCourts             Site = 54
	MedicalTennisCourts                   Site = 51
	YantaFinancialTableTennisCourts       Site = 50
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL