NobGit
public imalexnord read

Slot

Calendar-first scheduling powered by Cloudflare Workers and Google Calendar.

Languages

Repository composition by tracked source files.

TypeScript
TypeScript 79% CSS 19% SQL 2% HTML 0%
Create file Wiki Documentation
Clone
https://nobgit.com/user/imalexnord/slot.git
ssh://[email protected]:2222/user/imalexnord/slot.git

Trace

README.md

Trace helps you understand code history line by line. See who changed each line, when it changed, and which commit introduced it.

README.md on main
Author Date Commit Line Code
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
1
# Slot
Open commit View diff
1 # Slot
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
2
Open commit View diff
2
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
3
A small calendar-first booking app built as one Cloudflare Worker deployment.
Open commit View diff
3 A small calendar-first booking app built as one Cloudflare Worker deployment.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
4
Open commit View diff
4
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
5
The visitor flow is intentionally simple:
Open commit View diff
5 The visitor flow is intentionally simple:
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
6
Open commit View diff
6
Alex Nord about 24 hours ago f1dbf89

fix: clarify availability limits and document Stripe as optional

Full commit hash
f1dbf89ac73246b1bdab27a2d40d1f2ab4374bf8
Author
Alex Nord <[email protected]>
Date
about 24 hours ago
Selected line
7
**date → time → duration → details → confirmed booking**
Open commit View diff
7 **date → time → duration → details → confirmed booking**
same change f1dbf89

fix: clarify availability limits and document Stripe as optional

Full commit hash
f1dbf89ac73246b1bdab27a2d40d1f2ab4374bf8
Author
Alex Nord <[email protected]>
Date
about 24 hours ago
Selected line
8
Open commit View diff
8
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
9
When the selected meeting length is configured as paid, Stripe Checkout is inserted before confirmation:
Open commit View diff
9 When the selected meeting length is configured as paid, Stripe Checkout is inserted before confirmation:
Alex Nord about 24 hours ago f1dbf89

fix: clarify availability limits and document Stripe as optional

Full commit hash
f1dbf89ac73246b1bdab27a2d40d1f2ab4374bf8
Author
Alex Nord <[email protected]>
Date
about 24 hours ago
Selected line
10
Open commit View diff
10
Alex Nord 1 day ago 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
11
**date → time → duration → details → Stripe payment → confirmed booking**
Open commit View diff
11 **date → time → duration → details → Stripe payment → confirmed booking**
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
12
Open commit View diff
12
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
13
Meeting lengths marked free skip Stripe and use the normal confirmation flow.
Open commit View diff
13 Meeting lengths marked free skip Stripe and use the normal confirmation flow.
same change 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
14
Open commit View diff
14
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
15
There are no public accounts and no Google login for visitors. Google OAuth is private to the calendar owner.
Open commit View diff
15 There are no public accounts and no Google login for visitors. Google OAuth is private to the calendar owner.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
16
Open commit View diff
16
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
17
## Architecture
Open commit View diff
17 ## Architecture
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
18
Open commit View diff
18
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
19
- React + Vite frontend
Open commit View diff
19 - React + Vite frontend
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
20
- Cloudflare Worker API
Open commit View diff
20 - Cloudflare Worker API
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
21
- Workers Static Assets, deployed with the Worker as one unit
Open commit View diff
21 - Workers Static Assets, deployed with the Worker as one unit
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
22
- Cloudflare D1 for settings, booking records, OAuth state, and short-lived slot locks
Open commit View diff
22 - Cloudflare D1 for settings, booking records, OAuth state, and short-lived slot locks
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
23
- Google Calendar FreeBusy for live availability
Open commit View diff
23 - Google Calendar FreeBusy for live availability
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
24
- Google Calendar Events API for invites
Open commit View diff
24 - Google Calendar Events API for invites
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
25
- Google Meet generated on the event when enabled
Open commit View diff
25 - Google Meet generated on the event when enabled
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
26
- Optional Stripe Checkout payments through the Stripe API. Without Stripe, bookings confirm normally; when payment is enabled, selected meeting durations can still be configured as free
Open commit View diff
26 - Optional Stripe Checkout payments through the Stripe API. Without Stripe, bookings confirm normally; when payment is enabled, selected meeting durations can still be configured as free
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
27
Open commit View diff
27
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
28
No GitHub Actions, Pages Functions, KV, Microsoft OAuth, external email service, or separately hosted backend.
Open commit View diff
28 No GitHub Actions, Pages Functions, KV, Microsoft OAuth, external email service, or separately hosted backend.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
29
Open commit View diff
29
Alex Nord 1 day ago 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
30
## What v0.2 does
Open commit View diff
30 ## What v0.2 does
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
31
Open commit View diff
31
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
32
- Calendar-first booking page
Open commit View diff
32 - Calendar-first booking page
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
33
- Reads live busy periods from one or more Google calendars
Open commit View diff
33 - Reads live busy periods from one or more Google calendars
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
34
- Configurable weekly hours
Open commit View diff
34 - Configurable weekly hours
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
35
- Configurable 15/30/45/60/90/120 minute durations
Open commit View diff
35 - Configurable 15/30/45/60/90/120 minute durations
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
36
- Minimum notice, booking window, before/after buffers
Open commit View diff
36 - Minimum notice, booking window, before/after buffers
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
37
- Google Meet, phone, in-person, or decide-later meeting modes
Open commit View diff
37 - Google Meet, phone, in-person, or decide-later meeting modes
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
38
- Rechecks Google immediately before booking
Open commit View diff
38 - Rechecks Google immediately before booking
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
39
- Small invisible per-IP booking-attempt limit plus a form honeypot for basic abuse resistance
Open commit View diff
39 - Small invisible per-IP booking-attempt limit plus a form honeypot for basic abuse resistance
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
40
- Uses transactional D1 slot locks to reduce double-booking races
Open commit View diff
40 - Uses transactional D1 slot locks to reduce double-booking races
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
41
- Creates the Google Calendar event and emails the attendee through Google Calendar
Open commit View diff
41 - Creates the Google Calendar event and emails the attendee through Google Calendar
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
42
- Private `/admin` UI authenticated through the configured Google account
Open commit View diff
42 - Private `/admin` UI authenticated through the configured Google account
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
43
- Stores the Google refresh token encrypted at rest in D1 using an AES-GCM key kept as a Worker secret
Open commit View diff
43 - Stores the Google refresh token encrypted at rest in D1 using an AES-GCM key kept as a Worker secret
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
44
- When a selected meeting length requires payment, creates only a private calendar hold until Stripe confirms payment; free meeting lengths confirm normally
Open commit View diff
44 - When a selected meeting length requires payment, creates only a private calendar hold until Stripe confirms payment; free meeting lengths confirm normally
Alex Nord about 23 hours ago 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
45
- Verifies Stripe webhook signatures before recording payment or refund state
Open commit View diff
45 - Verifies Stripe webhook signatures before recording payment or refund state
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
46
- Admin rescheduling moves the existing Google Calendar event and sends attendee updates
Open commit View diff
46 - Admin rescheduling moves the existing Google Calendar event and sends attendee updates
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
47
- Admin can suggest a new time without moving the original booking; the attendee gets a secure accept link through the Google Calendar update
Open commit View diff
47 - Admin can suggest a new time without moving the original booking; the attendee gets a secure accept link through the Google Calendar update
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
48
- Cancelling a paid booking issues a full Stripe refund to the original payment method before Slot finalizes the cancellation
Open commit View diff
48 - Cancelling a paid booking issues a full Stripe refund to the original payment method before Slot finalizes the cancellation
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
49
- Every confirmed booking gets a public `SLT-...` booking ID shown on the confirmation screen and Google Calendar invitation; visitors can use it to manage, reschedule, or cancel a future booking from the public booking page
Open commit View diff
49 - Every confirmed booking gets a public `SLT-...` booking ID shown on the confirmation screen and Google Calendar invitation; visitors can use it to manage, reschedule, or cancel a future booking from the public booking page
Alex Nord about 22 hours ago 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
50
- Admin Activity dashboard with booking, completion, cancellation, reschedule, payment, revenue, refund, and average-duration metrics plus a chronological lifecycle feed
Open commit View diff
50 - Admin Activity dashboard with booking, completion, cancellation, reschedule, payment, revenue, refund, and average-duration metrics plus a chronological lifecycle feed
Alex Nord about 21 hours ago 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
51
- Admin Attendees dashboard groups booking history by attendee email, showing repeat bookings, completions, cancellations, reschedules, booked minutes, and payment/refund counts when payments are enabled
Open commit View diff
51 - Admin Attendees dashboard groups booking history by attendee email, showing repeat bookings, completions, cancellations, reschedules, booked minutes, and payment/refund counts when payments are enabled
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
52
- Admin booking search matches public `SLT-...` booking IDs, attendee names, and email addresses across upcoming and past bookings
Open commit View diff
52 - Admin booking search matches public `SLT-...` booking IDs, attendee names, and email addresses across upcoming and past bookings
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
53
Open commit View diff
53
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
54
## First setup
Open commit View diff
54 ## First setup
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
55
Open commit View diff
55
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
56
Requirements:
Open commit View diff
56 Requirements:
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
57
Open commit View diff
57
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
58
- Node.js
Open commit View diff
58 - Node.js
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
59
- a Cloudflare account
Open commit View diff
59 - a Cloudflare account
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
60
- a Google Cloud project with **Google Calendar API enabled**
Open commit View diff
60 - a Google Cloud project with **Google Calendar API enabled**
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
61
- a Google OAuth **Web application** client
Open commit View diff
61 - a Google OAuth **Web application** client
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
62
Open commit View diff
62
Alex Nord 3 days ago a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
63
## Google Cloud setup
Open commit View diff
63 ## Google Cloud setup
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
64
Open commit View diff
64
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
65
Google has two separate setup areas that both matter:
Open commit View diff
65 Google has two separate setup areas that both matter:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
66
Open commit View diff
66
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
67
1. Enable the **Google Calendar API** for the project.
Open commit View diff
67 1. Enable the **Google Calendar API** for the project.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
68
2. Create an **OAuth client ID and client secret** for this app.
Open commit View diff
68 2. Create an **OAuth client ID and client secret** for this app.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
69
Open commit View diff
69
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
70
Doing only one of these is not enough. If OAuth exists but the Calendar API is not enabled, Slot can sign in but Google Calendar calls will fail with a Calendar API / FreeBusy error.
Open commit View diff
70 Doing only one of these is not enough. If OAuth exists but the Calendar API is not enabled, Slot can sign in but Google Calendar calls will fail with a Calendar API / FreeBusy error.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
71
Open commit View diff
71
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
72
### 1. Enable Google Calendar API
Open commit View diff
72 ### 1. Enable Google Calendar API
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
73
Open commit View diff
73
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
74
1. Open [Google Cloud Console](https://console.cloud.google.com/).
Open commit View diff
74 1. Open [Google Cloud Console](https://console.cloud.google.com/).
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
75
2. Select or create the project you want to use for Slot.
Open commit View diff
75 2. Select or create the project you want to use for Slot.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
76
3. Go to **APIs & Services** -> **Library**.
Open commit View diff
76 3. Go to **APIs & Services** -> **Library**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
77
4. Search for **Google Calendar API**.
Open commit View diff
77 4. Search for **Google Calendar API**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
78
5. Open **Google Calendar API** and click **Enable**.
Open commit View diff
78 5. Open **Google Calendar API** and click **Enable**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
79
Open commit View diff
79
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
80
This is separate from OAuth credentials. The OAuth client controls sign-in; the enabled Calendar API controls whether the app may call FreeBusy and create events.
Open commit View diff
80 This is separate from OAuth credentials. The OAuth client controls sign-in; the enabled Calendar API controls whether the app may call FreeBusy and create events.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
81
Open commit View diff
81
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
82
### 2. Configure OAuth consent
Open commit View diff
82 ### 2. Configure OAuth consent
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
83
Open commit View diff
83
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
84
1. In the same Google Cloud project, go to **APIs & Services** -> **OAuth consent screen**.
Open commit View diff
84 1. In the same Google Cloud project, go to **APIs & Services** -> **OAuth consent screen**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
85
2. Choose the audience that fits your use:
Open commit View diff
85 2. Choose the audience that fits your use:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
86
   - **Internal** if this is only for your Google Workspace organization.
Open commit View diff
86 - **Internal** if this is only for your Google Workspace organization.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
87
   - **External** if you use a normal Gmail account or need access outside one Workspace organization.
Open commit View diff
87 - **External** if you use a normal Gmail account or need access outside one Workspace organization.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
88
3. Fill in the app name, support email, and developer contact email.
Open commit View diff
88 3. Fill in the app name, support email, and developer contact email.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
89
4. If the app is in **External / Testing**, add the same Google account you will use as Slot admin under test users.
Open commit View diff
89 4. If the app is in **External / Testing**, add the same Google account you will use as Slot admin under test users.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
90
Open commit View diff
90
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
91
Slot requests Calendar access only for the configured admin account. Visitors never log in with Google.
Open commit View diff
91 Slot requests Calendar access only for the configured admin account. Visitors never log in with Google.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
92
Open commit View diff
92
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
93
### 3. Create OAuth client ID and secret
Open commit View diff
93 ### 3. Create OAuth client ID and secret
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
94
Open commit View diff
94
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
95
1. In Google Cloud, go to **APIs & Services** -> **Credentials**.
Open commit View diff
95 1. In Google Cloud, go to **APIs & Services** -> **Credentials**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
96
2. Click **Create credentials** -> **OAuth client ID**.
Open commit View diff
96 2. Click **Create credentials** -> **OAuth client ID**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
97
3. Choose **Web application**.
Open commit View diff
97 3. Choose **Web application**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
98
4. Give it a name, for example `Slot`.
Open commit View diff
98 4. Give it a name, for example `Slot`.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
99
5. Add the public origin for your deployed Slot URL:
Open commit View diff
99 5. Add the public origin for your deployed Slot URL:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
100
Open commit View diff
100
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
101
```text
Open commit View diff
101 ```text
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
102
Authorized JavaScript origin:
Open commit View diff
102 Authorized JavaScript origin:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
103
https://book.example.com
Open commit View diff
103 https://book.example.com
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
104
```
Open commit View diff
104 ```
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
105
Open commit View diff
105
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
106
6. Add the callback URL for the same deployed Slot URL:
Open commit View diff
106 6. Add the callback URL for the same deployed Slot URL:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
107
Open commit View diff
107
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
108
```text
Open commit View diff
108 ```text
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
109
Authorized redirect URI:
Open commit View diff
109 Authorized redirect URI:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
110
https://book.example.com/auth/google/callback
Open commit View diff
110 https://book.example.com/auth/google/callback
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
111
```
Open commit View diff
111 ```
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
112
Open commit View diff
112
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
113
7. Click **Create**.
Open commit View diff
113 7. Click **Create**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
114
8. Copy the generated **Client ID** and **Client secret**.
Open commit View diff
114 8. Copy the generated **Client ID** and **Client secret**.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
115
9. Use those two values when `npm run setup` asks for:
Open commit View diff
115 9. Use those two values when `npm run setup` asks for:
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
116
Open commit View diff
116
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
117
```text
Open commit View diff
117 ```text
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
118
Google OAuth Client ID
Open commit View diff
118 Google OAuth Client ID
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
119
Google OAuth Client Secret
Open commit View diff
119 Google OAuth Client Secret
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
120
```
Open commit View diff
120 ```
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
121
Open commit View diff
121
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
122
If you change the public domain later, update the OAuth client redirect URI to match the new domain exactly.
Open commit View diff
122 If you change the public domain later, update the OAuth client redirect URI to match the new domain exactly.
same change a79a279

Document Google OAuth setup

Full commit hash
a79a2792614fc3aa4dbb2598e26493d7401d7847
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
123
Open commit View diff
123
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
124
Install:
Open commit View diff
124 Install:
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
125
Open commit View diff
125
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
126
```bash
Open commit View diff
126 ```bash
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
127
npm install
Open commit View diff
127 npm install
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
128
npm run setup
Open commit View diff
128 npm run setup
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
129
```
Open commit View diff
129 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
130
Open commit View diff
130
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
131
`npm run setup` will:
Open commit View diff
131 `npm run setup` will:
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
132
Open commit View diff
132
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
133
1. use your normal interactive Wrangler login
Open commit View diff
133 1. use your normal interactive Wrangler login
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
134
2. build the Worker and frontend assets
Open commit View diff
134 2. build the Worker and frontend assets
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
135
3. provision or reuse the D1 database
Open commit View diff
135 3. provision or reuse the D1 database
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
136
4. ask for the public URL, admin Google account, Google Client ID and Client Secret
Open commit View diff
136 4. ask for the public URL, admin Google account, Google Client ID and Client Secret
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
137
5. generate cryptographic application secrets locally
Open commit View diff
137 5. generate cryptographic application secrets locally
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
138
6. upload the secrets to the Worker
Open commit View diff
138 6. upload the secrets to the Worker
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
139
7. apply the database migration
Open commit View diff
139 7. apply the database migration
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
140
8. deploy the Worker and static assets
Open commit View diff
140 8. deploy the Worker and static assets
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
141
Open commit View diff
141
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
142
When setup asks for the public URL, enter the domain where this Worker will be reached, for example:
Open commit View diff
142 When setup asks for the public URL, enter the domain where this Worker will be reached, for example:
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
143
Open commit View diff
143
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
144
```text
Open commit View diff
144 ```text
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
145
https://book.example.com
Open commit View diff
145 https://book.example.com
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
146
```
Open commit View diff
146 ```
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
147
Open commit View diff
147
same change 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
148
Configure the Google OAuth client with values derived from that same URL:
Open commit View diff
148 Configure the Google OAuth client with values derived from that same URL:
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
149
Open commit View diff
149
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
150
```text
Open commit View diff
150 ```text
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
151
Authorized JavaScript origin:
Open commit View diff
151 Authorized JavaScript origin:
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
152
https://book.example.com
Open commit View diff
152 https://book.example.com
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
153
Open commit View diff
153
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
154
Authorized redirect URI:
Open commit View diff
154 Authorized redirect URI:
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
155
https://book.example.com/auth/google/callback
Open commit View diff
155 https://book.example.com/auth/google/callback
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
156
```
Open commit View diff
156 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
157
Open commit View diff
157
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
158
After setup finishes, attach your custom domain to the Worker in Cloudflare Workers & Pages if you are not using the generated `workers.dev` URL. Then open:
Open commit View diff
158 After setup finishes, attach your custom domain to the Worker in Cloudflare Workers & Pages if you are not using the generated `workers.dev` URL. Then open:
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
159
Open commit View diff
159
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
160
```text
Open commit View diff
160 ```text
Alex Nord 3 days ago 56fdb61

Remove personal domain defaults

Full commit hash
56fdb6196bb38f86706331fa1d085936c70c7ac8
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
161
https://book.example.com/admin
Open commit View diff
161 https://book.example.com/admin
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
162
```
Open commit View diff
162 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
163
Open commit View diff
163
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
164
Sign in with the email entered during setup. The first authorization requests offline Calendar access so the Worker can check availability and create bookings while you are not present.
Open commit View diff
164 Sign in with the email entered during setup. The first authorization requests offline Calendar access so the Worker can check availability and create bookings while you are not present.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
165
Open commit View diff
165
Alex Nord 1 day ago 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
166
## Stripe payments
Open commit View diff
166 ## Stripe payments
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
167
Open commit View diff
167
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
168
Stripe itself is optional. If payments are disabled, Slot confirms bookings immediately as before. If payments are enabled, Slot can charge only the meeting lengths you want: selected durations can be marked free while the others require Stripe Checkout before confirmation.
Open commit View diff
168 Stripe itself is optional. If payments are disabled, Slot confirms bookings immediately as before. If payments are enabled, Slot can charge only the meeting lengths you want: selected durations can be marked free while the others require Stripe Checkout before confirmation.
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
169
Open commit View diff
169
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
170
This integration uses Stripe-hosted Checkout, so there is no publishable key or card form in the React app. The Stripe secret key stays in the Worker only.
Open commit View diff
170 This integration uses Stripe-hosted Checkout, so there is no publishable key or card form in the React app. The Stripe secret key stays in the Worker only.
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
171
Open commit View diff
171
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
172
1. In Stripe, create or use the account that should receive booking payments.
Open commit View diff
172 1. In Stripe, create or use the account that should receive booking payments.
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
173
2. Add the Stripe secret key to the Worker:
Open commit View diff
173 2. Add the Stripe secret key to the Worker:
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
174
Open commit View diff
174
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
175
```bash
Open commit View diff
175 ```bash
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
176
npx wrangler secret put STRIPE_SECRET_KEY
Open commit View diff
176 npx wrangler secret put STRIPE_SECRET_KEY
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
177
```
Open commit View diff
177 ```
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
178
Open commit View diff
178
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
179
3. Create a Stripe webhook endpoint pointing to:
Open commit View diff
179 3. Create a Stripe webhook endpoint pointing to:
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
180
Open commit View diff
180
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
181
```text
Open commit View diff
181 ```text
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
182
https://book.example.com/api/stripe/webhook
Open commit View diff
182 https://book.example.com/api/stripe/webhook
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
183
```
Open commit View diff
183 ```
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
184
Open commit View diff
184
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
185
Subscribe it to these Checkout events:
Open commit View diff
185 Subscribe it to these Checkout events:
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
186
Open commit View diff
186
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
187
```text
Open commit View diff
187 ```text
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
188
checkout.session.completed
Open commit View diff
188 checkout.session.completed
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
189
checkout.session.async_payment_succeeded
Open commit View diff
189 checkout.session.async_payment_succeeded
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
190
checkout.session.async_payment_failed
Open commit View diff
190 checkout.session.async_payment_failed
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
191
checkout.session.expired
Open commit View diff
191 checkout.session.expired
Alex Nord about 23 hours ago 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
192
refund.created
Open commit View diff
192 refund.created
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
193
refund.updated
Open commit View diff
193 refund.updated
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
194
refund.failed
Open commit View diff
194 refund.failed
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
195
```
Open commit View diff
195 ```
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
196
Open commit View diff
196
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
197
4. Copy the webhook signing secret (it starts with `whsec_`) into the Worker:
Open commit View diff
197 4. Copy the webhook signing secret (it starts with `whsec_`) into the Worker:
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
198
Open commit View diff
198
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
199
```bash
Open commit View diff
199 ```bash
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
200
npx wrangler secret put STRIPE_WEBHOOK_SECRET
Open commit View diff
200 npx wrangler secret put STRIPE_WEBHOOK_SECRET
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
201
```
Open commit View diff
201 ```
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
202
Open commit View diff
202
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
203
5. Apply the payment migration and deploy:
Open commit View diff
203 5. Apply the payment migration and deploy:
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
204
Open commit View diff
204
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
205
```bash
Open commit View diff
205 ```bash
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
206
npm run db:migrate:remote
Open commit View diff
206 npm run db:migrate:remote
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
207
npm run deploy
Open commit View diff
207 npm run deploy
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
208
```
Open commit View diff
208 ```
same change 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
209
Open commit View diff
209
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
210
6. Open `/admin` → **Settings** → **Stripe payments**. Choose the currency, set a **price per minute** in normal currency units, choose the checkout label, then turn on **Enable Stripe payments**. Under **Free durations**, select any meeting lengths that should bypass Stripe and confirm normally.
Open commit View diff
210 6. Open `/admin` → **Settings** → **Stripe payments**. Choose the currency, set a **price per minute** in normal currency units, choose the checkout label, then turn on **Enable Stripe payments**. Under **Free durations**, select any meeting lengths that should bypass Stripe and confirm normally.
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
211
Open commit View diff
211
Alex Nord 1 day ago 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
212
The Stripe settings card also shows **TEST MODE** for `sk_test_...` keys and **LIVE MODE** for `sk_live_...` keys. The secret key itself is never sent to the browser.
Open commit View diff
212 The Stripe settings card also shows **TEST MODE** for `sk_test_...` keys and **LIVE MODE** for `sk_live_...` keys. The secret key itself is never sent to the browser.
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
213
Open commit View diff
213
Alex Nord 1 day ago 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
214
For example, `50` with `sek` means **SEK 50 per minute**, so a 15-minute booking costs SEK 750. Slot converts that amount to Stripe minor units internally.
Open commit View diff
214 For example, `50` with `sek` means **SEK 50 per minute**, so a 15-minute booking costs SEK 750. Slot converts that amount to Stripe minor units internally.
same change 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
215
Open commit View diff
215
same change 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
216
Upgrading from v0.1 intentionally disables the old fixed-amount payment toggle until you save a per-minute rate. The old fixed amount cannot be safely guessed as a per-minute price.
Open commit View diff
216 Upgrading from v0.1 intentionally disables the old fixed-amount payment toggle until you save a per-minute rate. The old fixed amount cannot be safely guessed as a per-minute price.
same change 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
217
Open commit View diff
217
same change 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
218
When Checkout starts, Slot creates a private owner-only calendar hold so nobody else can take the time. The visitor receives no invitation and no Meet link yet. After Stripe reports the payment as paid, Slot converts that hold into the real attendee event and sends the invitation. Cancelling or letting Checkout expire releases the hold.
Open commit View diff
218 When Checkout starts, Slot creates a private owner-only calendar hold so nobody else can take the time. The visitor receives no invitation and no Meet link yet. After Stripe reports the payment as paid, Slot converts that hold into the real attendee event and sends the invitation. Cancelling or letting Checkout expire releases the hold.
same change 110f91e

Adding indication for test/live key

Full commit hash
110f91e747192b16de709ea11c5eea17eaeadd48
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
219
Open commit View diff
219
Alex Nord about 23 hours ago 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
220
Checkout is limited to card-based payment methods because appointment inventory cannot safely remain reserved for delayed bank-payment methods. Payment status is stored on the booking and shown in admin.
Open commit View diff
220 Checkout is limited to card-based payment methods because appointment inventory cannot safely remain reserved for delayed bank-payment methods. Payment status is stored on the booking and shown in admin.
Alex Nord 1 day ago 9abcc27

Added Stripe payments

Full commit hash
9abcc271f095921a2c76e260009e53cda98d817a
Author
Alex Nord <[email protected]>
Date
1 day ago
Selected line
221
Open commit View diff
221
Alex Nord about 23 hours ago 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
222
Cancelling a paid confirmed booking from Slot Admin issues a **full Stripe refund** against the original PaymentIntent. Slot will not silently cancel a paid booking if the currently configured Stripe key cannot access the environment that took the payment. Refund state is stored on the booking and updated by Stripe refund webhooks when those events are enabled. Refunds always go back to the original payment method.
Open commit View diff
222 Cancelling a paid confirmed booking from Slot Admin issues a **full Stripe refund** against the original PaymentIntent. Slot will not silently cancel a paid booking if the currently configured Stripe key cannot access the environment that took the payment. Refund state is stored on the booking and updated by Stripe refund webhooks when those events are enabled. Refunds always go back to the original payment method.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
223
Open commit View diff
223
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
224
#
Open commit View diff
224 #
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
225
## Booking management
Open commit View diff
225 ## Booking management
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
226
Open commit View diff
226
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
227
Open a confirmed future booking in `/admin` to manage its time:
Open commit View diff
227 Open a confirmed future booking in `/admin` to manage its time:
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
228
Open commit View diff
228
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
229
- **Reschedule** moves the existing booking to another currently available start time. The duration and payment stay unchanged. Google Calendar sends the attendee an updated invitation.
Open commit View diff
229 - **Reschedule** moves the existing booking to another currently available start time. The duration and payment stay unchanged. Google Calendar sends the attendee an updated invitation.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
230
- **Suggest new time** leaves the original booking untouched and sends a Google Calendar update containing a secure acceptance link. The suggested time is not held, so Slot rechecks availability when the attendee accepts it. If somebody else takes it first, the attendee is asked to contact the organizer instead of causing a double booking.
Open commit View diff
230 - **Suggest new time** leaves the original booking untouched and sends a Google Calendar update containing a secure acceptance link. The suggested time is not held, so Slot rechecks availability when the attendee accepts it. If somebody else takes it first, the attendee is asked to contact the organizer instead of causing a double booking.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
231
- **Cancel meeting** cancels the Google Calendar event. If the booking was paid through Stripe, Slot first creates a full refund to the original payment method.
Open commit View diff
231 - **Cancel meeting** cancels the Google Calendar event. If the booking was paid through Stripe, Slot first creates a full refund to the original payment method.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
232
Open commit View diff
232
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
233
Suggestion links contain a high-entropy bearer token. Slot stores only a SHA-256 hash of that token in D1, and the link becomes invalid when the suggestion is accepted, superseded, the booking is rescheduled directly, or the booking is cancelled.
Open commit View diff
233 Suggestion links contain a high-entropy bearer token. Slot stores only a SHA-256 hash of that token in D1, and the link becomes invalid when the suggestion is accepted, superseded, the booking is rescheduled directly, or the booking is cancelled.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
234
Open commit View diff
234
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
235
Paid reschedules keep the original charge because the meeting duration does not change. Slot does not create a second Checkout Session for a pure time change.
Open commit View diff
235 Paid reschedules keep the original charge because the meeting duration does not change. Slot does not create a second Checkout Session for a pure time change.
same change 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
236
Open commit View diff
236
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
237
Visitors can manage their own future confirmed booking from the public booking page. Each confirmation has a high-entropy `SLT-...` booking ID, also included in the Google Calendar invitation. Entering that ID under **Manage a booking** opens the booking and offers **Reschedule** or **Cancel**. Rescheduling keeps the same duration and payment state and sends an updated Google Calendar invitation. Paid cancellations are refunded through Stripe before the calendar event is cancelled. Public management attempts are rate-limited.
Open commit View diff
237 Visitors can manage their own future confirmed booking from the public booking page. Each confirmation has a high-entropy `SLT-...` booking ID, also included in the Google Calendar invitation. Entering that ID under **Manage a booking** opens the booking and offers **Reschedule** or **Cancel**. Rescheduling keeps the same duration and payment state and sends an updated Google Calendar invitation. Paid cancellations are refunded through Stripe before the calendar event is cancelled. Public management attempts are rate-limited.
Alex Nord about 22 hours ago 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
238
Open commit View diff
238
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
239
## Activity
Open commit View diff
239 ## Activity
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
240
Open commit View diff
240
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
241
Open `/admin` -> **Activity** for an all-time operational snapshot and recent lifecycle feed. The dashboard tracks:
Open commit View diff
241 Open `/admin` -> **Activity** for an all-time operational snapshot and recent lifecycle feed. The dashboard tracks:
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
242
Open commit View diff
242
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
243
- total bookings, upcoming meetings, completed meetings, cancellations, reschedules, paid bookings, and average meeting length
Open commit View diff
243 - total bookings, upcoming meetings, completed meetings, cancellations, reschedules, paid bookings, and average meeting length
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
244
- when payments are enabled: open payment holds plus gross Stripe revenue, refunds, and net revenue, kept separate by currency if the configured currency changes over time
Open commit View diff
244 - when payments are enabled: open payment holds plus gross Stripe revenue, refunds, and net revenue, kept separate by currency if the configured currency changes over time
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
245
- recent booking confirmations, Checkout starts, payments, released holds, reschedules, suggested times, accepted suggestions, refunds, and cancellations
Open commit View diff
245 - recent booking confirmations, Checkout starts, payments, released holds, reschedules, suggested times, accepted suggestions, refunds, and cancellations
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
246
Open commit View diff
246
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
247
Activity events are stored separately from the booking rows so repeated reschedules and payment/refund changes are preserved as history. Migration `0005_activity.sql` backfills the lifecycle points that can be safely reconstructed from existing bookings. Activity logging is observational: a feed-write failure never blocks a booking, payment, refund, cancellation, or calendar update.
Open commit View diff
247 Activity events are stored separately from the booking rows so repeated reschedules and payment/refund changes are preserved as history. Migration `0005_activity.sql` backfills the lifecycle points that can be safely reconstructed from existing bookings. Activity logging is observational: a feed-write failure never blocks a booking, payment, refund, cancellation, or calendar update.
same change 92deb90

feat: add public booking IDs and self-service cancellation

Full commit hash
92deb90d0872b02f6bac0f855281cdb9a73596db
Author
Alex Nord <[email protected]>
Date
about 22 hours ago
Selected line
248
Open commit View diff
248
Alex Nord about 21 hours ago 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
249
## Attendees and booking search
Open commit View diff
249 ## Attendees and booking search
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
250
Open commit View diff
250
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
251
Open `/admin` -> **Attendees** to see repeat-booking history grouped by normalized attendee email. Each attendee shows total bookings, upcoming/completed meetings, cancellations, reschedules, booked minutes, average duration, and (when Stripe payments are enabled) paid/refunded booking counts. Opening an attendee shows their recent booking history and links back into the normal booking detail view.
Open commit View diff
251 Open `/admin` -> **Attendees** to see repeat-booking history grouped by normalized attendee email. Each attendee shows total bookings, upcoming/completed meetings, cancellations, reschedules, booked minutes, average duration, and (when Stripe payments are enabled) paid/refunded booking counts. Opening an attendee shows their recent booking history and links back into the normal booking detail view.
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
252
Open commit View diff
252
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
253
The **Bookings** tab also has server-backed search. Search by the public `SLT-...` booking ID, internal booking UUID, attendee name, or attendee email; results can still be switched between **Upcoming** and **Past**. Search is not limited to the initially loaded booking list.
Open commit View diff
253 The **Bookings** tab also has server-backed search. Search by the public `SLT-...` booking ID, internal booking UUID, attendee name, or attendee email; results can still be switched between **Upcoming** and **Past**. Search is not limited to the initially loaded booking list.
same change 862116d

feat: add attendee insights and booking search

Full commit hash
862116d1429c92c653ba637895820678ba975eb9
Author
Alex Nord <[email protected]>
Date
about 21 hours ago
Selected line
254
Open commit View diff
254
Alex Nord about 23 hours ago 9aa588b

feat: add rescheduling, time proposals and Stripe cancellation refunds

Full commit hash
9aa588b368f7c46ba3d287199a3d95506867c927
Author
Alex Nord <[email protected]>
Date
about 23 hours ago
Selected line
255
## Google project in Testing mode
Open commit View diff
255 ## Google project in Testing mode
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
256
Open commit View diff
256
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
257
If the Google OAuth audience is **External / Testing**, add the admin account as a test user. Google may expire testing-mode authorizations, so move the OAuth app to the appropriate production state when you are satisfied with it.
Open commit View diff
257 If the Google OAuth audience is **External / Testing**, add the admin account as a test user. Google may expire testing-mode authorizations, so move the OAuth app to the appropriate production state when you are satisfied with it.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
258
Open commit View diff
258
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
259
## Later deploys
Open commit View diff
259 ## Later deploys
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
260
Open commit View diff
260
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
261
```bash
Open commit View diff
261 ```bash
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
262
npm run deploy
Open commit View diff
262 npm run deploy
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
263
```
Open commit View diff
263 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
264
Open commit View diff
264
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
265
Apply new D1 migrations when a release adds them:
Open commit View diff
265 Apply new D1 migrations when a release adds them:
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
266
Open commit View diff
266
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
267
```bash
Open commit View diff
267 ```bash
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
268
npm run db:migrate:remote
Open commit View diff
268 npm run db:migrate:remote
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
269
```
Open commit View diff
269 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
270
Open commit View diff
270
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
271
## Local development
Open commit View diff
271 ## Local development
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
272
Open commit View diff
272
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
273
Copy `.dev.vars.example` to `.dev.vars` and fill in development credentials.
Open commit View diff
273 Copy `.dev.vars.example` to `.dev.vars` and fill in development credentials.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
274
Open commit View diff
274
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
275
```bash
Open commit View diff
275 ```bash
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
276
npm run db:migrate:local
Open commit View diff
276 npm run db:migrate:local
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
277
npm run dev
Open commit View diff
277 npm run dev
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
278
```
Open commit View diff
278 ```
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
279
Open commit View diff
279
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
280
For local Google OAuth, add the localhost callback you actually use to the OAuth client.
Open commit View diff
280 For local Google OAuth, add the localhost callback you actually use to the OAuth client.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
281
Open commit View diff
281
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
282
## Important implementation details
Open commit View diff
282 ## Important implementation details
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
283
Open commit View diff
283
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
284
### Availability
Open commit View diff
284 ### Availability
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
285
Open commit View diff
285
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
286
Weekly availability is the outer boundary. Google Calendar is the source of truth for what is actually busy inside that boundary.
Open commit View diff
286 Weekly availability is the outer boundary. Google Calendar is the source of truth for what is actually busy inside that boundary.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
287
Open commit View diff
287
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
288
### Booking race protection
Open commit View diff
288 ### Booking race protection
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
289
Open commit View diff
289
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
290
Before creating a Google event, the Worker reserves all small time segments touched by the booking (including configured buffers) in D1. Those inserts are submitted as one D1 batch. A uniqueness collision causes the reservation to fail instead of allowing two concurrent bookings to win the same time.
Open commit View diff
290 Before creating a Google event, the Worker reserves all small time segments touched by the booking (including configured buffers) in D1. Those inserts are submitted as one D1 batch. A uniqueness collision causes the reservation to fail instead of allowing two concurrent bookings to win the same time.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
291
Open commit View diff
291
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
292
The Worker then asks Google FreeBusy one final time before creating the event.
Open commit View diff
292 The Worker then asks Google FreeBusy one final time before creating the event.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
293
Open commit View diff
293
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
294
### Google tokens
Open commit View diff
294 ### Google tokens
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
295
Open commit View diff
295
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
296
The Google refresh token is encrypted with AES-GCM before it is persisted in D1. `TOKEN_ENCRYPTION_KEY` stays in Cloudflare Worker secrets and is not stored in the database or source tree.
Open commit View diff
296 The Google refresh token is encrypted with AES-GCM before it is persisted in D1. `TOKEN_ENCRYPTION_KEY` stays in Cloudflare Worker secrets and is not stored in the database or source tree.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
297
Open commit View diff
297
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
298
## Current limits
Open commit View diff
298 ## Current limits
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
299
Open commit View diff
299
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
300
This is a focused first version, not a Cal.com clone.
Open commit View diff
300 This is a focused first version, not a Cal.com clone.
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
301
Open commit View diff
301
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
302
- One owner/admin account
Open commit View diff
302 - One owner/admin account
Alex Nord about 15 hours ago 456feae

feat: add self-service booking management and free payment durations

Full commit hash
456feae6ef68a3e3bf55a0ea617bac46f7dc289e
Author
Alex Nord <[email protected]>
Date
about 15 hours ago
Selected line
303
- Guest self-service management is booking-ID based rather than account based; the booking ID acts as a high-entropy bearer reference
Open commit View diff
303 - Guest self-service management is booking-ID based rather than account based; the booking ID acts as a high-entropy bearer reference
Alex Nord 3 days ago 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
304
- No recurring availability exceptions UI yet (block time in Google Calendar instead)
Open commit View diff
304 - No recurring availability exceptions UI yet (block time in Google Calendar instead)
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
305
- Admin currently accepts calendar IDs as text rather than fetching a calendar picker
Open commit View diff
305 - Admin currently accepts calendar IDs as text rather than fetching a calendar picker
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
306
- No custom reminder emails; Google Calendar sends the invitation
Open commit View diff
306 - No custom reminder emails; Google Calendar sends the invitation
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
307
Open commit View diff
307
same change 45c38c3

Prepare Slot booking worker

Full commit hash
45c38c3ae5284118e8d65aa9d49e90850b1209f5
Author
Alex Nord <[email protected]>
Date
3 days ago
Selected line
308
Those are deliberate cuts to keep deployment and operation small.
Open commit View diff
308 Those are deliberate cuts to keep deployment and operation small.