Skip to content

Daily booking budget: cap bookable hours per host per day #91

Open

Description

@shockalotti

From discussion #60 (ovizii).

Use case: available 9-5 but only want to take ~2h of bookings a day (side business). Once the budget is booked, the rest of the day should read as full.

This is a new limiter, not a setting tweak: the slot engine (internal/slots/generate.go) is stateless per start time, and a daily cap needs day-level accounting (count booked minutes per day, suppress the rest once the budget is hit).

Open design questions (asked in the discussion, awaiting answers):

  • Per host across all event types, or per event type?
  • Does external-calendar busy time count, or only Calnode bookings? Do buffers count?
  • With multiple hosts on an event type, whose day fills up?

Keeping open as the tracker; spec once more people land on it with answers.

Discussion: #60

Activity

  1. pullfrog commented on Sep 22, 2026

    @pullfrog
    Contributor
  2. ovizii commented on Sep 23, 2026

    @ovizii

    Thanks for considering.

    • Is the cap per host across all event types, or per event type? neither, I think this should be decided per person.
    • Should external-calendar busy time count toward the cap, or only Calnode bookings? And do buffers count? Only calndoe bookings should be limited
    • With multiple hosts on an event type, whose day fills up? not sure what "hosts" means in this context. If it means the person whose calendar this lands on, then obviously that person's bookings should be limited.
  3. shockalotti commented on Sep 23, 2026

    @shockalotti
    ContributorAuthor

    Thanks for answering all three, @ovizii - that unblocks the spec. Restating it back to confirm understanding:

    • Scope: per person, opt-in (each host sets their own cap; default unlimited). Not per event type, not workspace-wide.
    • What consumes budget: Calnode bookings only - external-calendar busy time and buffers don't count.
    • Multi-host: whoever's calendar takes the booking is whose budget fills.

    That's now fully buildable from our side: a per-host daily cap with day-level accounting in the slot engine (which currently evaluates each start time statelessly, so this is new machinery, not a setting tweak).

    One ask before it gets scheduled: this is so far one voice (a fair one - the side-business case is real). If a second person confirms the same shape, or contradicts any of the three answers above, that settles whether we build exactly this. Watchers, pile on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions