book

package
v0.0.0-...-80c8990 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Book

func Book(bookingDetails *BookingDetails, dryRun bool, logger zerolog.Logger) error

func ToBookCmd

func ToBookCmd(bookingDetails *BookingDetails, dryRun bool) string

func WaitThenBook

func WaitThenBook(bookingDetails *BookingDetails, dryRun bool, logger zerolog.Logger) error

Types

type BookingConfig

type BookingConfig struct {
	ConfigId  string `json:"config_id"`
	Day       string `json:"day"`
	PartySize int64  `json:"party_size"`
}

type BookingDetails

type BookingDetails struct {
	VenueId string
	// YYYY-MM-DD HH:MM:SS
	BookingDateTime string
	PartySize       string
	// YYYY-MM-DD
	ReservationDate string
	// HH:MM:SS
	ReservationTimes []string
	ReservationTypes []string
}

func (BookingDetails) MarshalZerologObject

func (b BookingDetails) MarshalZerologObject(e *zerolog.Event)

type DetailsResponse

type DetailsResponse struct {
	BookToken struct {
		Value string `json:"value"`
	} `json:"book_token"`
	User struct {
		PaymentMethods []struct {
			Id int64 `json:"id"`
		} `json:"payment_methods"`
	} `json:"user"`
}

type FindResponse

type FindResponse struct {
	Results struct {
		Venues []struct {
			Slots Slots
		}
	}
}

type Slot

type Slot struct {
	Date struct {
		Start string
	}

	Config struct {
		Type  string
		Token string
	}
}

func (Slot) MarshalZerologObject

func (s Slot) MarshalZerologObject(e *zerolog.Event)

type Slots

type Slots []Slot

func (Slots) MarshalZerologArray

func (s Slots) MarshalZerologArray(a *zerolog.Array)

type VenueDetails

type VenueDetails struct {
	Name           string
	LeadTimeInDays int32
}

func FetchVenueDetails

func FetchVenueDetails(venueId string) (*VenueDetails, error)

type VenueResponse

type VenueResponse struct {
	Venue struct {
		Name string `json:"name"`
	} `json:"venue"`
	LeadTimeInDays int32 `json:"lead_time_in_days"`
}

Jump to

Keyboard shortcuts

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