2026-04-08 12:06:46,793 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 12:06:51,251 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 12:07:47,218 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 12:07:47,519 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 12:07:55,790 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 12:08:40,300 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 12:08:40,702 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 12:08:49,095 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 12:09:34,110 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 12:09:34,446 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 12:09:43,624 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 13:31:14,204 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 13:31:14,599 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 13:31:18,419 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 13:31:23,557 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 13:31:34,130 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 13:31:46,995 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 13:31:48,912 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 13:32:25,201 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 13:32:25,707 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 13:32:31,128 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 13:32:43,185 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 13:32:56,123 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 13:32:58,508 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 16:34:34,792 [INFO] ============================================================
2026-04-08 16:34:34,792 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 16:34:34,792 [INFO] ============================================================
2026-04-08 16:34:34,793 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:35,206 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 16:34:35,215 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 16:34:35,215 [INFO] Loading PT schedules from Google Drive...
2026-04-08 16:34:35,217 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:36,458 [WARNING] Braxton Carter: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:36,458 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:36,630 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:37,522 [WARNING] Thomas Affleck: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:37,523 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:38,282 [WARNING] Carolyn Schiffman: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:38,283 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:39,392 [WARNING] Robert Brinkman: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:39,394 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:40,401 [WARNING] Vince Landi: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:40,407 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:40,585 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:34:41,649 [WARNING] Ruthann Swinsky: PT PDF parse failed — string indices must be integers
2026-04-08 16:34:41,649 [INFO] PT schedules loaded: 0 of 14 patients
2026-04-08 16:34:41,649 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 16:34:45,406 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:34:50,639 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:35:02,481 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:35:08,065 [INFO] Adult: 485 slots on 69 days | Myo: 549 slots on 77 days
2026-04-08 16:35:08,066 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 16:35:08,066 [INFO] --- Braxton Carter ---
2026-04-08 16:35:08,067 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:08,297 [INFO] GHL: 7zZKEFGnxV7YD8Bgzkmr | Booking 4 slots (no PT coordination)
2026-04-08 16:35:08,297 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-08 16:35:08,801 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-08 16:35:09,313 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-08 16:35:09,822 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-08 16:35:10,330 [INFO] --- Dove Johnson ---
2026-04-08 16:35:10,332 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:10,571 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-08 16:35:10,571 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-08 16:35:11,081 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-08 16:35:11,587 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-08 16:35:12,098 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-08 16:35:12,609 [INFO] --- Thomas Affleck ---
2026-04-08 16:35:12,615 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=no
2026-04-08 16:35:13,631 [WARNING] Contact not found in GHL: Thomas Affleck
2026-04-08 16:35:13,631 [INFO] --- Carolyn Schiffman ---
2026-04-08 16:35:13,632 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:13,800 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (no PT coordination)
2026-04-08 16:35:13,800 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-08 16:35:14,303 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-08 16:35:14,811 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-08 16:35:15,316 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-08 16:35:15,824 [INFO] --- Robert Brinkman ---
2026-04-08 16:35:15,825 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:35:16,097 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (no PT coordination)
2026-04-08 16:35:16,097 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-08 16:35:16,605 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-08 16:35:17,114 [INFO] [DRY RUN] 2026-05-27T10:00:00
2026-04-08 16:35:17,620 [INFO] [DRY RUN] 2026-05-29T12:00:00
2026-04-08 16:35:18,132 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-08 16:35:18,636 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-08 16:35:19,145 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-08 16:35:19,648 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-08 16:35:20,154 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-08 16:35:20,654 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-08 16:35:21,165 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-08 16:35:21,672 [INFO] [DRY RUN] 2026-06-18T10:00:00
2026-04-08 16:35:22,178 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-08 16:35:22,685 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-08 16:35:23,192 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-08 16:35:23,701 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-08 16:35:24,215 [INFO] --- Vince Landi ---
2026-04-08 16:35:24,218 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:35:25,234 [WARNING] Contact not found in GHL: Vince Landi
2026-04-08 16:35:25,235 [INFO] --- Lisa Frank ---
2026-04-08 16:35:25,235 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:35:25,558 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-08 16:35:25,559 [INFO] [DRY RUN] 2026-07-02T10:00:00
2026-04-08 16:35:26,061 [INFO] [DRY RUN] 2026-07-09T10:00:00
2026-04-08 16:35:26,564 [INFO] [DRY RUN] 2026-07-13T10:00:00
2026-04-08 16:35:27,073 [INFO] [DRY RUN] 2026-07-15T10:00:00
2026-04-08 16:35:27,584 [INFO] [DRY RUN] 2026-07-17T12:00:00
2026-04-08 16:35:28,087 [INFO] [DRY RUN] 2026-07-20T10:00:00
2026-04-08 16:35:28,589 [INFO] [DRY RUN] 2026-07-22T10:00:00
2026-04-08 16:35:29,096 [INFO] [DRY RUN] 2026-07-24T12:00:00
2026-04-08 16:35:29,602 [INFO] [DRY RUN] 2026-07-27T10:00:00
2026-04-08 16:35:30,105 [INFO] [DRY RUN] 2026-07-29T10:00:00
2026-04-08 16:35:30,609 [INFO] [DRY RUN] 2026-07-31T12:00:00
2026-04-08 16:35:31,111 [INFO] [DRY RUN] 2026-08-03T10:00:00
2026-04-08 16:35:31,613 [INFO] [DRY RUN] 2026-08-05T10:00:00
2026-04-08 16:35:32,120 [INFO] [DRY RUN] 2026-08-07T12:00:00
2026-04-08 16:35:32,622 [INFO] [DRY RUN] 2026-08-10T10:00:00
2026-04-08 16:35:33,126 [INFO] [DRY RUN] 2026-08-12T10:00:00
2026-04-08 16:35:33,633 [INFO] --- Ruthann Swinsky ---
2026-04-08 16:35:33,635 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:35:33,837 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (no PT coordination)
2026-04-08 16:35:33,838 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-08 16:35:34,348 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-08 16:35:34,851 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-08 16:35:35,352 [INFO] [DRY RUN] 2026-05-18T12:30:00
2026-04-08 16:35:35,854 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-08 16:35:36,361 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-08 16:35:36,865 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-08 16:35:37,366 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-08 16:35:37,868 [INFO] --- George Simmons ---
2026-04-08 16:35:37,869 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:38,119 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-08 16:35:38,120 [INFO] [DRY RUN] 2026-07-10T12:00:00
2026-04-08 16:35:38,624 [INFO] [DRY RUN] 2026-08-14T12:00:00
2026-04-08 16:35:39,130 [INFO] [DRY RUN] 2026-08-21T12:00:00
2026-04-08 16:35:39,638 [INFO] [DRY RUN] 2026-09-23T10:00:00
2026-04-08 16:35:40,149 [INFO] --- Aiden Sheridan ---
2026-04-08 16:35:40,150 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:40,390 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-08 16:35:40,390 [INFO] [DRY RUN] 2026-07-03T11:00:00
2026-04-08 16:35:40,895 [INFO] [DRY RUN] 2026-07-09T11:00:00
2026-04-08 16:35:41,400 [INFO] [DRY RUN] 2026-07-15T11:00:00
2026-04-08 16:35:41,901 [INFO] [DRY RUN] 2026-07-22T11:00:00
2026-04-08 16:35:42,406 [INFO] --- Scott Karlin ---
2026-04-08 16:35:42,407 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:35:42,651 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-08 16:35:42,652 [INFO] [DRY RUN] 2026-07-16T10:00:00
2026-04-08 16:35:43,153 [INFO] [DRY RUN] 2026-07-23T10:00:00
2026-04-08 16:35:43,658 [INFO] [DRY RUN] 2026-07-30T10:00:00
2026-04-08 16:35:44,160 [INFO] [DRY RUN] 2026-08-06T10:00:00
2026-04-08 16:35:44,666 [INFO] [DRY RUN] 2026-08-13T10:00:00
2026-04-08 16:35:45,176 [INFO] [DRY RUN] 2026-08-17T10:00:00
2026-04-08 16:35:45,678 [INFO] [DRY RUN] 2026-08-19T10:00:00
2026-04-08 16:35:46,189 [INFO] [DRY RUN] 2026-08-24T10:00:00
2026-04-08 16:35:46,696 [INFO] --- Shy A ---
2026-04-08 16:35:46,697 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:47,296 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 16:35:47,296 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 1 slots (no PT coordination)
2026-04-08 16:35:47,296 [INFO] [DRY RUN] 2026-08-20T10:00:00
2026-04-08 16:35:47,797 [INFO] --- Amelia Sewell ---
2026-04-08 16:35:47,798 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:47,800 [WARNING] No slots found for Amelia Sewell
2026-04-08 16:35:47,800 [INFO] --- Rosemary Rollor ---
2026-04-08 16:35:47,800 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:35:47,802 [WARNING] No slots found for Rosemary Rollor
2026-04-08 16:35:47,803 [INFO] 📅 Extension Check [DRY RUN] — April 08, 2026
10 scheduled, 4 skipped
Other patients:
• Braxton Carter — 4 sessions (4/30–5/20)
• Dove Johnson — 4 sessions (5/1–5/21)
• Carolyn Schiffman — 4 sessions (4/13–5/18)
• Robert Brinkman — 16 sessions (5/15–6/29)
• Lisa Frank — 16 sessions (7/2–8/12)
• Ruthann Swinsky — 8 sessions (5/7–6/1)
• George Simmons — 4 sessions (7/10–9/23)
• Aiden Sheridan — 4 sessions (7/3–7/22)
• Scott Karlin — 8 sessions (7/16–8/24)
• Shy A — 1/4 sessions (8/20–8/20)
Skipped (4):
• Thomas Affleck — not found in GHL
• Vince Landi — not found in GHL
• Amelia Sewell — no available slots in window
• Rosemary Rollor — no available slots in window
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-08 16:40:21,608 [INFO] ============================================================
2026-04-08 16:40:21,609 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 16:40:21,609 [INFO] ============================================================
2026-04-08 16:40:21,610 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:21,944 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 16:40:21,953 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 16:40:21,953 [INFO] Loading PT schedules from Google Drive...
2026-04-08 16:40:21,959 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:22,879 [INFO] Braxton Carter: 12 PT days loaded
2026-04-08 16:40:22,880 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:23,161 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:24,376 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-08 16:40:24,377 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:26,012 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-08 16:40:26,013 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:26,925 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-08 16:40:26,929 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:27,825 [INFO] Vince Landi: 15 PT days loaded
2026-04-08 16:40:27,827 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:28,013 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 16:40:28,846 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-08 16:40:28,847 [INFO] PT schedules loaded: 6 of 14 patients
2026-04-08 16:40:28,847 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 16:40:33,764 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:40:38,929 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:40:47,771 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:40:53,021 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 16:40:58,365 [INFO] Adult: 485 slots on 69 days | Myo: 485 slots on 69 days
2026-04-08 16:40:58,365 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 16:40:58,366 [INFO] --- Braxton Carter ---
2026-04-08 16:40:58,367 [INFO] PT patient — prefer days: [0]
2026-04-08 16:40:58,367 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (12 days)
2026-04-08 16:40:58,622 [INFO] GHL: 7zZKEFGnxV7YD8Bgzkmr | Booking 4 slots (incl. 4 PT-adjacent)
2026-04-08 16:40:58,622 [INFO] [DRY RUN] 2026-05-11T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 16:40:59,129 [INFO] [DRY RUN] 2026-05-18T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 16:40:59,630 [INFO] [DRY RUN] 2026-05-25T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 16:41:00,133 [INFO] [DRY RUN] 2026-06-01T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 16:41:00,640 [INFO] --- Dove Johnson ---
2026-04-08 16:41:00,641 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:00,920 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-08 16:41:00,921 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-08 16:41:01,430 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-08 16:41:01,939 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-08 16:41:02,449 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-08 16:41:02,954 [INFO] --- Thomas Affleck ---
2026-04-08 16:41:02,959 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-08 16:41:02,960 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-08 16:41:03,516 [WARNING] Contact not found in GHL: Thomas Affleck
2026-04-08 16:41:03,516 [INFO] --- Carolyn Schiffman ---
2026-04-08 16:41:03,517 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-08 16:41:03,517 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-08 16:41:03,693 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-08 16:41:03,694 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-08 16:41:04,195 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-08 16:41:04,697 [INFO] [DRY RUN] 2026-05-25T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-08 16:41:05,202 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-08 16:41:05,707 [INFO] --- Robert Brinkman ---
2026-04-08 16:41:05,709 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-08 16:41:05,709 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-08 16:41:05,960 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 5 PT-adjacent)
2026-04-08 16:41:05,960 [INFO] [DRY RUN] 2026-05-06T13:30:00 ← PT at 12:00 (90 min gap)
2026-04-08 16:41:06,461 [INFO] [DRY RUN] 2026-05-13T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 16:41:06,963 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-08 16:41:07,465 [INFO] [DRY RUN] 2026-05-25T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 16:41:07,968 [INFO] [DRY RUN] 2026-05-27T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 16:41:08,469 [INFO] [DRY RUN] 2026-05-29T12:00:00
2026-04-08 16:41:08,972 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-08 16:41:09,473 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-08 16:41:09,973 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-08 16:41:10,475 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-08 16:41:10,980 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-08 16:41:11,485 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-08 16:41:11,993 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-08 16:41:12,497 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-08 16:41:13,003 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-08 16:41:13,504 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-08 16:41:14,012 [INFO] --- Vince Landi ---
2026-04-08 16:41:14,014 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-08 16:41:14,014 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-08 16:41:14,756 [WARNING] Contact not found in GHL: Vince Landi
2026-04-08 16:41:14,756 [INFO] --- Lisa Frank ---
2026-04-08 16:41:14,756 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:41:15,086 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-08 16:41:15,086 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-08 16:41:15,595 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-08 16:41:16,100 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-08 16:41:16,610 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-08 16:41:17,112 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-08 16:41:17,616 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-08 16:41:18,117 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-08 16:41:18,622 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-08 16:41:19,129 [INFO] [DRY RUN] 2026-05-28T10:00:00
2026-04-08 16:41:19,634 [INFO] [DRY RUN] 2026-06-04T10:00:00
2026-04-08 16:41:20,139 [INFO] [DRY RUN] 2026-06-11T10:00:00
2026-04-08 16:41:20,640 [INFO] [DRY RUN] 2026-06-18T10:00:00
2026-04-08 16:41:21,150 [INFO] [DRY RUN] 2026-06-25T10:00:00
2026-04-08 16:41:21,659 [INFO] [DRY RUN] 2026-07-02T10:00:00
2026-04-08 16:41:22,161 [INFO] [DRY RUN] 2026-07-08T10:00:00
2026-04-08 16:41:22,665 [INFO] [DRY RUN] 2026-07-10T12:00:00
2026-04-08 16:41:23,175 [INFO] --- Ruthann Swinsky ---
2026-04-08 16:41:23,177 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-08 16:41:23,178 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-08 16:41:23,424 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-08 16:41:23,425 [INFO] [DRY RUN] 2026-05-08T12:00:00 ← PT at 11:00 (60 min gap)
2026-04-08 16:41:23,942 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:24,447 [INFO] [DRY RUN] 2026-05-20T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:24,951 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:25,461 [INFO] [DRY RUN] 2026-05-28T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:25,967 [INFO] [DRY RUN] 2026-06-01T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:26,468 [INFO] [DRY RUN] 2026-06-04T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:26,972 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 16:41:27,474 [INFO] --- George Simmons ---
2026-04-08 16:41:27,476 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:27,693 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-08 16:41:27,693 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-08 16:41:28,194 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-08 16:41:28,704 [INFO] [DRY RUN] 2026-07-13T10:00:00
2026-04-08 16:41:29,214 [INFO] [DRY RUN] 2026-07-20T10:00:00
2026-04-08 16:41:29,724 [INFO] --- Aiden Sheridan ---
2026-04-08 16:41:29,725 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:30,125 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-08 16:41:30,126 [INFO] [DRY RUN] 2026-07-03T11:00:00
2026-04-08 16:41:30,635 [INFO] [DRY RUN] 2026-07-17T12:00:00
2026-04-08 16:41:31,137 [INFO] [DRY RUN] 2026-07-24T12:00:00
2026-04-08 16:41:31,640 [INFO] [DRY RUN] 2026-07-31T12:00:00
2026-04-08 16:41:32,148 [INFO] --- Scott Karlin ---
2026-04-08 16:41:32,150 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 16:41:32,363 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-08 16:41:32,363 [INFO] [DRY RUN] 2026-07-09T10:00:00
2026-04-08 16:41:32,864 [INFO] [DRY RUN] 2026-07-15T10:00:00
2026-04-08 16:41:33,368 [INFO] [DRY RUN] 2026-07-22T10:00:00
2026-04-08 16:41:33,870 [INFO] [DRY RUN] 2026-07-27T10:00:00
2026-04-08 16:41:34,372 [INFO] [DRY RUN] 2026-07-29T10:00:00
2026-04-08 16:41:34,882 [INFO] [DRY RUN] 2026-08-03T10:00:00
2026-04-08 16:41:35,399 [INFO] [DRY RUN] 2026-08-05T10:00:00
2026-04-08 16:41:35,909 [INFO] [DRY RUN] 2026-08-07T12:00:00
2026-04-08 16:41:36,411 [INFO] --- Shy A ---
2026-04-08 16:41:36,412 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:36,908 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 16:41:36,908 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-08 16:41:36,908 [INFO] [DRY RUN] 2026-08-10T10:00:00
2026-04-08 16:41:37,419 [INFO] [DRY RUN] 2026-08-17T10:00:00
2026-04-08 16:41:37,925 [INFO] [DRY RUN] 2026-08-24T10:00:00
2026-04-08 16:41:38,429 [INFO] [DRY RUN] 2026-09-23T10:00:00
2026-04-08 16:41:38,941 [INFO] --- Amelia Sewell ---
2026-04-08 16:41:38,943 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:39,166 [INFO] GHL: I76iQkwcLEf6N1QVxWqD | Booking 4 slots (no PT coordination)
2026-04-08 16:41:39,166 [INFO] [DRY RUN] 2026-07-16T10:00:00
2026-04-08 16:41:39,671 [INFO] [DRY RUN] 2026-07-23T10:00:00
2026-04-08 16:41:40,177 [INFO] [DRY RUN] 2026-07-30T10:00:00
2026-04-08 16:41:40,681 [INFO] [DRY RUN] 2026-08-06T10:00:00
2026-04-08 16:41:41,185 [INFO] --- Rosemary Rollor ---
2026-04-08 16:41:41,186 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 16:41:41,787 [WARNING] Contact not found in GHL: Rosemary Rollor
2026-04-08 16:41:41,788 [INFO] 📅 Extension Check [DRY RUN] — April 08, 2026
11 scheduled, 3 skipped
Synapse (PT + Speech) patients:
• Braxton Carter — 4 sessions (5/11–6/1) | 4/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/3) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/6–7/1) | 5/16 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/8) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/30–5/20)
• Lisa Frank — 16 sessions (4/13–7/10)
• George Simmons — 4 sessions (5/15–7/20)
• Aiden Sheridan — 4 sessions (7/3–7/31)
• Scott Karlin — 8 sessions (7/9–8/7)
• Shy A — 4 sessions (8/10–9/23)
• Amelia Sewell — 4 sessions (7/16–8/6)
Skipped (3):
• Thomas Affleck — not found in GHL
• Vince Landi — not found in GHL
• Rosemary Rollor — not found in GHL
PT coordination: 20/32 sessions placed adjacent to PT across 4 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-08 17:20:21,316 [INFO] ============================================================
2026-04-08 17:20:21,316 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 17:20:21,316 [INFO] ============================================================
2026-04-08 17:20:21,318 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:21,512 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:21,814 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:20:21,823 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 17:20:21,824 [INFO] Loading PT schedules from Google Drive...
2026-04-08 17:20:21,825 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:22,007 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:22,930 [INFO] Braxton Carter: 12 PT days loaded
2026-04-08 17:20:22,930 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:23,039 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:23,290 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:23,369 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:24,408 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-08 17:20:24,409 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:24,465 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:25,347 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-08 17:20:25,348 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:25,406 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:26,291 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-08 17:20:26,292 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:26,352 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:28,124 [INFO] Vince Landi: 15 PT days loaded
2026-04-08 17:20:28,124 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:28,289 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:28,534 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:20:28,628 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:20:29,696 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-08 17:20:29,696 [INFO] PT schedules loaded: 6 of 14 patients
2026-04-08 17:20:29,696 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 17:20:47,873 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:20:53,031 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:20:58,514 [INFO] Adult: 613 slots on 85 days | Myo: 485 slots on 69 days
2026-04-08 17:20:58,516 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 17:20:58,516 [INFO] --- Braxton Carter ---
2026-04-08 17:21:02,979 [INFO] ============================================================
2026-04-08 17:21:02,980 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 17:21:02,980 [INFO] ============================================================
2026-04-08 17:21:02,982 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:03,153 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:03,542 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:21:03,552 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 17:21:03,552 [INFO] Loading PT schedules from Google Drive...
2026-04-08 17:21:03,554 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:03,893 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:04,906 [INFO] Braxton Carter: 12 PT days loaded
2026-04-08 17:21:04,907 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:04,975 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:05,216 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:05,291 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:06,195 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-08 17:21:06,195 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:06,259 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:07,260 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-08 17:21:07,261 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:07,317 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:08,213 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-08 17:21:08,214 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:08,271 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:09,251 [INFO] Vince Landi: 15 PT days loaded
2026-04-08 17:21:09,252 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:09,306 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:09,502 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:09,680 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:10,482 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-08 17:21:10,482 [INFO] PT schedules loaded: 6 of 14 patients
2026-04-08 17:21:10,482 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 17:21:16,467 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:21:25,797 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:21:30,948 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:21:36,213 [INFO] Adult: 549 slots on 77 days | Myo: 485 slots on 69 days
2026-04-08 17:21:36,214 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 17:21:36,214 [INFO] --- Braxton Carter ---
2026-04-08 17:21:52,250 [INFO] ============================================================
2026-04-08 17:21:52,250 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 17:21:52,250 [INFO] ============================================================
2026-04-08 17:21:52,252 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:52,457 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:52,705 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:21:52,715 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 17:21:52,715 [INFO] Loading PT schedules from Google Drive...
2026-04-08 17:21:52,717 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:52,811 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:53,957 [INFO] Braxton Carter: 12 PT days loaded
2026-04-08 17:21:53,958 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:54,022 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:54,250 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:54,337 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:55,088 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-08 17:21:55,089 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:55,149 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:56,145 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-08 17:21:56,147 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:56,200 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:57,111 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-08 17:21:57,111 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:57,182 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:58,586 [INFO] Vince Landi: 15 PT days loaded
2026-04-08 17:21:58,589 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:58,648 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:58,941 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:21:59,027 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:21:59,819 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-08 17:21:59,819 [INFO] PT schedules loaded: 6 of 14 patients
2026-04-08 17:21:59,819 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 17:22:15,210 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:22:23,059 [INFO] Adult: 613 slots on 85 days | Myo: 549 slots on 77 days
2026-04-08 17:22:23,060 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 17:22:23,060 [INFO] --- Braxton Carter ---
2026-04-08 17:22:23,905 [INFO] PT patient — prefer days: [0]
2026-04-08 17:22:23,905 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (12 days)
2026-04-08 17:22:23,907 [INFO] GHL: 7zZKEFGnxV7YD8Bgzkmr | Booking 4 slots (incl. 4 PT-adjacent)
2026-04-08 17:22:23,907 [INFO] [DRY RUN] 2026-05-11T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 17:22:24,411 [INFO] [DRY RUN] 2026-05-18T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 17:22:24,914 [INFO] [DRY RUN] 2026-05-25T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 17:22:25,423 [INFO] [DRY RUN] 2026-06-01T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 17:22:25,929 [INFO] --- Dove Johnson ---
2026-04-08 17:22:26,389 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:22:26,392 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-08 17:22:26,392 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-08 17:22:26,893 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-08 17:22:27,407 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-08 17:22:27,918 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-08 17:22:28,424 [INFO] --- Thomas Affleck ---
2026-04-08 17:22:29,348 [WARNING] Contact not found in GHL: Thomas Affleck
2026-04-08 17:22:29,348 [INFO] --- Carolyn Schiffman ---
2026-04-08 17:22:29,698 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-08 17:22:29,699 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-08 17:22:29,702 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-08 17:22:29,702 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-08 17:22:30,209 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-08 17:22:30,711 [INFO] [DRY RUN] 2026-05-25T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-08 17:22:31,217 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-08 17:22:31,719 [INFO] --- Robert Brinkman ---
2026-04-08 17:22:32,137 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-08 17:22:32,138 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-08 17:22:32,140 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 5 PT-adjacent)
2026-04-08 17:22:32,141 [INFO] [DRY RUN] 2026-05-06T13:30:00 ← PT at 12:00 (90 min gap)
2026-04-08 17:22:32,651 [INFO] [DRY RUN] 2026-05-13T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:22:33,155 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-08 17:22:33,658 [INFO] [DRY RUN] 2026-05-25T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:22:34,163 [INFO] [DRY RUN] 2026-05-27T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:22:34,674 [INFO] [DRY RUN] 2026-05-29T12:00:00
2026-04-08 17:22:35,183 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-08 17:22:35,691 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-08 17:22:36,196 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-08 17:22:36,698 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-08 17:22:37,207 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-08 17:22:37,717 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-08 17:22:38,219 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-08 17:22:38,721 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-08 17:22:39,226 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-08 17:22:39,727 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-08 17:22:40,235 [INFO] --- Vince Landi ---
2026-04-08 17:22:41,061 [WARNING] Contact not found in GHL: Vince Landi
2026-04-08 17:22:41,061 [INFO] --- Lisa Frank ---
2026-04-08 17:22:41,613 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 17:22:41,618 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-08 17:22:41,618 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-08 17:22:42,121 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-08 17:22:42,624 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-08 17:22:43,126 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-08 17:22:43,628 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-08 17:22:44,139 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-08 17:22:44,640 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-08 17:22:45,143 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-08 17:22:45,654 [INFO] [DRY RUN] 2026-05-27T10:00:00
2026-04-08 17:22:46,157 [INFO] [DRY RUN] 2026-06-04T10:00:00
2026-04-08 17:22:46,666 [INFO] [DRY RUN] 2026-06-11T10:00:00
2026-04-08 17:22:47,176 [INFO] [DRY RUN] 2026-06-18T10:00:00
2026-04-08 17:22:47,678 [INFO] [DRY RUN] 2026-06-25T10:00:00
2026-04-08 17:22:48,183 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-08 17:22:48,688 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-08 17:22:49,197 [INFO] [DRY RUN] 2026-07-03T10:00:00
2026-04-08 17:22:49,703 [INFO] --- Ruthann Swinsky ---
2026-04-08 17:22:50,157 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-08 17:22:50,157 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-08 17:22:50,160 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-08 17:22:50,160 [INFO] [DRY RUN] 2026-05-08T12:00:00 ← PT at 11:00 (60 min gap)
2026-04-08 17:22:50,670 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:51,180 [INFO] [DRY RUN] 2026-05-13T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:51,687 [INFO] [DRY RUN] 2026-05-20T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:52,188 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:52,693 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-08 17:22:53,198 [INFO] [DRY RUN] 2026-06-01T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:53,701 [INFO] [DRY RUN] 2026-06-04T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:22:54,204 [INFO] --- George Simmons ---
2026-04-08 17:22:54,679 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:22:54,682 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-08 17:22:54,682 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-08 17:22:55,188 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-08 17:22:55,698 [INFO] [DRY RUN] 2026-07-06T10:00:00
2026-04-08 17:22:56,208 [INFO] [DRY RUN] 2026-07-13T10:00:00
2026-04-08 17:22:56,710 [INFO] --- Aiden Sheridan ---
2026-04-08 17:22:57,149 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:22:57,152 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-08 17:22:57,152 [INFO] [DRY RUN] 2026-07-03T11:00:00
2026-04-08 17:22:57,662 [INFO] [DRY RUN] 2026-07-10T12:00:00
2026-04-08 17:22:58,173 [INFO] [DRY RUN] 2026-07-17T12:00:00
2026-04-08 17:22:58,677 [INFO] [DRY RUN] 2026-07-24T12:00:00
2026-04-08 17:22:59,180 [INFO] --- Scott Karlin ---
2026-04-08 17:22:59,564 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 17:22:59,567 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-08 17:22:59,568 [INFO] [DRY RUN] 2026-07-02T10:00:00
2026-04-08 17:23:00,076 [INFO] [DRY RUN] 2026-07-08T10:00:00
2026-04-08 17:23:00,579 [INFO] [DRY RUN] 2026-07-15T10:00:00
2026-04-08 17:23:01,087 [INFO] [DRY RUN] 2026-07-20T10:00:00
2026-04-08 17:23:01,589 [INFO] [DRY RUN] 2026-07-22T10:00:00
2026-04-08 17:23:02,096 [INFO] [DRY RUN] 2026-07-27T10:00:00
2026-04-08 17:23:02,602 [INFO] [DRY RUN] 2026-07-29T10:00:00
2026-04-08 17:23:03,113 [INFO] [DRY RUN] 2026-07-31T12:00:00
2026-04-08 17:23:03,617 [INFO] --- Shy A ---
2026-04-08 17:23:04,190 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 17:23:04,360 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-08 17:23:04,363 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-08 17:23:04,363 [INFO] [DRY RUN] 2026-08-03T10:00:00
2026-04-08 17:23:04,867 [INFO] [DRY RUN] 2026-08-10T10:00:00
2026-04-08 17:23:05,370 [INFO] [DRY RUN] 2026-08-17T10:00:00
2026-04-08 17:23:05,874 [INFO] [DRY RUN] 2026-08-24T10:00:00
2026-04-08 17:23:06,381 [INFO] --- Amelia Sewell ---
2026-04-08 17:23:06,784 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:23:06,787 [INFO] GHL: I76iQkwcLEf6N1QVxWqD | Booking 4 slots (no PT coordination)
2026-04-08 17:23:06,788 [INFO] [DRY RUN] 2026-07-09T10:00:00
2026-04-08 17:23:07,288 [INFO] [DRY RUN] 2026-07-16T10:00:00
2026-04-08 17:23:07,795 [INFO] [DRY RUN] 2026-07-23T10:00:00
2026-04-08 17:23:08,302 [INFO] [DRY RUN] 2026-07-30T10:00:00
2026-04-08 17:23:08,807 [INFO] --- Rosemary Rollor ---
2026-04-08 17:23:09,349 [WARNING] Contact not found in GHL: Rosemary Rollor
2026-04-08 17:23:09,350 [INFO] 📅 Extension Check [DRY RUN] — April 08, 2026
11 scheduled, 3 skipped
Synapse (PT + Speech) patients:
• Braxton Carter — 4 sessions (5/11–6/1) | 4/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/3) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/6–6/26) | 5/16 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/4) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/30–5/20)
• Lisa Frank — 16 sessions (4/13–7/3)
• George Simmons — 4 sessions (5/15–7/13)
• Aiden Sheridan — 4 sessions (7/3–7/24)
• Scott Karlin — 8 sessions (7/2–7/31)
• Shy A — 4 sessions (8/3–8/24)
• Amelia Sewell — 4 sessions (7/9–7/30)
Skipped (3):
• Thomas Affleck — not found in GHL
• Vince Landi — not found in GHL
• Rosemary Rollor — not found in GHL
PT coordination: 20/32 sessions placed adjacent to PT across 4 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-08 17:23:11,311 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-08 17:23:18,002 [INFO] ============================================================
2026-04-08 17:23:18,002 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-08 17:23:18,002 [INFO] ============================================================
2026-04-08 17:23:18,004 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:18,209 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:18,470 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:23:18,478 [INFO] Patients needing extension: 14 of 35 total
2026-04-08 17:23:18,478 [INFO] Loading PT schedules from Google Drive...
2026-04-08 17:23:18,480 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:18,663 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:19,750 [INFO] Braxton Carter: 12 PT days loaded
2026-04-08 17:23:19,751 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:19,808 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:20,023 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:20,100 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:21,034 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-08 17:23:21,035 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:21,098 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:22,081 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-08 17:23:22,084 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:22,147 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:23,036 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-08 17:23:23,037 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:23,092 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:24,003 [INFO] Vince Landi: 15 PT days loaded
2026-04-08 17:23:24,004 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:24,059 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:24,242 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:23:24,422 [INFO] Refreshing credentials due to a 401 response. Attempt 1/2.
2026-04-08 17:23:25,653 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-08 17:23:25,653 [INFO] PT schedules loaded: 6 of 14 patients
2026-04-08 17:23:25,653 [INFO] Fetching free slots 2026-04-08 → 2026-09-23 (24-week window)
2026-04-08 17:23:35,635 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:23:46,763 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:23:52,466 [INFO] Adult: 549 slots on 77 days | Myo: 549 slots on 77 days
2026-04-08 17:23:52,468 [INFO] Processing order: 8 Synapse patients first, then 6 others
2026-04-08 17:23:52,468 [INFO] --- Braxton Carter ---
2026-04-08 17:23:52,901 [INFO] PT patient — prefer days: [0]
2026-04-08 17:23:52,902 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (12 days)
2026-04-08 17:23:52,904 [INFO] GHL: 7zZKEFGnxV7YD8Bgzkmr | Booking 4 slots (incl. 4 PT-adjacent)
2026-04-08 17:23:52,904 [INFO] [DRY RUN] 2026-05-11T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 17:23:53,406 [INFO] [DRY RUN] 2026-05-18T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 17:23:53,916 [INFO] [DRY RUN] 2026-05-25T11:00:00 ← PT at 11:00 (0 min gap)
2026-04-08 17:23:54,418 [INFO] [DRY RUN] 2026-06-01T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-08 17:23:54,928 [INFO] --- Dove Johnson ---
2026-04-08 17:23:55,344 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:23:55,347 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-08 17:23:55,347 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-08 17:23:55,849 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-08 17:23:56,354 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-08 17:23:56,855 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-08 17:23:57,369 [INFO] --- Thomas Affleck ---
2026-04-08 17:23:58,613 [WARNING] Contact not found in GHL: Thomas Affleck
2026-04-08 17:23:58,613 [INFO] --- Carolyn Schiffman ---
2026-04-08 17:23:59,008 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-08 17:23:59,008 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-08 17:23:59,010 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-08 17:23:59,011 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-08 17:23:59,513 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-08 17:24:00,016 [INFO] [DRY RUN] 2026-05-25T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-08 17:24:00,520 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-08 17:24:01,023 [INFO] --- Robert Brinkman ---
2026-04-08 17:24:01,496 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-08 17:24:01,497 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-08 17:24:01,499 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 5 PT-adjacent)
2026-04-08 17:24:01,500 [INFO] [DRY RUN] 2026-05-06T13:30:00 ← PT at 12:00 (90 min gap)
2026-04-08 17:24:02,006 [INFO] [DRY RUN] 2026-05-13T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:24:02,508 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-08 17:24:03,015 [INFO] [DRY RUN] 2026-05-25T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:24:03,516 [INFO] [DRY RUN] 2026-05-27T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-08 17:24:04,027 [INFO] [DRY RUN] 2026-05-29T12:00:00
2026-04-08 17:24:04,530 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-08 17:24:05,032 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-08 17:24:05,533 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-08 17:24:06,043 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-08 17:24:06,545 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-08 17:24:07,049 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-08 17:24:07,560 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-08 17:24:08,065 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-08 17:24:08,571 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-08 17:24:09,073 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-08 17:24:09,575 [INFO] --- Vince Landi ---
2026-04-08 17:24:10,308 [WARNING] Contact not found in GHL: Vince Landi
2026-04-08 17:24:10,308 [INFO] --- Lisa Frank ---
2026-04-08 17:24:10,823 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 17:24:10,830 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-08 17:24:10,831 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-08 17:24:11,331 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-08 17:24:11,837 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-08 17:24:12,340 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-08 17:24:12,842 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-08 17:24:13,349 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-08 17:24:13,849 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-08 17:24:14,351 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-08 17:24:14,859 [INFO] [DRY RUN] 2026-05-27T10:00:00
2026-04-08 17:24:15,368 [INFO] [DRY RUN] 2026-06-04T10:00:00
2026-04-08 17:24:15,870 [INFO] [DRY RUN] 2026-06-11T10:00:00
2026-04-08 17:24:16,376 [INFO] [DRY RUN] 2026-06-18T10:00:00
2026-04-08 17:24:16,881 [INFO] [DRY RUN] 2026-06-25T10:00:00
2026-04-08 17:24:17,391 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-08 17:24:17,894 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-08 17:24:18,404 [INFO] [DRY RUN] 2026-07-03T10:00:00
2026-04-08 17:24:18,915 [INFO] --- Ruthann Swinsky ---
2026-04-08 17:24:19,276 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-08 17:24:19,276 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-08 17:24:19,279 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-08 17:24:19,280 [INFO] [DRY RUN] 2026-05-08T12:00:00 ← PT at 11:00 (60 min gap)
2026-04-08 17:24:19,790 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:20,296 [INFO] [DRY RUN] 2026-05-13T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:20,798 [INFO] [DRY RUN] 2026-05-20T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:21,306 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:21,816 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-08 17:24:22,318 [INFO] [DRY RUN] 2026-06-01T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:22,826 [INFO] [DRY RUN] 2026-06-04T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-08 17:24:23,327 [INFO] --- George Simmons ---
2026-04-08 17:24:23,813 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:24:23,817 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-08 17:24:23,817 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-08 17:24:24,319 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-08 17:24:24,824 [INFO] [DRY RUN] 2026-07-06T10:00:00
2026-04-08 17:24:25,326 [INFO] [DRY RUN] 2026-07-13T10:00:00
2026-04-08 17:24:25,834 [INFO] --- Aiden Sheridan ---
2026-04-08 17:24:26,178 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:24:26,181 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-08 17:24:26,181 [INFO] [DRY RUN] 2026-07-03T11:00:00
2026-04-08 17:24:26,688 [INFO] [DRY RUN] 2026-07-10T12:00:00
2026-04-08 17:24:27,190 [INFO] [DRY RUN] 2026-07-17T12:00:00
2026-04-08 17:24:27,691 [INFO] [DRY RUN] 2026-07-24T12:00:00
2026-04-08 17:24:28,202 [INFO] --- Scott Karlin ---
2026-04-08 17:24:28,525 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-08 17:24:28,530 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-08 17:24:28,531 [INFO] [DRY RUN] 2026-07-02T10:00:00
2026-04-08 17:24:29,041 [INFO] [DRY RUN] 2026-07-08T10:00:00
2026-04-08 17:24:29,545 [INFO] [DRY RUN] 2026-07-15T10:00:00
2026-04-08 17:24:30,053 [INFO] [DRY RUN] 2026-07-20T10:00:00
2026-04-08 17:24:30,561 [INFO] [DRY RUN] 2026-07-22T10:00:00
2026-04-08 17:24:31,069 [INFO] [DRY RUN] 2026-07-27T10:00:00
2026-04-08 17:24:31,570 [INFO] [DRY RUN] 2026-07-29T10:00:00
2026-04-08 17:24:32,081 [INFO] [DRY RUN] 2026-07-31T12:00:00
2026-04-08 17:24:32,582 [INFO] --- Shy A ---
2026-04-08 17:24:33,109 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 17:24:33,294 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-08 17:24:33,297 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-08 17:24:33,297 [INFO] [DRY RUN] 2026-08-03T10:00:00
2026-04-08 17:24:33,798 [INFO] [DRY RUN] 2026-08-10T10:00:00
2026-04-08 17:24:34,306 [INFO] [DRY RUN] 2026-08-17T10:00:00
2026-04-08 17:24:34,812 [INFO] [DRY RUN] 2026-08-24T10:00:00
2026-04-08 17:24:35,319 [INFO] --- Amelia Sewell ---
2026-04-08 17:24:35,714 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-08 17:24:35,717 [INFO] GHL: I76iQkwcLEf6N1QVxWqD | Booking 4 slots (no PT coordination)
2026-04-08 17:24:35,717 [INFO] [DRY RUN] 2026-07-09T10:00:00
2026-04-08 17:24:36,219 [INFO] [DRY RUN] 2026-07-16T10:00:00
2026-04-08 17:24:36,730 [INFO] [DRY RUN] 2026-07-23T10:00:00
2026-04-08 17:24:37,240 [INFO] [DRY RUN] 2026-07-30T10:00:00
2026-04-08 17:24:37,742 [INFO] --- Rosemary Rollor ---
2026-04-08 17:24:38,353 [WARNING] Contact not found in GHL: Rosemary Rollor
2026-04-08 17:24:38,355 [INFO] 📅 Extension Check [DRY RUN] — April 08, 2026
11 scheduled, 3 skipped
Synapse (PT + Speech) patients:
• Braxton Carter — 4 sessions (5/11–6/1) | 4/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/3) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/6–6/26) | 5/16 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/4) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/30–5/20)
• Lisa Frank — 16 sessions (4/13–7/3)
• George Simmons — 4 sessions (5/15–7/13)
• Aiden Sheridan — 4 sessions (7/3–7/24)
• Scott Karlin — 8 sessions (7/2–7/31)
• Shy A — 4 sessions (8/3–8/24)
• Amelia Sewell — 4 sessions (7/9–7/30)
Skipped (3):
• Thomas Affleck — not found in GHL
• Vince Landi — not found in GHL
• Rosemary Rollor — not found in GHL
PT coordination: 20/32 sessions placed adjacent to PT across 4 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-08 17:24:40,135 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-08 17:39:59,769 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:40:00,142 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:40:03,269 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:40:08,508 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:40:37,777 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:40:43,799 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:40:52,267 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:40:52,613 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:40:55,382 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 17:40:55,710 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:40:57,409 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 17:41:00,922 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:41:09,951 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:41:15,152 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:41:27,023 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 17:41:29,002 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-08 17:48:30,860 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-08 17:48:31,407 [INFO] APL: loaded 35 patients from 45 rows
2026-04-08 17:48:36,676 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:48:46,602 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:48:51,756 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-08 17:49:03,987 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-08 17:49:05,959 [INFO] get_all_upcoming: 27 appointments across both calendars
2026-04-09 19:31:01,897 [INFO] ============================================================
2026-04-09 19:31:01,897 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-09 19:31:01,897 [INFO] ============================================================
2026-04-09 19:31:01,899 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:02,557 [INFO] APL: loaded 37 patients from 47 rows
2026-04-09 19:31:02,567 [INFO] Patients needing extension: 15 of 37 total
2026-04-09 19:31:02,567 [INFO] Loading PT schedules from Google Drive...
2026-04-09 19:31:02,570 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:02,874 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:03,744 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-09 19:31:03,745 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:04,671 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-09 19:31:04,672 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:05,632 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-09 19:31:05,632 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:06,390 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-09 19:31:06,391 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:07,258 [INFO] Vince Landi: 15 PT days loaded
2026-04-09 19:31:07,259 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:07,444 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 19:31:08,420 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-09 19:31:08,421 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-09 19:31:08,421 [INFO] Fetching free slots 2026-04-09 → 2026-09-24 (24-week window)
2026-04-09 19:31:12,490 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 19:31:17,694 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 19:31:26,627 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 19:31:31,846 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 19:31:37,197 [INFO] Adult: 499 slots on 72 days | Myo: 499 slots on 72 days
2026-04-09 19:31:37,197 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-09 19:31:37,198 [INFO] --- Dove Johnson ---
2026-04-09 19:31:37,645 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 19:31:37,647 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-09 19:31:37,648 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-09 19:31:38,149 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-09 19:31:38,656 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-09 19:31:39,158 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-09 19:31:39,661 [INFO] --- Bruce Weinstein ---
2026-04-09 19:31:40,105 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-09 19:31:40,105 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-09 19:31:40,108 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-09 19:31:40,109 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-09 19:31:40,615 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-09 19:31:41,116 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-09 19:31:41,623 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-09 19:31:42,126 [INFO] --- Thomas Affleck ---
2026-04-09 19:31:42,568 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-09 19:31:42,568 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-09 19:31:42,570 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 2 PT-adjacent)
2026-04-09 19:31:42,571 [INFO] [DRY RUN] 2026-05-13T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-09 19:31:43,080 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-09 19:31:43,587 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-09 19:31:44,096 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-09 19:31:44,603 [INFO] --- Carolyn Schiffman ---
2026-04-09 19:31:44,994 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-09 19:31:44,994 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-09 19:31:44,996 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-09 19:31:44,997 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-09 19:31:45,505 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-09 19:31:46,012 [INFO] [DRY RUN] 2026-05-25T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-09 19:31:46,522 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-09 19:31:47,032 [INFO] --- Robert Brinkman ---
2026-04-09 19:31:47,444 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-09 19:31:47,444 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-09 19:31:47,446 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 3 PT-adjacent)
2026-04-09 19:31:47,447 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-09 19:31:47,956 [INFO] [DRY RUN] 2026-05-25T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-09 19:31:48,463 [INFO] [DRY RUN] 2026-05-27T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-09 19:31:48,973 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-09 19:31:49,475 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-09 19:31:49,984 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-09 19:31:50,488 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-09 19:31:50,994 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-09 19:31:51,500 [INFO] [DRY RUN] 2026-06-10T10:30:00
2026-04-09 19:31:52,011 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-09 19:31:52,519 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-09 19:31:53,021 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-09 19:31:53,522 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-09 19:31:54,025 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-09 19:31:54,534 [INFO] [DRY RUN] 2026-06-24T10:30:00
2026-04-09 19:31:55,045 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-09 19:31:55,555 [INFO] --- Vince Landi ---
2026-04-09 19:31:56,021 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-09 19:31:56,021 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-09 19:31:56,025 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-09 19:31:56,026 [INFO] [DRY RUN] 2026-05-15T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-09 19:31:56,534 [INFO] [DRY RUN] 2026-05-27T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-09 19:31:57,037 [INFO] [DRY RUN] 2026-06-03T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-09 19:31:57,545 [INFO] [DRY RUN] 2026-06-10T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-09 19:31:58,047 [INFO] [DRY RUN] 2026-06-17T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-09 19:31:58,555 [INFO] [DRY RUN] 2026-06-24T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-09 19:31:59,070 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-09 19:31:59,574 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-09 19:32:00,085 [INFO] --- Lisa Frank ---
2026-04-09 19:32:00,551 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-09 19:32:00,554 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-09 19:32:00,554 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-09 19:32:01,064 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-09 19:32:01,567 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-09 19:32:02,076 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-09 19:32:02,585 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-09 19:32:03,095 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-09 19:32:03,602 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-09 19:32:04,113 [INFO] [DRY RUN] 2026-05-13T11:30:00
2026-04-09 19:32:04,622 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-09 19:32:05,131 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-09 19:32:05,640 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-09 19:32:06,145 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-09 19:32:06,655 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-09 19:32:07,156 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-09 19:32:07,666 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-09 19:32:08,168 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-09 19:32:08,672 [INFO] --- Ruthann Swinsky ---
2026-04-09 19:32:09,106 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-09 19:32:09,106 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-09 19:32:09,109 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-09 19:32:09,109 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-09 19:32:09,616 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-09 19:32:10,125 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-09 19:32:10,631 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 19:32:11,141 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 19:32:11,651 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-09 19:32:12,157 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 19:32:12,659 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-09 19:32:13,169 [INFO] --- George Simmons ---
2026-04-09 19:32:13,660 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 19:32:13,662 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-09 19:32:13,662 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-09 19:32:14,164 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-09 19:32:14,672 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-09 19:32:15,183 [INFO] [DRY RUN] 2026-05-27T11:30:00
2026-04-09 19:32:15,690 [INFO] --- Rajiv Sardana ---
2026-04-09 19:32:16,279 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-09 19:32:16,279 [INFO] --- Aiden Sheridan ---
2026-04-09 19:32:16,628 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 19:32:16,629 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-09 19:32:16,629 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-09 19:32:17,130 [INFO] [DRY RUN] 2026-05-15T12:30:00
2026-04-09 19:32:17,632 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-09 19:32:18,142 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-09 19:32:18,645 [INFO] --- Scott Karlin ---
2026-04-09 19:32:19,037 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-09 19:32:19,038 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-09 19:32:19,038 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-09 19:32:19,545 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-09 19:32:20,053 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-09 19:32:20,555 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-09 19:32:21,065 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-09 19:32:21,574 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-09 19:32:22,084 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-09 19:32:22,589 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-09 19:32:23,099 [INFO] --- Shy A ---
2026-04-09 19:32:23,619 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-09 19:32:23,791 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-09 19:32:23,792 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-09 19:32:23,792 [INFO] [DRY RUN] 2026-05-25T11:30:00
2026-04-09 19:32:24,295 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-09 19:32:24,803 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-09 19:32:25,312 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-09 19:32:25,823 [INFO] --- Linda Hayes ---
2026-04-09 19:32:26,246 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 19:32:26,247 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-09 19:32:26,247 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-09 19:32:26,755 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-09 19:32:27,259 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-09 19:32:27,769 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-09 19:32:28,271 [INFO] --- Rosemary Rollor ---
2026-04-09 19:32:28,617 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-09 19:32:28,618 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-09 19:32:28,618 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-09 19:32:29,128 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-09 19:32:29,638 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-09 19:32:30,145 [INFO] [DRY RUN] 2026-05-27T13:00:00
2026-04-09 19:32:30,649 [INFO] 📅 Extension Check [DRY RUN] — April 09, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/13–6/24) | 2/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/18–6/26) | 3/16 next to PT
• Vince Landi — 8 sessions (5/15–7/1) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-09 19:32:31,610 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-09 20:29:07,169 [INFO] ============================================================
2026-04-09 20:29:07,170 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-09 20:29:07,170 [INFO] ============================================================
2026-04-09 20:29:07,171 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:07,747 [INFO] APL: loaded 37 patients from 47 rows
2026-04-09 20:29:07,759 [INFO] Patients needing extension: 15 of 37 total
2026-04-09 20:29:07,759 [INFO] Loading PT schedules from Google Drive...
2026-04-09 20:29:07,762 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:08,036 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:08,848 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-09 20:29:08,849 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:09,728 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-09 20:29:09,728 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:10,789 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-09 20:29:10,790 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:11,658 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-09 20:29:11,659 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:12,562 [INFO] Vince Landi: 15 PT days loaded
2026-04-09 20:29:12,563 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:12,751 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:13,548 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-09 20:29:13,548 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-09 20:29:13,548 [INFO] Fetching free slots 2026-04-09 → 2026-09-24 (24-week window)
2026-04-09 20:29:17,550 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 20:29:22,740 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 20:29:31,340 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 20:29:36,478 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 20:29:41,814 [INFO] Adult: 499 slots on 72 days | Myo: 499 slots on 72 days
2026-04-09 20:29:41,815 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-09 20:29:41,815 [INFO] --- Dove Johnson ---
2026-04-09 20:29:42,266 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 20:29:42,268 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-09 20:29:43,576 [INFO] Booked 2026-04-29T11:00:00 → appt OGjBeEi1mJmT7GfUAqdS
2026-04-09 20:29:43,576 [INFO] ✓ Booked 2026-04-29T11:00:00
2026-04-09 20:29:45,419 [INFO] Booked 2026-05-06T10:00:00 → appt mWANzcIeACXGLGWDo9a6
2026-04-09 20:29:45,419 [INFO] ✓ Booked 2026-05-06T10:00:00
2026-04-09 20:29:46,967 [INFO] Booked 2026-05-13T10:00:00 → appt XAp2ChCMwqKzZhidp5tz
2026-04-09 20:29:46,967 [INFO] ✓ Booked 2026-05-13T10:00:00
2026-04-09 20:29:48,617 [INFO] Booked 2026-05-20T10:00:00 → appt 4ZJAmSVoyFmPWmj5xU4s
2026-04-09 20:29:48,618 [INFO] ✓ Booked 2026-05-20T10:00:00
2026-04-09 20:29:49,631 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:50,022 [INFO] APL row 5: Last Appt → 5/20/2026
2026-04-09 20:29:50,022 [INFO] --- Bruce Weinstein ---
2026-04-09 20:29:50,411 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-09 20:29:50,412 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-09 20:29:50,414 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-09 20:29:51,137 [INFO] Booked 2026-04-30T10:00:00 → appt NlMhDhMH7WH635zZpTgC
2026-04-09 20:29:51,138 [INFO] ✓ Booked 2026-04-30T10:00:00
2026-04-09 20:29:52,707 [INFO] Booked 2026-05-06T13:00:00 → appt QchGrUGQlkNSqAoflWCr
2026-04-09 20:29:52,708 [INFO] ✓ Booked 2026-05-06T13:00:00
2026-04-09 20:29:54,110 [ERROR] book_appointment(2026-05-13T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:29:54,119 [WARNING] ✗ Failed 2026-05-13T10:30:00
2026-04-09 20:29:55,638 [ERROR] book_appointment(2026-05-20T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:29:55,640 [WARNING] ✗ Failed 2026-05-20T10:30:00
2026-04-09 20:29:56,657 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:29:57,089 [INFO] APL row 7: Last Appt → 5/20/2026
2026-04-09 20:29:57,090 [INFO] --- Thomas Affleck ---
2026-04-09 20:29:57,504 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-09 20:29:57,504 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-09 20:29:57,507 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 2 PT-adjacent)
2026-04-09 20:29:57,927 [ERROR] book_appointment(2026-05-13T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:29:57,930 [WARNING] ✗ Failed 2026-05-13T11:00:00
2026-04-09 20:30:00,016 [INFO] Booked 2026-05-27T10:00:00 → appt zjdTwaE5xs9n7loP57Va
2026-04-09 20:30:00,017 [INFO] ✓ Booked 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-09 20:30:01,569 [INFO] Booked 2026-06-10T10:00:00 → appt Q9VhvxKGpjenEvFW3XXh
2026-04-09 20:30:01,569 [INFO] ✓ Booked 2026-06-10T10:00:00
2026-04-09 20:30:03,142 [INFO] Booked 2026-06-24T10:00:00 → appt 2lE3HOgyKSvWMU4Adm47
2026-04-09 20:30:03,142 [INFO] ✓ Booked 2026-06-24T10:00:00
2026-04-09 20:30:04,150 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:30:04,545 [INFO] APL row 9: Last Appt → 6/24/2026
2026-04-09 20:30:04,546 [INFO] --- Carolyn Schiffman ---
2026-04-09 20:30:04,886 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-09 20:30:04,886 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-09 20:30:04,889 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-09 20:30:05,247 [ERROR] book_appointment(2026-05-06T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:05,249 [WARNING] ✗ Failed 2026-05-06T14:00:00
2026-04-09 20:30:06,889 [INFO] Booked 2026-05-14T13:30:00 → appt yukEh5CBQ2JxT82uCunY
2026-04-09 20:30:06,890 [INFO] ✓ Booked 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-09 20:30:08,601 [INFO] Booked 2026-05-25T13:00:00 → appt oewkvpNccFSc9rjvNCYJ
2026-04-09 20:30:08,602 [INFO] ✓ Booked 2026-05-25T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-09 20:30:10,200 [INFO] Booked 2026-06-01T10:00:00 → appt XNN88tTKoW4fiFLltYhL
2026-04-09 20:30:10,200 [INFO] ✓ Booked 2026-06-01T10:00:00
2026-04-09 20:30:11,214 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:30:11,534 [INFO] APL row 11: Last Appt → 6/1/2026
2026-04-09 20:30:11,534 [INFO] --- Robert Brinkman ---
2026-04-09 20:30:12,553 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-09 20:30:12,554 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-09 20:30:12,556 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 3 PT-adjacent)
2026-04-09 20:30:14,588 [INFO] Booked 2026-05-18T12:30:00 → appt zfgW2I0XY83GPzwHhpX1
2026-04-09 20:30:14,588 [INFO] ✓ Booked 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-09 20:30:16,079 [ERROR] book_appointment(2026-05-25T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:16,081 [WARNING] ✗ Failed 2026-05-25T12:00:00
2026-04-09 20:30:19,229 [INFO] Booked 2026-05-27T12:00:00 → appt Okuu8c8kySNhBG6Z3QH1
2026-04-09 20:30:19,229 [INFO] ✓ Booked 2026-05-27T12:00:00 ← PT at 12:00 (0 min gap)
2026-04-09 20:30:20,902 [INFO] Booked 2026-05-29T12:30:00 → appt Lk3n63NsmVJzqv7XItsu
2026-04-09 20:30:20,902 [INFO] ✓ Booked 2026-05-29T12:30:00
2026-04-09 20:30:22,387 [ERROR] book_appointment(2026-06-01T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:22,389 [WARNING] ✗ Failed 2026-06-01T10:30:00
2026-04-09 20:30:23,962 [INFO] Booked 2026-06-03T10:00:00 → appt gFGFoSmjk4EPPl54cE78
2026-04-09 20:30:23,963 [INFO] ✓ Booked 2026-06-03T10:00:00
2026-04-09 20:30:25,563 [INFO] Booked 2026-06-05T12:00:00 → appt wkEl9XaLod6jfjJEwKNx
2026-04-09 20:30:25,563 [INFO] ✓ Booked 2026-06-05T12:00:00
2026-04-09 20:30:27,371 [INFO] Booked 2026-06-08T10:00:00 → appt qVkxpJC3r0OsqbHtzewc
2026-04-09 20:30:27,371 [INFO] ✓ Booked 2026-06-08T10:00:00
2026-04-09 20:30:29,727 [ERROR] book_appointment(2026-06-10T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:29,729 [WARNING] ✗ Failed 2026-06-10T10:30:00
2026-04-09 20:30:31,310 [INFO] Booked 2026-06-12T12:00:00 → appt y7TVjn8FqC1pFYphCsRC
2026-04-09 20:30:31,311 [INFO] ✓ Booked 2026-06-12T12:00:00
2026-04-09 20:30:34,063 [INFO] Booked 2026-06-15T10:00:00 → appt fF84DAolfbSNQwVXimB9
2026-04-09 20:30:34,063 [INFO] ✓ Booked 2026-06-15T10:00:00
2026-04-09 20:30:35,883 [INFO] Booked 2026-06-17T10:00:00 → appt X8uuKUb0EVUDbjYVe5XC
2026-04-09 20:30:35,884 [INFO] ✓ Booked 2026-06-17T10:00:00
2026-04-09 20:30:38,110 [INFO] Booked 2026-06-19T12:00:00 → appt dQUm0Fu7GnIaMbI5QpTi
2026-04-09 20:30:38,111 [INFO] ✓ Booked 2026-06-19T12:00:00
2026-04-09 20:30:39,748 [INFO] Booked 2026-06-22T14:00:00 → appt RW124uzlSbFxWpv02cUj
2026-04-09 20:30:39,748 [INFO] ✓ Booked 2026-06-22T14:00:00
2026-04-09 20:30:41,132 [ERROR] book_appointment(2026-06-24T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:41,135 [WARNING] ✗ Failed 2026-06-24T10:30:00
2026-04-09 20:30:42,697 [INFO] Booked 2026-06-26T12:00:00 → appt 9dGne8eiu8qbyTANUycz
2026-04-09 20:30:42,697 [INFO] ✓ Booked 2026-06-26T12:00:00
2026-04-09 20:30:43,710 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:30:44,037 [INFO] APL row 15: Last Appt → 6/26/2026
2026-04-09 20:30:44,038 [INFO] --- Vince Landi ---
2026-04-09 20:30:44,525 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-09 20:30:44,527 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-09 20:30:44,531 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-09 20:30:45,074 [INFO] Booked 2026-05-15T13:00:00 → appt x8JoV8DMLW7lKCiiNAYE
2026-04-09 20:30:45,074 [INFO] ✓ Booked 2026-05-15T13:00:00 ← PT at 13:00 (0 min gap)
2026-04-09 20:30:47,052 [ERROR] book_appointment(2026-05-27T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:47,055 [WARNING] ✗ Failed 2026-05-27T10:30:00
2026-04-09 20:30:48,453 [ERROR] book_appointment(2026-06-03T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:48,456 [WARNING] ✗ Failed 2026-06-03T10:30:00
2026-04-09 20:30:49,989 [ERROR] book_appointment(2026-06-10T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:49,991 [WARNING] ✗ Failed 2026-06-10T11:00:00
2026-04-09 20:30:51,549 [ERROR] book_appointment(2026-06-17T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:51,552 [WARNING] ✗ Failed 2026-06-17T10:30:00
2026-04-09 20:30:52,981 [ERROR] book_appointment(2026-06-24T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:30:52,983 [WARNING] ✗ Failed 2026-06-24T11:00:00
2026-04-09 20:30:54,621 [INFO] Booked 2026-06-29T10:00:00 → appt NP9GhEwgpXGHCUxYLCAa
2026-04-09 20:30:54,622 [INFO] ✓ Booked 2026-06-29T10:00:00
2026-04-09 20:30:56,462 [INFO] Booked 2026-07-01T10:00:00 → appt 12EDYRQ6uDCj8jTXDvMH
2026-04-09 20:30:56,462 [INFO] ✓ Booked 2026-07-01T10:00:00
2026-04-09 20:30:57,483 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:30:57,814 [INFO] APL row 16: Last Appt → 7/1/2026
2026-04-09 20:30:57,814 [INFO] --- Lisa Frank ---
2026-04-09 20:30:58,320 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-09 20:30:58,323 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-09 20:30:59,107 [INFO] Booked 2026-04-13T10:00:00 → appt L5nRl1oT6D7LTNlVAl1j
2026-04-09 20:30:59,108 [INFO] ✓ Booked 2026-04-13T10:00:00
2026-04-09 20:31:00,687 [INFO] Booked 2026-04-20T10:00:00 → appt H0SguBe2C6n031grqpN1
2026-04-09 20:31:00,688 [INFO] ✓ Booked 2026-04-20T10:00:00
2026-04-09 20:31:02,320 [INFO] Booked 2026-05-01T14:00:00 → appt UfodabURO9skxGYVHDVe
2026-04-09 20:31:02,321 [INFO] ✓ Booked 2026-05-01T14:00:00
2026-04-09 20:31:03,962 [INFO] Booked 2026-05-04T10:00:00 → appt znkRgIVx9eynzBygKSK6
2026-04-09 20:31:03,962 [INFO] ✓ Booked 2026-05-04T10:00:00
2026-04-09 20:31:05,371 [ERROR] book_appointment(2026-05-06T13:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:05,373 [WARNING] ✗ Failed 2026-05-06T13:30:00
2026-04-09 20:31:06,956 [INFO] Booked 2026-05-08T12:00:00 → appt 6nwQzkPuBtxvSsqkjEUu
2026-04-09 20:31:06,956 [INFO] ✓ Booked 2026-05-08T12:00:00
2026-04-09 20:31:08,573 [INFO] Booked 2026-05-11T10:00:00 → appt ftJOiF6lpv7RNKfKppYD
2026-04-09 20:31:08,573 [INFO] ✓ Booked 2026-05-11T10:00:00
2026-04-09 20:31:10,391 [INFO] Booked 2026-05-13T11:30:00 → appt 396bYWiHObBc09dSPqOb
2026-04-09 20:31:10,392 [INFO] ✓ Booked 2026-05-13T11:30:00
2026-04-09 20:31:12,290 [ERROR] book_appointment(2026-05-15T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:12,292 [WARNING] ✗ Failed 2026-05-15T12:00:00
2026-04-09 20:31:13,883 [INFO] Booked 2026-05-18T10:00:00 → appt C7wIXKIVS31GbFAuuXcA
2026-04-09 20:31:13,883 [INFO] ✓ Booked 2026-05-18T10:00:00
2026-04-09 20:31:15,341 [ERROR] book_appointment(2026-05-20T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:15,343 [WARNING] ✗ Failed 2026-05-20T11:00:00
2026-04-09 20:31:16,937 [INFO] Booked 2026-05-22T12:00:00 → appt DrgsjBPaoqQQ4194PfgE
2026-04-09 20:31:16,938 [INFO] ✓ Booked 2026-05-22T12:00:00
2026-04-09 20:31:18,491 [INFO] Booked 2026-05-25T10:00:00 → appt 6c1Mp9ccnriFPcI3Eepl
2026-04-09 20:31:18,491 [INFO] ✓ Booked 2026-05-25T10:00:00
2026-04-09 20:31:20,119 [ERROR] book_appointment(2026-05-27T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:20,120 [WARNING] ✗ Failed 2026-05-27T11:00:00
2026-04-09 20:31:22,999 [ERROR] book_appointment(2026-05-29T13:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:23,002 [WARNING] ✗ Failed 2026-05-29T13:00:00
2026-04-09 20:31:24,479 [ERROR] book_appointment(2026-06-01T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:24,481 [WARNING] ✗ Failed 2026-06-01T11:00:00
2026-04-09 20:31:25,502 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:31:25,833 [INFO] APL row 17: Last Appt → 6/1/2026
2026-04-09 20:31:25,834 [INFO] --- Ruthann Swinsky ---
2026-04-09 20:31:26,212 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-09 20:31:26,212 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-09 20:31:26,215 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-09 20:31:26,779 [ERROR] book_appointment(2026-05-08T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:26,782 [WARNING] ✗ Failed 2026-05-08T12:30:00
2026-04-09 20:31:28,673 [ERROR] book_appointment(2026-05-11T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:28,676 [WARNING] ✗ Failed 2026-05-11T10:30:00
2026-04-09 20:31:30,102 [ERROR] book_appointment(2026-05-25T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:30,105 [WARNING] ✗ Failed 2026-05-25T10:30:00
2026-04-09 20:31:32,022 [INFO] Booked 2026-05-28T10:00:00 → appt ijUZOmqkVYLCjKvf3Tly
2026-04-09 20:31:32,023 [INFO] ✓ Booked 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 20:31:34,495 [INFO] Booked 2026-06-04T10:00:00 → appt SPrGeOAuwZqnHG8037iH
2026-04-09 20:31:34,499 [INFO] ✓ Booked 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 20:31:35,889 [ERROR] book_appointment(2026-06-08T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:35,891 [WARNING] ✗ Failed 2026-06-08T10:30:00
2026-04-09 20:31:37,402 [INFO] Booked 2026-06-11T10:00:00 → appt kH3SSII0feFyQmVPow9q
2026-04-09 20:31:37,403 [INFO] ✓ Booked 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-09 20:31:38,817 [ERROR] book_appointment(2026-06-15T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:38,819 [WARNING] ✗ Failed 2026-06-15T10:30:00
2026-04-09 20:31:39,828 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:31:40,197 [INFO] APL row 18: Last Appt → 6/15/2026
2026-04-09 20:31:40,198 [INFO] --- George Simmons ---
2026-04-09 20:31:40,682 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 20:31:40,684 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-09 20:31:42,450 [ERROR] book_appointment(2026-05-04T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:42,452 [WARNING] ✗ Failed 2026-05-04T10:30:00
2026-04-09 20:31:43,769 [ERROR] book_appointment(2026-05-11T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:43,771 [WARNING] ✗ Failed 2026-05-11T11:00:00
2026-04-09 20:31:45,271 [INFO] Booked 2026-05-20T11:30:00 → appt L6iQBAeE4bEQwNolQdtt
2026-04-09 20:31:45,271 [INFO] ✓ Booked 2026-05-20T11:30:00
2026-04-09 20:31:46,622 [ERROR] book_appointment(2026-05-27T11:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:46,625 [WARNING] ✗ Failed 2026-05-27T11:30:00
2026-04-09 20:31:47,637 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:31:48,013 [INFO] APL row 10: Last Appt → 5/27/2026
2026-04-09 20:31:48,013 [INFO] --- Rajiv Sardana ---
2026-04-09 20:31:48,620 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-09 20:31:48,620 [INFO] --- Aiden Sheridan ---
2026-04-09 20:31:49,061 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 20:31:49,063 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-09 20:31:49,516 [ERROR] book_appointment(2026-05-08T13:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:49,519 [WARNING] ✗ Failed 2026-05-08T13:00:00
2026-04-09 20:31:51,861 [ERROR] book_appointment(2026-05-15T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:51,863 [WARNING] ✗ Failed 2026-05-15T12:30:00
2026-04-09 20:31:53,224 [ERROR] book_appointment(2026-05-22T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:53,227 [WARNING] ✗ Failed 2026-05-22T12:30:00
2026-04-09 20:31:54,664 [ERROR] book_appointment(2026-05-29T13:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:54,665 [WARNING] ✗ Failed 2026-05-29T13:30:00
2026-04-09 20:31:55,671 [INFO] --- Scott Karlin ---
2026-04-09 20:31:56,063 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-09 20:31:56,065 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-09 20:31:57,200 [ERROR] book_appointment(2026-05-04T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:31:57,202 [WARNING] ✗ Failed 2026-05-04T11:00:00
2026-04-09 20:31:58,952 [INFO] Booked 2026-05-07T10:00:00 → appt HTk09yCCGsUmLPVgXNAx
2026-04-09 20:31:58,953 [INFO] ✓ Booked 2026-05-07T10:00:00
2026-04-09 20:32:00,775 [INFO] Booked 2026-05-11T13:00:00 → appt llLFkjb114aXc569dTvY
2026-04-09 20:32:00,775 [INFO] ✓ Booked 2026-05-11T13:00:00
2026-04-09 20:32:02,196 [ERROR] book_appointment(2026-05-13T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:02,200 [WARNING] ✗ Failed 2026-05-13T12:00:00
2026-04-09 20:32:03,586 [ERROR] book_appointment(2026-05-15T13:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:03,590 [WARNING] ✗ Failed 2026-05-15T13:30:00
2026-04-09 20:32:05,172 [ERROR] book_appointment(2026-05-20T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:05,174 [WARNING] ✗ Failed 2026-05-20T12:00:00
2026-04-09 20:32:06,610 [ERROR] book_appointment(2026-05-22T13:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:06,613 [WARNING] ✗ Failed 2026-05-22T13:00:00
2026-04-09 20:32:07,965 [ERROR] book_appointment(2026-05-25T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:07,969 [WARNING] ✗ Failed 2026-05-25T11:00:00
2026-04-09 20:32:08,979 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:32:09,355 [INFO] APL row 30: Last Appt → 5/25/2026
2026-04-09 20:32:09,356 [INFO] --- Shy A ---
2026-04-09 20:32:09,948 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-09 20:32:10,122 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-09 20:32:10,124 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-09 20:32:11,127 [INFO] Booked 2026-05-25T11:30:00 → appt IYzvMNi4FUf1kSdRatRn
2026-04-09 20:32:11,128 [INFO] ✓ Booked 2026-05-25T11:30:00
2026-04-09 20:32:13,270 [INFO] Booked 2026-06-01T11:30:00 → appt uBuuVTkCQKZN41zIL2mU
2026-04-09 20:32:13,271 [INFO] ✓ Booked 2026-06-01T11:30:00
2026-04-09 20:32:14,721 [ERROR] book_appointment(2026-06-08T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:14,723 [WARNING] ✗ Failed 2026-06-08T11:00:00
2026-04-09 20:32:16,241 [ERROR] book_appointment(2026-06-15T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:16,243 [WARNING] ✗ Failed 2026-06-15T11:00:00
2026-04-09 20:32:17,262 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:32:17,542 [INFO] APL row 32: Last Appt → 6/15/2026
2026-04-09 20:32:17,542 [INFO] --- Linda Hayes ---
2026-04-09 20:32:17,929 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 20:32:17,931 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-09 20:32:18,322 [ERROR] book_appointment(2026-05-07T10:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:18,324 [WARNING] ✗ Failed 2026-05-07T10:30:00
2026-04-09 20:32:20,363 [ERROR] book_appointment(2026-05-13T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:20,366 [WARNING] ✗ Failed 2026-05-13T12:30:00
2026-04-09 20:32:21,932 [ERROR] book_appointment(2026-05-20T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:21,933 [WARNING] ✗ Failed 2026-05-20T12:30:00
2026-04-09 20:32:23,406 [ERROR] book_appointment(2026-05-27T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:23,410 [WARNING] ✗ Failed 2026-05-27T12:30:00
2026-04-09 20:32:24,414 [INFO] --- Rosemary Rollor ---
2026-04-09 20:32:24,861 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-09 20:32:24,865 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-09 20:32:25,261 [ERROR] book_appointment(2026-05-07T11:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:25,263 [WARNING] ✗ Failed 2026-05-07T11:00:00
2026-04-09 20:32:26,856 [INFO] Booked 2026-05-13T13:00:00 → appt IPrzsO2hF7ktxjGAe66k
2026-04-09 20:32:26,856 [INFO] ✓ Booked 2026-05-13T13:00:00
2026-04-09 20:32:28,506 [INFO] Booked 2026-05-20T13:00:00 → appt rzxcxleL7P6xStsXOCMV
2026-04-09 20:32:28,506 [INFO] ✓ Booked 2026-05-20T13:00:00
2026-04-09 20:32:29,896 [ERROR] book_appointment(2026-05-27T13:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-09 20:32:29,897 [WARNING] ✗ Failed 2026-05-27T13:00:00
2026-04-09 20:32:30,906 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 20:32:31,258 [INFO] APL row 44: Last Appt → 5/27/2026
2026-04-09 20:32:31,261 [INFO] 📅 Extension Check — April 09, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 2/4 sessions (4/30–5/20) | no PT match ⚠️ 2 failed
• Thomas Affleck — 3/4 sessions (5/13–6/24) | 2/3 next to PT ⚠️ 1 failed
• Carolyn Schiffman — 3/4 sessions (5/6–6/1) | 3/3 next to PT ⚠️ 1 failed
• Robert Brinkman — 12/16 sessions (5/18–6/26) | 3/12 next to PT ⚠️ 4 failed
• Vince Landi — 3/8 sessions (5/15–7/1) | 6/3 next to PT ⚠️ 5 failed
• Ruthann Swinsky — 3/8 sessions (5/8–6/15) | 8/3 next to PT ⚠️ 5 failed
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 10/16 sessions (4/13–6/1) ⚠️ 6 failed
• George Simmons — 1/4 sessions (5/4–5/27) ⚠️ 3 failed
• Aiden Sheridan — 0/4 sessions (5/8–5/29) ⚠️ 4 failed
• Scott Karlin — 2/8 sessions (5/4–5/25) ⚠️ 6 failed
• Shy A — 2/4 sessions (5/25–6/15) ⚠️ 2 failed
• Linda Hayes — 0/4 sessions (5/7–5/27) ⚠️ 4 failed
• Rosemary Rollor — 2/4 sessions (5/7–5/27) ⚠️ 2 failed
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/26 sessions placed adjacent to PT across 6 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-09 20:32:32,301 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-09 23:46:51,138 [INFO] ============================================================
2026-04-09 23:46:51,138 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-09 23:46:51,138 [INFO] ============================================================
2026-04-09 23:46:51,140 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 23:46:51,732 [INFO] APL: loaded 37 patients from 47 rows
2026-04-09 23:46:51,741 [INFO] Patients needing extension: 3 of 37 total
2026-04-09 23:46:51,742 [INFO] Loading PT schedules from Google Drive...
2026-04-09 23:46:51,742 [INFO] PT schedules loaded: 0 of 3 patients
2026-04-09 23:46:51,742 [INFO] Fetching free slots 2026-04-09 → 2026-09-24 (24-week window)
2026-04-09 23:46:55,731 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:47:00,918 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:47:10,617 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:47:15,776 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:47:21,086 [INFO] Adult: 375 slots on 57 days | Myo: 375 slots on 57 days
2026-04-09 23:47:21,089 [INFO] Processing order: 0 Synapse patients first, then 3 others
2026-04-09 23:47:21,089 [INFO] --- Rajiv Sardana ---
2026-04-09 23:47:21,609 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-09 23:47:21,609 [INFO] --- Aiden Sheridan ---
2026-04-09 23:47:21,948 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 23:47:21,953 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-09 23:47:21,953 [INFO] [DRY RUN] 2026-05-08T13:30:00
2026-04-09 23:47:22,461 [INFO] [DRY RUN] 2026-05-22T13:30:00
2026-04-09 23:47:22,968 [INFO] [DRY RUN] 2026-05-29T14:00:00
2026-04-09 23:47:23,471 [INFO] [DRY RUN] 2026-06-05T13:30:00
2026-04-09 23:47:23,982 [INFO] --- Linda Hayes ---
2026-04-09 23:47:24,412 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 23:47:24,415 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-09 23:47:24,415 [INFO] [DRY RUN] 2026-05-08T14:00:00
2026-04-09 23:47:24,920 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-09 23:47:25,421 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-09 23:47:25,929 [INFO] [DRY RUN] 2026-05-27T13:30:00
2026-04-09 23:47:26,431 [INFO] 📅 Extension Check [DRY RUN] — April 09, 2026
2 scheduled, 1 skipped
Other patients:
• Aiden Sheridan — 4 sessions (5/8–6/5)
• Linda Hayes — 4 sessions (5/8–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-09 23:47:27,361 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-09 23:54:46,263 [INFO] ============================================================
2026-04-09 23:54:46,264 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-09 23:54:46,264 [INFO] ============================================================
2026-04-09 23:54:46,265 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-09 23:54:46,870 [INFO] APL: loaded 37 patients from 47 rows
2026-04-09 23:54:46,879 [INFO] Patients needing extension: 3 of 37 total
2026-04-09 23:54:46,880 [INFO] Loading PT schedules from Google Drive...
2026-04-09 23:54:46,880 [INFO] PT schedules loaded: 0 of 3 patients
2026-04-09 23:54:46,880 [INFO] Fetching free slots 2026-04-09 → 2026-09-24 (24-week window)
2026-04-09 23:54:50,373 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:54:55,512 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:55:04,002 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:55:09,169 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-09 23:55:14,458 [INFO] Adult: 375 slots on 57 days | Myo: 375 slots on 57 days
2026-04-09 23:55:14,459 [INFO] Processing order: 0 Synapse patients first, then 3 others
2026-04-09 23:55:14,459 [INFO] --- Rajiv Sardana ---
2026-04-09 23:55:15,121 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-09 23:55:15,122 [INFO] --- Aiden Sheridan ---
2026-04-09 23:55:15,540 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 23:55:15,543 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-09 23:55:15,543 [INFO] [DRY RUN] 2026-05-08T13:30:00
2026-04-09 23:55:16,053 [INFO] [DRY RUN] 2026-05-22T13:30:00
2026-04-09 23:55:16,556 [INFO] [DRY RUN] 2026-05-29T14:00:00
2026-04-09 23:55:17,057 [INFO] [DRY RUN] 2026-06-05T13:30:00
2026-04-09 23:55:17,559 [INFO] --- Linda Hayes ---
2026-04-09 23:55:18,081 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-09 23:55:18,083 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-09 23:55:18,083 [INFO] [DRY RUN] 2026-05-08T14:00:00
2026-04-09 23:55:18,592 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-09 23:55:19,097 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-09 23:55:19,605 [INFO] [DRY RUN] 2026-05-27T13:30:00
2026-04-09 23:55:20,115 [INFO] 📅 Extension Check [DRY RUN] — April 09, 2026
2 scheduled, 1 skipped
Other patients:
• Aiden Sheridan — 4 sessions (5/8–6/5)
• Linda Hayes — 4 sessions (5/8–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-09 23:55:21,109 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 00:21:12,148 [INFO] ============================================================
2026-04-10 00:21:12,149 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 00:21:12,149 [INFO] ============================================================
2026-04-10 00:21:12,150 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:12,461 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 00:21:12,468 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 00:21:12,469 [INFO] Loading PT schedules from Google Drive...
2026-04-10 00:21:12,470 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:12,647 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:13,492 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 00:21:13,493 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:14,323 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 00:21:14,324 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:15,100 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 00:21:15,102 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:16,014 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 00:21:16,014 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:16,878 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 00:21:16,879 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:17,097 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:21:17,923 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 00:21:17,923 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 00:21:17,923 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 00:21:21,376 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:21:26,594 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:21:35,290 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:21:40,520 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:21:45,770 [INFO] Adult: 380 slots on 58 days | Myo: 380 slots on 58 days
2026-04-10 00:21:45,771 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 00:21:45,772 [INFO] --- Dove Johnson ---
2026-04-10 00:21:46,179 [INFO] Dove Johnson: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:21:46,179 [INFO] --- Bruce Weinstein ---
2026-04-10 00:21:46,674 [INFO] Bruce Weinstein: has 2 existing appts, booking 2 more
2026-04-10 00:21:46,678 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 00:21:46,678 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 00:21:46,680 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 2 slots (no PT coordination)
2026-04-10 00:21:46,681 [INFO] [DRY RUN] 2026-05-08T13:30:00
2026-04-10 00:21:47,182 [INFO] [DRY RUN] 2026-05-14T10:00:00
2026-04-10 00:21:47,693 [INFO] --- Thomas Affleck ---
2026-04-10 00:21:48,033 [INFO] Thomas Affleck: has 3 existing appts, booking 1 more
2026-04-10 00:21:48,035 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 00:21:48,035 [INFO] Extension: EOW → 1 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 00:21:48,038 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 1 slots (incl. 1 PT-adjacent)
2026-04-10 00:21:48,039 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 00:21:48,541 [INFO] --- Carolyn Schiffman ---
2026-04-10 00:21:48,920 [INFO] Carolyn Schiffman: has 3 existing appts, booking 1 more
2026-04-10 00:21:48,921 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 00:21:48,921 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 00:21:48,927 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 1 slots (no PT coordination)
2026-04-10 00:21:48,927 [INFO] [DRY RUN] 2026-05-08T14:00:00
2026-04-10 00:21:49,429 [INFO] --- Robert Brinkman ---
2026-04-10 00:21:49,830 [INFO] Robert Brinkman: has 12 existing appts, booking 4 more
2026-04-10 00:21:49,830 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 00:21:49,831 [INFO] Extension: → 4 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 00:21:49,832 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 00:21:49,832 [INFO] [DRY RUN] 2026-05-27T13:30:00 ← PT at 12:00 (90 min gap)
2026-04-10 00:21:50,339 [INFO] [DRY RUN] 2026-05-29T14:00:00
2026-04-10 00:21:50,846 [INFO] [DRY RUN] 2026-06-01T13:00:00
2026-04-10 00:21:51,348 [INFO] [DRY RUN] 2026-06-03T11:30:00
2026-04-10 00:21:51,858 [INFO] --- Vince Landi ---
2026-04-10 00:21:52,314 [INFO] Vince Landi: has 3 existing appts, booking 5 more
2026-04-10 00:21:52,314 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 00:21:52,314 [INFO] Extension: 2x4 → 5 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 00:21:52,316 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 5 slots (incl. 3 PT-adjacent)
2026-04-10 00:21:52,316 [INFO] [DRY RUN] 2026-06-10T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:21:52,821 [INFO] [DRY RUN] 2026-06-17T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:21:53,326 [INFO] [DRY RUN] 2026-06-24T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:21:53,837 [INFO] [DRY RUN] 2026-06-26T13:30:00
2026-04-10 00:21:54,343 [INFO] [DRY RUN] 2026-06-29T11:30:00
2026-04-10 00:21:54,849 [INFO] --- Lisa Frank ---
2026-04-10 00:21:55,391 [INFO] Lisa Frank: has 10 existing appts, booking 6 more
2026-04-10 00:21:55,392 [INFO] Extension: → 6 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:21:55,393 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 6 slots (no PT coordination)
2026-04-10 00:21:55,393 [INFO] [DRY RUN] 2026-05-21T10:00:00
2026-04-10 00:21:55,902 [INFO] [DRY RUN] 2026-05-27T14:00:00
2026-04-10 00:21:56,412 [INFO] [DRY RUN] 2026-06-01T13:30:00
2026-04-10 00:21:56,921 [INFO] [DRY RUN] 2026-06-03T12:00:00
2026-04-10 00:21:57,425 [INFO] [DRY RUN] 2026-06-05T13:30:00
2026-04-10 00:21:57,929 [INFO] [DRY RUN] 2026-06-08T11:30:00
2026-04-10 00:21:58,434 [INFO] --- Ruthann Swinsky ---
2026-04-10 00:21:58,778 [INFO] Ruthann Swinsky: has 3 existing appts, booking 5 more
2026-04-10 00:21:58,779 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 00:21:58,779 [INFO] Extension: 2x4 → 5 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 00:21:58,781 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 5 slots (incl. 2 PT-adjacent)
2026-04-10 00:21:58,781 [INFO] [DRY RUN] 2026-06-18T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 00:21:59,281 [INFO] [DRY RUN] 2026-06-25T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 00:21:59,783 [INFO] [DRY RUN] 2026-07-01T11:30:00
2026-04-10 00:22:00,289 [INFO] [DRY RUN] 2026-07-03T11:00:00
2026-04-10 00:22:00,802 [INFO] [DRY RUN] 2026-07-06T11:00:00
2026-04-10 00:22:01,312 [INFO] --- George Simmons ---
2026-04-10 00:22:01,709 [INFO] George Simmons: has 1 existing appts, booking 3 more
2026-04-10 00:22:01,709 [INFO] Extension: 1x4 → 3 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:22:01,711 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 3 slots (no PT coordination)
2026-04-10 00:22:01,711 [INFO] [DRY RUN] 2026-05-22T13:30:00
2026-04-10 00:22:02,222 [INFO] [DRY RUN] 2026-06-01T14:00:00
2026-04-10 00:22:02,725 [INFO] [DRY RUN] 2026-06-08T12:00:00
2026-04-10 00:22:03,231 [INFO] --- Rajiv Sardana ---
2026-04-10 00:22:03,975 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 00:22:03,975 [INFO] --- Aiden Sheridan ---
2026-04-10 00:22:04,330 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:22:04,333 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 00:22:04,334 [INFO] [DRY RUN] 2026-05-22T14:00:00
2026-04-10 00:22:04,837 [INFO] [DRY RUN] 2026-06-05T14:00:00
2026-04-10 00:22:05,346 [INFO] [DRY RUN] 2026-06-12T13:30:00
2026-04-10 00:22:05,852 [INFO] [DRY RUN] 2026-06-19T13:30:00
2026-04-10 00:22:06,362 [INFO] --- Scott Karlin ---
2026-04-10 00:22:06,752 [INFO] Scott Karlin: has 2 existing appts, booking 6 more
2026-04-10 00:22:06,752 [INFO] Extension: 2x4 → 6 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:22:06,754 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 6 slots (no PT coordination)
2026-04-10 00:22:06,755 [INFO] [DRY RUN] 2026-05-21T12:30:00
2026-04-10 00:22:07,258 [INFO] [DRY RUN] 2026-05-28T11:30:00
2026-04-10 00:22:07,764 [INFO] [DRY RUN] 2026-06-03T12:30:00
2026-04-10 00:22:08,273 [INFO] [DRY RUN] 2026-06-08T12:30:00
2026-04-10 00:22:08,781 [INFO] [DRY RUN] 2026-06-10T12:00:00
2026-04-10 00:22:09,290 [INFO] [DRY RUN] 2026-06-12T14:00:00
2026-04-10 00:22:09,798 [INFO] --- Shy A ---
2026-04-10 00:22:10,642 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 00:22:10,808 [INFO] Shy A: has 2 existing appts, booking 2 more
2026-04-10 00:22:10,809 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:22:10,811 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 2 slots (no PT coordination)
2026-04-10 00:22:10,813 [INFO] [DRY RUN] 2026-06-08T13:00:00
2026-04-10 00:22:11,322 [INFO] [DRY RUN] 2026-06-15T11:30:00
2026-04-10 00:22:11,835 [INFO] --- Linda Hayes ---
2026-04-10 00:22:12,410 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:22:12,412 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 00:22:12,412 [INFO] [DRY RUN] 2026-05-21T13:00:00
2026-04-10 00:22:12,922 [INFO] [DRY RUN] 2026-05-28T12:00:00
2026-04-10 00:22:13,432 [INFO] [DRY RUN] 2026-06-03T13:00:00
2026-04-10 00:22:13,935 [INFO] [DRY RUN] 2026-06-10T12:30:00
2026-04-10 00:22:14,445 [INFO] --- Rosemary Rollor ---
2026-04-10 00:22:14,823 [INFO] Rosemary Rollor: has 2 existing appts, booking 2 more
2026-04-10 00:22:14,824 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:22:14,826 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 2 slots (no PT coordination)
2026-04-10 00:22:14,826 [INFO] [DRY RUN] 2026-05-28T12:30:00
2026-04-10 00:22:15,332 [INFO] [DRY RUN] 2026-06-03T13:30:00
2026-04-10 00:22:15,842 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
13 scheduled, 2 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 2 sessions (5/8–5/14) | no PT match
• Thomas Affleck — 1 sessions (5/21–5/21) | 1/1 next to PT
• Carolyn Schiffman — 1 sessions (5/8–5/8) | no PT match
• Robert Brinkman — 4 sessions (5/27–6/3) | 1/4 next to PT
• Vince Landi — 5 sessions (6/10–6/29) | 3/5 next to PT
• Ruthann Swinsky — 5 sessions (6/18–7/6) | 2/5 next to PT
Other patients:
• Lisa Frank — 6 sessions (5/21–6/8)
• George Simmons — 3 sessions (5/22–6/8)
• Aiden Sheridan — 4 sessions (5/22–6/19)
• Scott Karlin — 6 sessions (5/21–6/12)
• Shy A — 2 sessions (6/8–6/15)
• Linda Hayes — 4 sessions (5/21–6/10)
• Rosemary Rollor — 2 sessions (5/28–6/3)
Skipped (2):
• Dove Johnson — already has 4 upcoming appointments
• Rajiv Sardana — not found in GHL
PT coordination: 7/18 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 00:22:16,705 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 00:25:28,764 [INFO] ============================================================
2026-04-10 00:25:28,764 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-10 00:25:28,764 [INFO] ============================================================
2026-04-10 00:25:28,766 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:29,125 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 00:25:29,133 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 00:25:29,133 [INFO] Loading PT schedules from Google Drive...
2026-04-10 00:25:29,141 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:29,357 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:30,286 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 00:25:30,287 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:31,119 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 00:25:31,120 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:32,048 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 00:25:32,048 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:32,789 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 00:25:32,790 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:33,573 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 00:25:33,574 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:33,831 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:25:35,039 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 00:25:35,040 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 00:25:35,040 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 00:25:38,662 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:25:43,888 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:25:52,386 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:25:57,532 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:26:02,946 [INFO] Adult: 380 slots on 58 days | Myo: 380 slots on 58 days
2026-04-10 00:26:02,948 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 00:26:02,948 [INFO] --- Dove Johnson ---
2026-04-10 00:26:03,364 [INFO] Dove Johnson: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:26:03,364 [INFO] --- Bruce Weinstein ---
2026-04-10 00:26:03,734 [INFO] Bruce Weinstein: has 2 existing appts, booking 2 more
2026-04-10 00:26:03,743 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 00:26:03,743 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 00:26:03,745 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 2 slots (no PT coordination)
2026-04-10 00:26:04,290 [INFO] Booked 2026-05-08T13:30:00 → appt lJFSKdxr1B7lKHP5Yzdg
2026-04-10 00:26:04,290 [INFO] ✓ Booked 2026-05-08T13:30:00
2026-04-10 00:26:06,337 [INFO] Booked 2026-05-14T10:00:00 → appt l2GLYBXxwHtffUPmBwtr
2026-04-10 00:26:06,337 [INFO] ✓ Booked 2026-05-14T10:00:00
2026-04-10 00:26:07,338 [INFO] --- Thomas Affleck ---
2026-04-10 00:26:07,723 [INFO] Thomas Affleck: has 3 existing appts, booking 1 more
2026-04-10 00:26:07,724 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 00:26:07,724 [INFO] Extension: EOW → 1 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 00:26:07,725 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 1 slots (incl. 1 PT-adjacent)
2026-04-10 00:26:08,440 [INFO] Booked 2026-05-21T13:30:00 → appt WMilbzneSk6AMGPTqrQ9
2026-04-10 00:26:08,440 [INFO] ✓ Booked 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 00:26:09,451 [INFO] --- Carolyn Schiffman ---
2026-04-10 00:26:09,798 [INFO] Carolyn Schiffman: has 3 existing appts, booking 1 more
2026-04-10 00:26:09,800 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 00:26:09,800 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 00:26:09,803 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 1 slots (no PT coordination)
2026-04-10 00:26:10,419 [INFO] Booked 2026-05-21T10:00:00 → appt J0NDjQk7OaucTzjtBiSZ
2026-04-10 00:26:10,421 [INFO] ✓ Booked 2026-05-21T10:00:00
2026-04-10 00:26:11,431 [INFO] --- Robert Brinkman ---
2026-04-10 00:26:11,871 [INFO] Robert Brinkman: has 12 existing appts, booking 4 more
2026-04-10 00:26:11,871 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 00:26:11,872 [INFO] Extension: → 4 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 00:26:11,872 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 00:26:12,492 [INFO] Booked 2026-05-27T13:30:00 → appt gEtN2Hg3PBayaV4QM79W
2026-04-10 00:26:12,492 [INFO] ✓ Booked 2026-05-27T13:30:00 ← PT at 12:00 (90 min gap)
2026-04-10 00:26:14,989 [INFO] Booked 2026-05-29T14:00:00 → appt czlFRGmYMU3USgLJMgGX
2026-04-10 00:26:14,990 [INFO] ✓ Booked 2026-05-29T14:00:00
2026-04-10 00:26:16,672 [INFO] Booked 2026-06-01T13:00:00 → appt YjJ8m84cP0iea46EhZPH
2026-04-10 00:26:16,672 [INFO] ✓ Booked 2026-06-01T13:00:00
2026-04-10 00:26:18,248 [INFO] Booked 2026-06-03T11:30:00 → appt jIIDOPXhTbe1UJRAp6fi
2026-04-10 00:26:18,249 [INFO] ✓ Booked 2026-06-03T11:30:00
2026-04-10 00:26:19,257 [INFO] --- Vince Landi ---
2026-04-10 00:26:19,667 [INFO] Vince Landi: has 3 existing appts, booking 5 more
2026-04-10 00:26:19,669 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 00:26:19,669 [INFO] Extension: 2x4 → 5 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 00:26:19,670 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 5 slots (incl. 3 PT-adjacent)
2026-04-10 00:26:20,210 [INFO] Booked 2026-06-10T11:30:00 → appt hukfxMqH0uqC0wUfYPck
2026-04-10 00:26:20,210 [INFO] ✓ Booked 2026-06-10T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:26:21,878 [INFO] Booked 2026-06-17T11:30:00 → appt XMTqj3N5z42Daj1A1urH
2026-04-10 00:26:21,878 [INFO] ✓ Booked 2026-06-17T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:26:23,499 [INFO] Booked 2026-06-24T11:30:00 → appt 2kHeiXrMvDABS0VP2krZ
2026-04-10 00:26:23,500 [INFO] ✓ Booked 2026-06-24T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 00:26:25,089 [INFO] Booked 2026-06-26T13:30:00 → appt HK4P9L20gLz4g6N5Z6pB
2026-04-10 00:26:25,090 [INFO] ✓ Booked 2026-06-26T13:30:00
2026-04-10 00:26:26,836 [INFO] Booked 2026-06-29T11:30:00 → appt EsfPNSD6igFfwlrgr53X
2026-04-10 00:26:26,836 [INFO] ✓ Booked 2026-06-29T11:30:00
2026-04-10 00:26:27,846 [INFO] --- Lisa Frank ---
2026-04-10 00:26:28,260 [INFO] Lisa Frank: has 10 existing appts, booking 6 more
2026-04-10 00:26:28,260 [INFO] Extension: → 6 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:26:28,263 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 6 slots (no PT coordination)
2026-04-10 00:26:28,719 [ERROR] book_appointment(2026-05-21T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:28,720 [WARNING] ✗ Failed 2026-05-21T12:30:00
2026-04-10 00:26:31,113 [INFO] Booked 2026-05-28T11:30:00 → appt u4YqtmnUxJg5IIVU2JKJ
2026-04-10 00:26:31,114 [INFO] ✓ Booked 2026-05-28T11:30:00
2026-04-10 00:26:32,616 [ERROR] book_appointment(2026-06-01T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:32,617 [WARNING] ✗ Failed 2026-06-01T14:00:00
2026-04-10 00:26:34,120 [ERROR] book_appointment(2026-06-03T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:34,121 [WARNING] ✗ Failed 2026-06-03T12:30:00
2026-04-10 00:26:35,983 [INFO] Booked 2026-06-05T13:30:00 → appt rZkHKore2SQSY2EyIMZw
2026-04-10 00:26:35,985 [INFO] ✓ Booked 2026-06-05T13:30:00
2026-04-10 00:26:37,803 [INFO] Booked 2026-06-08T11:30:00 → appt Ujbe8XWhNuL5vbHnfAyw
2026-04-10 00:26:37,803 [INFO] ✓ Booked 2026-06-08T11:30:00
2026-04-10 00:26:38,804 [INFO] --- Ruthann Swinsky ---
2026-04-10 00:26:39,513 [INFO] Ruthann Swinsky: has 3 existing appts, booking 5 more
2026-04-10 00:26:39,514 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 00:26:39,514 [INFO] Extension: 2x4 → 5 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 00:26:39,516 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 5 slots (incl. 2 PT-adjacent)
2026-04-10 00:26:40,410 [INFO] Booked 2026-06-18T10:00:00 → appt GWkRQREAGTr2kc8Rf3D3
2026-04-10 00:26:40,411 [INFO] ✓ Booked 2026-06-18T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 00:26:42,073 [INFO] Booked 2026-06-25T10:00:00 → appt YeMITM6OuolFDMf6iQL0
2026-04-10 00:26:42,074 [INFO] ✓ Booked 2026-06-25T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 00:26:43,414 [ERROR] book_appointment(2026-06-29T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:43,416 [WARNING] ✗ Failed 2026-06-29T12:30:00
2026-04-10 00:26:44,882 [INFO] Booked 2026-07-01T11:30:00 → appt jff6Ogv3R3vsbtK7Oed4
2026-04-10 00:26:44,882 [INFO] ✓ Booked 2026-07-01T11:30:00
2026-04-10 00:26:46,739 [INFO] Booked 2026-07-03T11:00:00 → appt 0l11LuXhVdq6sGnj6Pxs
2026-04-10 00:26:46,739 [INFO] ✓ Booked 2026-07-03T11:00:00
2026-04-10 00:26:47,746 [INFO] --- George Simmons ---
2026-04-10 00:26:48,125 [INFO] George Simmons: has 1 existing appts, booking 3 more
2026-04-10 00:26:48,125 [INFO] Extension: 1x4 → 3 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:26:48,127 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 3 slots (no PT coordination)
2026-04-10 00:26:49,028 [INFO] Booked 2026-05-22T13:30:00 → appt tWvhpAIld8flDiTe0n7p
2026-04-10 00:26:49,028 [INFO] ✓ Booked 2026-05-22T13:30:00
2026-04-10 00:26:50,570 [INFO] Booked 2026-06-03T13:00:00 → appt 8oogqDRXUgaCZDYeqUHm
2026-04-10 00:26:50,570 [INFO] ✓ Booked 2026-06-03T13:00:00
2026-04-10 00:26:51,944 [ERROR] book_appointment(2026-06-10T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:51,947 [WARNING] ✗ Failed 2026-06-10T12:30:00
2026-04-10 00:26:52,954 [INFO] --- Rajiv Sardana ---
2026-04-10 00:26:53,532 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 00:26:53,533 [INFO] --- Aiden Sheridan ---
2026-04-10 00:26:54,046 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:26:54,047 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 00:26:54,568 [INFO] Booked 2026-06-12T13:30:00 → appt x192nlQAWYygga9IhAxm
2026-04-10 00:26:54,568 [INFO] ✓ Booked 2026-06-12T13:30:00
2026-04-10 00:26:56,137 [INFO] Booked 2026-06-19T13:30:00 → appt HzEYdfSTOLedCCURUE0X
2026-04-10 00:26:56,137 [INFO] ✓ Booked 2026-06-19T13:30:00
2026-04-10 00:26:57,520 [ERROR] book_appointment(2026-07-03T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:26:57,521 [WARNING] ✗ Failed 2026-07-03T12:00:00
2026-04-10 00:26:59,172 [INFO] Booked 2026-07-10T12:00:00 → appt BlLunv92xUwdbWyneI9M
2026-04-10 00:26:59,173 [INFO] ✓ Booked 2026-07-10T12:00:00
2026-04-10 00:27:00,174 [INFO] --- Scott Karlin ---
2026-04-10 00:27:00,545 [INFO] Scott Karlin: has 2 existing appts, booking 6 more
2026-04-10 00:27:00,546 [INFO] Extension: 2x4 → 6 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:27:00,548 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 6 slots (no PT coordination)
2026-04-10 00:27:01,623 [ERROR] book_appointment(2026-05-28T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:01,624 [WARNING] ✗ Failed 2026-05-28T12:30:00
2026-04-10 00:27:03,063 [ERROR] book_appointment(2026-06-03T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:03,071 [WARNING] ✗ Failed 2026-06-03T14:00:00
2026-04-10 00:27:04,554 [ERROR] book_appointment(2026-06-08T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:04,556 [WARNING] ✗ Failed 2026-06-08T12:30:00
2026-04-10 00:27:06,132 [INFO] Booked 2026-06-10T13:00:00 → appt TX0T7ntqhzla2eqkSEDp
2026-04-10 00:27:06,133 [INFO] ✓ Booked 2026-06-10T13:00:00
2026-04-10 00:27:07,671 [INFO] Booked 2026-06-15T11:30:00 → appt dqVbeEMIiIS6cRNxDRmX
2026-04-10 00:27:07,672 [INFO] ✓ Booked 2026-06-15T11:30:00
2026-04-10 00:27:09,097 [ERROR] book_appointment(2026-06-17T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:09,099 [WARNING] ✗ Failed 2026-06-17T12:30:00
2026-04-10 00:27:10,109 [INFO] --- Shy A ---
2026-04-10 00:27:10,673 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 00:27:11,188 [INFO] Shy A: has 2 existing appts, booking 2 more
2026-04-10 00:27:11,189 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:27:11,191 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 2 slots (no PT coordination)
2026-04-10 00:27:11,745 [ERROR] book_appointment(2026-06-01T13:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:11,753 [WARNING] ✗ Failed 2026-06-01T13:30:00
2026-04-10 00:27:13,140 [ERROR] book_appointment(2026-06-08T12:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:13,141 [WARNING] ✗ Failed 2026-06-08T12:00:00
2026-04-10 00:27:14,150 [INFO] --- Linda Hayes ---
2026-04-10 00:27:14,603 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:27:14,605 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 00:27:15,211 [INFO] Booked 2026-05-28T13:00:00 → appt oaBHBCMdNEmLUaifEBoe
2026-04-10 00:27:15,212 [INFO] ✓ Booked 2026-05-28T13:00:00
2026-04-10 00:27:16,786 [INFO] Booked 2026-06-04T11:30:00 → appt eRel76tnrCKG9yZXOjgL
2026-04-10 00:27:16,786 [INFO] ✓ Booked 2026-06-04T11:30:00
2026-04-10 00:27:18,152 [ERROR] book_appointment(2026-06-10T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:18,154 [WARNING] ✗ Failed 2026-06-10T14:00:00
2026-04-10 00:27:19,761 [INFO] Booked 2026-06-17T13:00:00 → appt HEPcRuTTnzGppWWqgc0o
2026-04-10 00:27:19,761 [INFO] ✓ Booked 2026-06-17T13:00:00
2026-04-10 00:27:20,770 [INFO] --- Rosemary Rollor ---
2026-04-10 00:27:21,144 [INFO] Rosemary Rollor: has 2 existing appts, booking 2 more
2026-04-10 00:27:21,145 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:27:21,148 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 2 slots (no PT coordination)
2026-04-10 00:27:21,620 [ERROR] book_appointment(2026-05-08T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:21,622 [WARNING] ✗ Failed 2026-05-08T14:00:00
2026-04-10 00:27:22,970 [ERROR] book_appointment(2026-05-21T13:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:27:22,971 [WARNING] ✗ Failed 2026-05-21T13:00:00
2026-04-10 00:27:23,982 [INFO] 📅 Extension Check — April 10, 2026
13 scheduled, 2 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 2 sessions (5/8–5/14) | no PT match
• Thomas Affleck — 1 sessions (5/21–5/21) | 1/1 next to PT
• Carolyn Schiffman — 1 sessions (5/21–5/21) | no PT match
• Robert Brinkman — 4 sessions (5/27–6/3) | 1/4 next to PT
• Vince Landi — 5 sessions (6/10–6/29) | 3/5 next to PT
• Ruthann Swinsky — 4/5 sessions (6/18–7/3) | 2/4 next to PT ⚠️ 1 failed
Other patients:
• Lisa Frank — 3/6 sessions (5/28–6/8) ⚠️ 3 failed
• George Simmons — 2/3 sessions (5/22–6/3) ⚠️ 1 failed
• Aiden Sheridan — 3/4 sessions (6/12–7/10) ⚠️ 1 failed
• Scott Karlin — 2/6 sessions (6/10–6/15) ⚠️ 4 failed
• Shy A — 0/2 sessions (?–?) ⚠️ 2 failed
• Linda Hayes — 3/4 sessions (5/28–6/17) ⚠️ 1 failed
• Rosemary Rollor — 0/2 sessions (?–?) ⚠️ 2 failed
Skipped (2):
• Dove Johnson — already has 4 upcoming appointments
• Rajiv Sardana — not found in GHL
PT coordination: 7/17 sessions placed adjacent to PT across 6 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-10 00:27:24,854 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 00:31:10,396 [INFO] ============================================================
2026-04-10 00:31:10,396 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-10 00:31:10,396 [INFO] ============================================================
2026-04-10 00:31:10,398 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:10,921 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 00:31:10,935 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 00:31:10,935 [INFO] Loading PT schedules from Google Drive...
2026-04-10 00:31:10,937 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:11,128 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:12,100 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 00:31:12,101 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:12,840 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 00:31:12,840 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:13,555 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 00:31:13,556 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:14,295 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 00:31:14,295 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:15,258 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 00:31:15,259 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:15,457 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:31:16,293 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 00:31:16,293 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 00:31:16,293 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 00:31:20,135 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:31:29,467 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:31:34,632 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:31:40,002 [INFO] Adult: 366 slots on 51 days | Myo: 302 slots on 43 days
2026-04-10 00:31:40,003 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 00:31:40,003 [INFO] --- Dove Johnson ---
2026-04-10 00:31:40,468 [INFO] Dove Johnson: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:31:40,468 [INFO] --- Bruce Weinstein ---
2026-04-10 00:31:40,818 [INFO] Bruce Weinstein: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:31:40,818 [INFO] --- Thomas Affleck ---
2026-04-10 00:31:41,171 [INFO] Thomas Affleck: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:31:41,172 [INFO] --- Carolyn Schiffman ---
2026-04-10 00:31:41,517 [INFO] Carolyn Schiffman: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:31:41,517 [INFO] --- Robert Brinkman ---
2026-04-10 00:31:41,899 [INFO] Robert Brinkman: already has 16 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-10 00:31:41,899 [INFO] --- Vince Landi ---
2026-04-10 00:31:42,238 [INFO] Vince Landi: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-10 00:31:42,238 [INFO] --- Lisa Frank ---
2026-04-10 00:31:42,775 [INFO] Lisa Frank: has 13 existing appts, booking 3 more
2026-04-10 00:31:42,775 [INFO] Extension: → 3 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:31:42,778 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 3 slots (no PT coordination)
2026-04-10 00:31:44,681 [INFO] Booked 2026-06-04T13:00:00 → appt DNAjT9ldKzbCuK66s47d
2026-04-10 00:31:44,681 [INFO] ✓ Booked 2026-06-04T13:00:00
2026-04-10 00:31:46,453 [INFO] Booked 2026-06-08T13:00:00 → appt nbWURpRyikVXm32LjoFF
2026-04-10 00:31:46,454 [INFO] ✓ Booked 2026-06-08T13:00:00
2026-04-10 00:31:48,245 [INFO] Booked 2026-06-11T11:30:00 → appt hYSUOiLLfphs2qgGrYVX
2026-04-10 00:31:48,250 [INFO] ✓ Booked 2026-06-11T11:30:00
2026-04-10 00:31:49,254 [INFO] --- Ruthann Swinsky ---
2026-04-10 00:31:49,766 [INFO] Ruthann Swinsky: has 7 existing appts, booking 1 more
2026-04-10 00:31:49,769 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 00:31:49,770 [INFO] Extension: 2x4 → 1 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 00:31:49,771 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 1 slots (no PT coordination)
2026-04-10 00:31:50,803 [ERROR] book_appointment(2026-06-04T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:31:50,805 [WARNING] ✗ Failed 2026-06-04T14:00:00
2026-04-10 00:31:51,808 [INFO] --- George Simmons ---
2026-04-10 00:31:52,195 [INFO] George Simmons: has 3 existing appts, booking 1 more
2026-04-10 00:31:52,195 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:31:52,196 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 1 slots (no PT coordination)
2026-04-10 00:31:52,867 [ERROR] book_appointment(2026-06-08T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:31:52,871 [WARNING] ✗ Failed 2026-06-08T14:00:00
2026-04-10 00:31:53,880 [INFO] --- Rajiv Sardana ---
2026-04-10 00:31:54,635 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 00:31:54,635 [INFO] --- Aiden Sheridan ---
2026-04-10 00:31:55,157 [INFO] Aiden Sheridan: has 3 existing appts, booking 1 more
2026-04-10 00:31:55,158 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:31:55,159 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 1 slots (no PT coordination)
2026-04-10 00:31:55,881 [INFO] Booked 2026-07-03T12:30:00 → appt Jo8rJr5VhoA3Mr0Vi2qs
2026-04-10 00:31:55,881 [INFO] ✓ Booked 2026-07-03T12:30:00
2026-04-10 00:31:56,882 [INFO] --- Scott Karlin ---
2026-04-10 00:31:57,285 [INFO] Scott Karlin: has 4 existing appts, booking 4 more
2026-04-10 00:31:57,286 [INFO] Extension: 2x4 → 4 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:31:57,287 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 4 slots (no PT coordination)
2026-04-10 00:32:02,073 [ERROR] book_appointment(2026-06-11T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:32:02,075 [WARNING] ✗ Failed 2026-06-11T12:30:00
2026-04-10 00:32:03,738 [INFO] Booked 2026-06-15T13:00:00 → appt Ne40y3icD1UBUAO2KdsQ
2026-04-10 00:32:03,739 [INFO] ✓ Booked 2026-06-15T13:00:00
2026-04-10 00:32:05,297 [INFO] Booked 2026-06-18T11:30:00 → appt 9MWtbta7aHAvNLNfI0KK
2026-04-10 00:32:05,297 [INFO] ✓ Booked 2026-06-18T11:30:00
2026-04-10 00:32:06,933 [INFO] Booked 2026-06-24T13:00:00 → appt sEXbc4kCkbOvVCsgZGQe
2026-04-10 00:32:06,933 [INFO] ✓ Booked 2026-06-24T13:00:00
2026-04-10 00:32:07,944 [INFO] --- Shy A ---
2026-04-10 00:32:08,601 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 00:32:08,791 [INFO] Shy A: has 2 existing appts, booking 2 more
2026-04-10 00:32:08,792 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:32:08,795 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 2 slots (no PT coordination)
2026-04-10 00:32:09,424 [ERROR] book_appointment(2026-06-15T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:32:09,426 [WARNING] ✗ Failed 2026-06-15T14:00:00
2026-04-10 00:32:12,468 [INFO] Booked 2026-06-29T13:00:00 → appt qpnQLxlgQVpl83wEzw7b
2026-04-10 00:32:12,468 [INFO] ✓ Booked 2026-06-29T13:00:00
2026-04-10 00:32:13,478 [INFO] --- Linda Hayes ---
2026-04-10 00:32:14,118 [INFO] Linda Hayes: has 3 existing appts, booking 1 more
2026-04-10 00:32:14,119 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:32:14,122 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 1 slots (no PT coordination)
2026-04-10 00:32:15,420 [INFO] Booked 2026-06-11T13:00:00 → appt 4cu3uLuuOU7QNFzrX1QN
2026-04-10 00:32:15,420 [INFO] ✓ Booked 2026-06-11T13:00:00
2026-04-10 00:32:16,431 [INFO] --- Rosemary Rollor ---
2026-04-10 00:32:16,819 [INFO] Rosemary Rollor: has 2 existing appts, booking 2 more
2026-04-10 00:32:16,820 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:32:16,821 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 2 slots (no PT coordination)
2026-04-10 00:32:17,239 [ERROR] book_appointment(2026-06-11T14:00:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:32:17,242 [WARNING] ✗ Failed 2026-06-11T14:00:00
2026-04-10 00:32:18,636 [ERROR] book_appointment(2026-06-18T12:30:00): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/calendars/events/appointments
2026-04-10 00:32:18,638 [WARNING] ✗ Failed 2026-06-18T12:30:00
2026-04-10 00:32:19,652 [INFO] 📅 Extension Check — April 10, 2026
8 scheduled, 7 skipped
Synapse (PT + Speech) patients:
• Ruthann Swinsky — 0/1 sessions (?–?) | no PT match ⚠️ 1 failed
Other patients:
• Lisa Frank — 3 sessions (6/4–6/11)
• George Simmons — 0/1 sessions (?–?) ⚠️ 1 failed
• Aiden Sheridan — 1 sessions (7/3–7/3)
• Scott Karlin — 3/4 sessions (6/15–6/24) ⚠️ 1 failed
• Shy A — 1/2 sessions (6/29–6/29) ⚠️ 1 failed
• Linda Hayes — 1 sessions (6/11–6/11)
• Rosemary Rollor — 0/2 sessions (?–?) ⚠️ 2 failed
Skipped (7):
• Dove Johnson — already has 4 upcoming appointments
• Bruce Weinstein — already has 4 upcoming appointments
• Thomas Affleck — already has 4 upcoming appointments
• Carolyn Schiffman — already has 4 upcoming appointments
• Robert Brinkman — already has 16 upcoming appointments
• Vince Landi — already has 8 upcoming appointments
• Rajiv Sardana — not found in GHL
PT coordination: 0/0 sessions placed adjacent to PT across 1 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-10 00:32:20,505 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 00:35:44,006 [INFO] ============================================================
2026-04-10 00:35:44,007 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-10 00:35:44,007 [INFO] ============================================================
2026-04-10 00:35:44,008 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:44,378 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 00:35:44,387 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 00:35:44,387 [INFO] Loading PT schedules from Google Drive...
2026-04-10 00:35:44,389 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:44,615 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:45,374 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 00:35:45,374 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:46,334 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 00:35:46,335 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:47,064 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 00:35:47,064 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:47,893 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 00:35:47,895 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:48,601 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 00:35:48,602 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:48,806 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 00:35:49,718 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 00:35:49,719 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 00:35:49,719 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 00:35:53,610 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:35:58,865 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:36:08,101 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:36:13,261 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 00:36:18,527 [INFO] Adult: 275 slots on 37 days | Myo: 275 slots on 37 days
2026-04-10 00:36:18,527 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 00:36:18,528 [INFO] --- Dove Johnson ---
2026-04-10 00:36:19,079 [INFO] Dove Johnson: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:19,079 [INFO] --- Bruce Weinstein ---
2026-04-10 00:36:19,512 [INFO] Bruce Weinstein: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:19,512 [INFO] --- Thomas Affleck ---
2026-04-10 00:36:20,528 [INFO] Thomas Affleck: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:20,528 [INFO] --- Carolyn Schiffman ---
2026-04-10 00:36:20,957 [INFO] Carolyn Schiffman: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:20,957 [INFO] --- Robert Brinkman ---
2026-04-10 00:36:21,320 [INFO] Robert Brinkman: already has 16 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-10 00:36:21,320 [INFO] --- Vince Landi ---
2026-04-10 00:36:21,713 [INFO] Vince Landi: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-10 00:36:21,713 [INFO] --- Lisa Frank ---
2026-04-10 00:36:22,897 [INFO] Lisa Frank: already has 16 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-10 00:36:22,897 [INFO] --- Ruthann Swinsky ---
2026-04-10 00:36:23,227 [INFO] Ruthann Swinsky: has 7 existing appts, booking 1 more
2026-04-10 00:36:23,230 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 00:36:23,230 [INFO] Extension: 2x4 → 1 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 00:36:23,232 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 1 slots (no PT coordination)
2026-04-10 00:36:23,769 [INFO] Booked 2026-06-18T13:00:00 → appt aBjkKrmqdgIBHykHrYo9
2026-04-10 00:36:23,770 [INFO] ✓ Booked 2026-06-18T13:00:00
2026-04-10 00:36:24,775 [INFO] --- George Simmons ---
2026-04-10 00:36:25,196 [INFO] George Simmons: has 3 existing appts, booking 1 more
2026-04-10 00:36:25,196 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 00:36:25,198 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 1 slots (no PT coordination)
2026-04-10 00:36:25,901 [INFO] Booked 2026-07-01T13:00:00 → appt Lv3QZW9LlyTH7rntjVvs
2026-04-10 00:36:25,902 [INFO] ✓ Booked 2026-07-01T13:00:00
2026-04-10 00:36:26,906 [INFO] --- Rajiv Sardana ---
2026-04-10 00:36:27,512 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 00:36:27,513 [INFO] --- Aiden Sheridan ---
2026-04-10 00:36:28,446 [INFO] Aiden Sheridan: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:28,446 [INFO] --- Scott Karlin ---
2026-04-10 00:36:28,859 [INFO] Scott Karlin: has 7 existing appts, booking 1 more
2026-04-10 00:36:28,859 [INFO] Extension: 2x4 → 1 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 00:36:28,860 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 1 slots (no PT coordination)
2026-04-10 00:36:29,749 [INFO] Booked 2026-06-25T11:30:00 → appt 7U5khLWEuzfvPs8GSmkC
2026-04-10 00:36:29,750 [INFO] ✓ Booked 2026-06-25T11:30:00
2026-04-10 00:36:30,758 [INFO] --- Shy A ---
2026-04-10 00:36:31,421 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 00:36:31,603 [INFO] Shy A: has 3 existing appts, booking 1 more
2026-04-10 00:36:31,604 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:36:31,604 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 1 slots (no PT coordination)
2026-04-10 00:36:32,204 [INFO] Booked 2026-07-06T10:00:00 → appt 9SjQiiBDNvwhaZLqN99V
2026-04-10 00:36:32,204 [INFO] ✓ Booked 2026-07-06T10:00:00
2026-04-10 00:36:33,206 [INFO] --- Linda Hayes ---
2026-04-10 00:36:33,576 [INFO] Linda Hayes: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 00:36:33,577 [INFO] --- Rosemary Rollor ---
2026-04-10 00:36:33,908 [INFO] Rosemary Rollor: has 2 existing appts, booking 2 more
2026-04-10 00:36:33,911 [INFO] Extension: 1x4 → 2 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 00:36:33,913 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 2 slots (no PT coordination)
2026-04-10 00:36:34,597 [INFO] Booked 2026-06-25T13:00:00 → appt lzqhvhMj9MB04MMi4mmi
2026-04-10 00:36:34,597 [INFO] ✓ Booked 2026-06-25T13:00:00
2026-04-10 00:36:36,533 [INFO] Booked 2026-07-02T10:00:00 → appt LATHfoCOGo1zzzDSsobA
2026-04-10 00:36:36,535 [INFO] ✓ Booked 2026-07-02T10:00:00
2026-04-10 00:36:37,545 [INFO] 📅 Extension Check — April 10, 2026
5 scheduled, 10 skipped
Synapse (PT + Speech) patients:
• Ruthann Swinsky — 1 sessions (6/18–6/18) | no PT match
Other patients:
• George Simmons — 1 sessions (7/1–7/1)
• Scott Karlin — 1 sessions (6/25–6/25)
• Shy A — 1 sessions (7/6–7/6)
• Rosemary Rollor — 2 sessions (6/25–7/2)
Skipped (10):
• Dove Johnson — already has 4 upcoming appointments
• Bruce Weinstein — already has 4 upcoming appointments
• Thomas Affleck — already has 4 upcoming appointments
• Carolyn Schiffman — already has 4 upcoming appointments
• Robert Brinkman — already has 16 upcoming appointments
• Vince Landi — already has 8 upcoming appointments
• Lisa Frank — already has 16 upcoming appointments
• Rajiv Sardana — not found in GHL
• Aiden Sheridan — already has 4 upcoming appointments
• Linda Hayes — already has 4 upcoming appointments
PT coordination: 0/1 sessions placed adjacent to PT across 1 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-10 00:36:38,443 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:24:21,626 [INFO] ============================================================
2026-04-10 01:24:21,627 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:24:21,627 [INFO] ============================================================
2026-04-10 01:24:21,629 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:22,281 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:24:22,299 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:24:22,300 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:24:22,301 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:22,521 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:23,453 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:24:23,453 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:24,251 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:24:24,253 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:25,048 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:24:25,048 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:25,918 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:24:25,919 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:26,685 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:24:26,688 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:26,865 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:24:27,644 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:24:27,645 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:24:27,645 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:24:32,201 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:24:37,345 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:25:17,599 [INFO] Adult: 504 slots on 73 days | Myo: 632 slots on 89 days
2026-04-10 01:25:17,600 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:25:17,600 [INFO] --- Dove Johnson ---
2026-04-10 01:25:18,033 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:25:18,035 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:25:18,035 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:25:18,543 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:25:19,054 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:25:19,562 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:25:20,063 [INFO] --- Bruce Weinstein ---
2026-04-10 01:25:20,451 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:25:20,452 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:25:20,454 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:25:20,454 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:25:20,957 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:25:21,459 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:25:21,961 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:25:22,472 [INFO] --- Thomas Affleck ---
2026-04-10 01:25:22,884 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:25:22,885 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:25:22,886 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:25:22,887 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:25:23,397 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:25:23,898 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:25:24,408 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:25:24,915 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:25:25,349 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:25:25,349 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:25:25,352 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:25:25,352 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:25:25,853 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:25:26,362 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:25:26,873 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:25:27,381 [INFO] --- Robert Brinkman ---
2026-04-10 01:25:27,786 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:25:27,786 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:25:27,788 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:25:27,788 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:25:28,299 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:25:28,805 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:25:29,316 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:25:29,826 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:25:30,329 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:25:30,837 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:25:31,349 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:25:31,853 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:25:32,354 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:25:32,859 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:25:33,364 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:25:33,875 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:25:34,381 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:25:34,886 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:25:35,394 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:25:35,905 [INFO] --- Vince Landi ---
2026-04-10 01:25:36,818 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:25:36,818 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:25:36,821 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:25:36,821 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:25:37,323 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:25:37,834 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:25:38,337 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:25:38,847 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:25:39,348 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:25:39,854 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:25:40,360 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:25:40,873 [INFO] --- Lisa Frank ---
2026-04-10 01:25:41,682 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:25:41,684 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:25:41,684 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:25:42,194 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:25:42,702 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:25:43,215 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:25:43,717 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:25:44,222 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:25:44,732 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:25:45,247 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:25:45,754 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:25:46,254 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:25:46,759 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:25:47,269 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:25:47,779 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:25:48,284 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:25:48,793 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:25:49,300 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:25:49,804 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:25:50,154 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:25:50,154 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:25:50,161 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:25:50,162 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:25:50,672 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:25:51,175 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:25:51,680 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:25:52,190 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:25:52,695 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:25:53,206 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:25:53,714 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:25:54,219 [INFO] --- George Simmons ---
2026-04-10 01:25:54,703 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:25:54,706 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:25:54,706 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:25:55,211 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:25:55,718 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:25:56,229 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:25:56,733 [INFO] --- Rajiv Sardana ---
2026-04-10 01:25:57,323 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:25:57,323 [INFO] --- Aiden Sheridan ---
2026-04-10 01:25:58,031 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:25:58,034 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:25:58,034 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:25:58,545 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:25:59,050 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:25:59,558 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:26:00,069 [INFO] --- Scott Karlin ---
2026-04-10 01:26:00,452 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:26:00,454 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:26:00,455 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:26:00,959 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:26:01,467 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:26:01,979 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:26:02,485 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:26:02,999 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:26:03,510 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:26:04,019 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:26:04,522 [INFO] --- Shy A ---
2026-04-10 01:26:05,048 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:26:05,216 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:26:05,218 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:26:05,219 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:26:05,727 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:26:06,236 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:26:06,747 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:26:07,254 [INFO] --- Linda Hayes ---
2026-04-10 01:26:07,752 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:26:07,756 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:26:07,756 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:26:08,259 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:26:08,759 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:26:09,264 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:26:09,766 [INFO] --- Rosemary Rollor ---
2026-04-10 01:26:10,265 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:26:10,268 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:26:10,268 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:26:10,779 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:26:11,290 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:26:11,794 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:26:12,304 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:26:13,199 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:26:13,590 [INFO] ============================================================
2026-04-10 01:26:13,590 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:26:13,590 [INFO] ============================================================
2026-04-10 01:26:13,591 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:13,919 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:26:13,926 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:26:13,927 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:26:13,930 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:14,139 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:15,121 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:26:15,122 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:15,931 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:26:15,932 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:16,788 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:26:16,789 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:17,593 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:26:17,594 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:18,316 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:26:18,316 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:18,496 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:26:19,339 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:26:19,339 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:26:19,339 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:26:22,722 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:26:27,883 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:26:36,999 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:26:42,144 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:26:47,470 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:26:47,470 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:26:47,470 [INFO] --- Dove Johnson ---
2026-04-10 01:26:48,009 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:26:48,014 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:26:48,015 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:26:48,520 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:26:49,022 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:26:49,525 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:26:50,032 [INFO] --- Bruce Weinstein ---
2026-04-10 01:26:50,480 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:26:50,480 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:26:50,482 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:26:50,482 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:26:50,989 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:26:51,496 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:26:52,003 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:26:52,513 [INFO] --- Thomas Affleck ---
2026-04-10 01:26:52,887 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:26:52,888 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:26:52,892 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:26:52,892 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:26:53,398 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:26:53,900 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:26:54,404 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:26:54,912 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:26:55,349 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:26:55,349 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:26:55,351 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:26:55,352 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:26:55,863 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:26:56,366 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:26:56,876 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:26:57,383 [INFO] --- Robert Brinkman ---
2026-04-10 01:26:57,766 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:26:57,766 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:26:57,769 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:26:57,769 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:26:58,278 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:26:58,784 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:26:59,286 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:26:59,793 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:27:00,301 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:27:00,811 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:27:01,322 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:27:01,828 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:27:02,333 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:27:02,840 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:27:03,349 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:27:03,854 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:27:04,356 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:27:04,863 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:27:05,371 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:27:05,879 [INFO] --- Vince Landi ---
2026-04-10 01:27:06,247 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:27:06,247 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:27:06,250 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:27:06,250 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:27:06,759 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:27:07,268 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:27:07,779 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:27:08,289 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:27:08,792 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:27:09,301 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:27:09,808 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:27:10,316 [INFO] --- Lisa Frank ---
2026-04-10 01:27:10,837 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:27:10,842 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:27:10,843 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:27:11,348 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:27:11,857 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:27:12,362 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:27:12,870 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:27:13,372 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:27:13,883 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:27:14,396 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:27:14,907 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:27:15,412 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:27:15,923 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:27:16,427 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:27:16,935 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:27:17,443 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:27:17,949 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:27:18,450 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:27:18,962 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:27:19,314 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:27:19,314 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:27:19,321 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:27:19,322 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:27:19,828 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:27:20,334 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:27:20,845 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:27:21,353 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:27:21,859 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:27:22,366 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:27:22,871 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:27:23,379 [INFO] --- George Simmons ---
2026-04-10 01:27:23,847 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:27:23,850 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:27:23,850 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:27:24,360 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:27:24,864 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:27:25,371 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:27:25,882 [INFO] --- Rajiv Sardana ---
2026-04-10 01:27:26,488 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:27:26,488 [INFO] --- Aiden Sheridan ---
2026-04-10 01:27:26,920 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:27:26,922 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:27:26,923 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:27:27,425 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:27:27,931 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:27:28,433 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:27:28,938 [INFO] --- Scott Karlin ---
2026-04-10 01:27:29,284 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:27:29,288 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:27:29,288 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:27:29,795 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:27:30,305 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:27:30,814 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:27:31,321 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:27:31,824 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:27:32,336 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:27:32,843 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:27:33,351 [INFO] --- Shy A ---
2026-04-10 01:27:33,941 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:27:34,163 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:27:34,164 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:27:34,164 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:27:34,674 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:27:35,177 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:27:35,679 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:27:36,189 [INFO] --- Linda Hayes ---
2026-04-10 01:27:36,633 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:27:36,634 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:27:36,635 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:27:37,145 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:27:37,653 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:27:38,161 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:27:38,672 [INFO] --- Rosemary Rollor ---
2026-04-10 01:27:39,029 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:27:39,032 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:27:39,032 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:27:39,542 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:27:40,044 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:27:40,551 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:27:41,063 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:27:42,063 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:27:42,462 [INFO] ============================================================
2026-04-10 01:27:42,462 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:27:42,462 [INFO] ============================================================
2026-04-10 01:27:42,464 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:42,778 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:27:42,786 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:27:42,787 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:27:42,793 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:43,064 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:43,970 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:27:43,971 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:44,949 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:27:44,949 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:46,042 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:27:46,043 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:47,218 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:27:47,219 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:47,991 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:27:47,992 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:48,157 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:27:48,967 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:27:48,967 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:27:48,967 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:27:52,246 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:27:57,429 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:28:06,281 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:28:11,493 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:28:16,821 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:28:16,822 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:28:16,822 [INFO] --- Dove Johnson ---
2026-04-10 01:28:17,299 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:28:17,302 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:28:17,302 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:28:17,813 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:28:18,323 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:28:18,834 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:28:19,335 [INFO] --- Bruce Weinstein ---
2026-04-10 01:28:19,782 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:28:19,782 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:28:19,783 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:28:19,784 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:28:20,294 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:28:20,804 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:28:21,311 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:28:21,816 [INFO] --- Thomas Affleck ---
2026-04-10 01:28:22,240 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:28:22,241 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:28:22,247 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:28:22,248 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:28:22,754 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:28:23,262 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:28:23,772 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:28:24,277 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:28:24,663 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:28:24,663 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:28:24,668 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:28:24,669 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:28:25,177 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:28:25,684 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:28:26,185 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:28:26,688 [INFO] --- Robert Brinkman ---
2026-04-10 01:28:27,125 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:28:27,126 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:28:27,128 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:28:27,128 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:28:27,629 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:28:28,139 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:28:28,650 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:28:29,158 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:28:29,669 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:28:30,174 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:28:30,688 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:28:31,194 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:28:31,702 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:28:32,212 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:28:32,713 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:28:33,216 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:28:33,726 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:28:34,233 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:28:34,739 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:28:35,247 [INFO] --- Vince Landi ---
2026-04-10 01:28:35,691 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:28:35,692 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:28:35,695 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:28:35,695 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:28:36,200 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:28:36,708 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:28:37,220 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:28:37,724 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:28:38,233 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:28:38,746 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:28:39,257 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:28:39,765 [INFO] --- Lisa Frank ---
2026-04-10 01:28:40,237 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:28:40,240 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:28:40,240 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:28:40,746 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:28:41,249 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:28:41,751 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:28:42,253 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:28:42,761 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:28:43,261 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:28:43,765 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:28:44,278 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:28:44,782 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:28:45,294 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:28:45,795 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:28:46,306 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:28:46,817 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:28:47,328 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:28:47,837 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:28:48,341 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:28:48,779 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:28:48,779 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:28:48,781 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:28:48,781 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:28:49,291 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:28:49,799 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:28:50,306 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:28:50,808 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:28:51,319 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:28:51,821 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:28:52,326 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:28:52,832 [INFO] --- George Simmons ---
2026-04-10 01:28:53,231 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:28:53,232 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:28:53,233 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:28:53,743 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:28:54,246 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:28:54,751 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:28:55,261 [INFO] --- Rajiv Sardana ---
2026-04-10 01:28:56,302 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:28:56,303 [INFO] --- Aiden Sheridan ---
2026-04-10 01:28:56,680 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:28:56,682 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:28:56,683 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:28:57,184 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:28:57,697 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:28:58,206 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:28:58,717 [INFO] --- Scott Karlin ---
2026-04-10 01:28:59,094 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:28:59,097 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:28:59,097 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:28:59,597 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:29:00,104 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:29:00,611 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:29:01,115 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:29:01,628 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:29:02,138 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:29:02,646 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:29:03,147 [INFO] --- Shy A ---
2026-04-10 01:29:03,807 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:29:03,971 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:29:03,974 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:29:03,974 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:29:04,478 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:29:04,988 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:29:05,490 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:29:05,997 [INFO] --- Linda Hayes ---
2026-04-10 01:29:06,480 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:29:06,483 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:29:06,483 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:29:06,990 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:29:07,492 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:29:07,993 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:29:08,495 [INFO] --- Rosemary Rollor ---
2026-04-10 01:29:08,816 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:29:08,818 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:29:08,819 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:29:09,327 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:29:09,834 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:29:10,344 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:29:10,856 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:29:11,764 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:29:12,163 [INFO] ============================================================
2026-04-10 01:29:12,164 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:29:12,164 [INFO] ============================================================
2026-04-10 01:29:12,165 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:12,496 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:29:12,506 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:29:12,506 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:29:12,509 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:12,723 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:13,525 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:29:13,526 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:14,301 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:29:14,301 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:15,061 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:29:15,062 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:15,842 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:29:15,843 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:16,798 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:29:16,801 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:17,063 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:29:17,798 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:29:17,798 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:29:17,798 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:29:21,538 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:29:26,697 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:29:35,942 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:29:41,187 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:29:46,530 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:29:46,531 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:29:46,531 [INFO] --- Dove Johnson ---
2026-04-10 01:30:16,964 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:30:16,967 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:30:16,967 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:30:17,477 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:30:17,981 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:30:18,493 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:30:18,997 [INFO] --- Bruce Weinstein ---
2026-04-10 01:30:19,328 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:30:19,328 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:30:19,330 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:30:19,331 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:30:19,838 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:30:20,345 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:30:20,859 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:30:21,370 [INFO] --- Thomas Affleck ---
2026-04-10 01:30:21,744 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:30:21,745 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:30:21,747 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:30:21,748 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:30:22,251 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:30:22,758 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:30:23,267 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:30:23,777 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:30:24,234 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:30:24,235 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:30:24,236 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:30:24,239 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:30:24,750 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:30:25,260 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:30:25,765 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:30:26,274 [INFO] --- Robert Brinkman ---
2026-04-10 01:30:26,811 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:30:26,811 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:30:26,814 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:30:26,814 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:30:27,319 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:30:27,829 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:30:28,330 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:30:28,840 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:30:29,349 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:30:29,851 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:30:30,359 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:30:30,865 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:30:31,375 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:30:31,876 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:30:32,385 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:30:32,895 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:30:33,404 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:30:33,911 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:30:34,416 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:30:34,923 [INFO] --- Vince Landi ---
2026-04-10 01:30:35,380 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:30:35,381 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:30:35,384 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:30:35,384 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:30:35,892 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:30:36,403 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:30:36,911 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:30:37,412 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:30:37,922 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:30:38,432 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:30:38,943 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:30:39,447 [INFO] --- Lisa Frank ---
2026-04-10 01:30:39,960 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:30:39,963 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:30:39,963 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:30:40,472 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:30:40,981 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:30:41,489 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:30:41,993 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:30:42,503 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:30:43,007 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:30:43,515 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:30:44,017 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:30:44,520 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:30:45,026 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:30:45,535 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:30:46,043 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:30:46,552 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:30:47,055 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:30:47,566 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:30:48,070 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:30:48,494 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:30:48,494 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:30:48,497 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:30:48,498 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:30:48,998 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:30:49,505 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:30:50,010 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:30:50,514 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:30:51,016 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:30:51,524 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:30:52,032 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:30:52,535 [INFO] --- George Simmons ---
2026-04-10 01:30:52,987 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:30:52,995 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:30:52,995 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:30:53,502 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:30:54,011 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:30:54,516 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:30:55,017 [INFO] --- Rajiv Sardana ---
2026-04-10 01:30:55,860 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:30:55,860 [INFO] --- Aiden Sheridan ---
2026-04-10 01:30:56,226 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:30:56,228 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:30:56,228 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:30:56,730 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:30:57,237 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:30:57,750 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:30:58,259 [INFO] --- Scott Karlin ---
2026-04-10 01:30:58,653 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:30:58,658 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:30:58,659 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:30:59,168 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:30:59,672 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:31:00,182 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:31:00,690 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:31:01,197 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:31:01,707 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:31:02,212 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:31:02,716 [INFO] --- Shy A ---
2026-04-10 01:31:03,385 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:31:03,592 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:31:03,594 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:31:03,595 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:31:04,103 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:31:04,610 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:31:05,114 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:31:05,625 [INFO] --- Linda Hayes ---
2026-04-10 01:31:06,146 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:31:06,149 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:31:06,149 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:31:06,659 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:31:07,169 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:31:07,679 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:31:08,187 [INFO] --- Rosemary Rollor ---
2026-04-10 01:31:08,612 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:31:08,614 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:31:08,614 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:31:09,119 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:31:09,628 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:31:10,137 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:31:10,649 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:31:11,574 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:31:11,955 [INFO] ============================================================
2026-04-10 01:31:11,955 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:31:11,955 [INFO] ============================================================
2026-04-10 01:31:11,957 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:12,383 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:31:12,397 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:31:12,397 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:31:12,405 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:12,661 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:13,484 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:31:13,485 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:14,239 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:31:14,240 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:15,070 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:31:15,071 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:15,788 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:31:15,790 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:16,604 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:31:16,605 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:16,775 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:31:17,540 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:31:17,540 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:31:17,540 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:31:59,676 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:32:04,808 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:32:10,158 [INFO] Adult: 632 slots on 89 days | Myo: 504 slots on 73 days
2026-04-10 01:32:10,158 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:32:10,158 [INFO] --- Dove Johnson ---
2026-04-10 01:32:10,636 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:32:10,642 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:32:10,643 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:32:11,148 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:32:11,659 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:32:12,169 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:32:12,676 [INFO] --- Bruce Weinstein ---
2026-04-10 01:32:13,111 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:32:13,111 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:32:13,114 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:32:13,114 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:32:13,624 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:32:14,125 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:32:14,630 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:32:15,143 [INFO] --- Thomas Affleck ---
2026-04-10 01:32:15,535 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:32:15,536 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:32:15,542 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:32:15,542 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:32:16,047 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:32:16,558 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:32:17,068 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:32:17,576 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:32:17,996 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:32:17,997 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:32:18,002 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:32:18,003 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:32:18,513 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:32:19,025 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:32:19,528 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:32:20,036 [INFO] --- Robert Brinkman ---
2026-04-10 01:32:20,444 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:32:20,445 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:32:20,449 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:32:20,449 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:32:20,958 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:32:21,459 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:32:21,969 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:32:22,476 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:32:22,985 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:32:23,490 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:32:23,992 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:32:24,493 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:32:24,996 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:32:25,498 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:32:26,008 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:32:26,516 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:32:27,018 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:32:27,519 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:32:28,030 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:32:28,536 [INFO] --- Vince Landi ---
2026-04-10 01:32:29,013 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:32:29,013 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:32:29,018 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:32:29,018 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:32:29,519 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:32:30,025 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:32:30,535 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:32:31,039 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:32:31,548 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:32:32,057 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:32:32,558 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:32:33,064 [INFO] --- Lisa Frank ---
2026-04-10 01:32:33,545 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:32:33,549 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:32:33,550 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:32:34,058 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:32:34,566 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:32:35,077 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:32:35,581 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:32:36,081 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:32:36,592 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:32:37,094 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:32:37,604 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:32:38,111 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:32:38,612 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:32:39,123 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:32:39,633 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:32:40,144 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:32:40,652 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:32:41,157 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:32:41,666 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:32:42,107 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:32:42,107 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:32:42,110 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:32:42,111 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:32:42,614 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:32:43,124 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:32:43,632 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:32:44,139 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:32:44,648 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:32:45,156 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:32:45,658 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:32:46,160 [INFO] --- George Simmons ---
2026-04-10 01:32:46,656 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:32:46,658 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:32:46,659 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:32:47,167 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:32:47,676 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:32:48,179 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:32:48,692 [INFO] --- Rajiv Sardana ---
2026-04-10 01:32:49,389 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:32:49,389 [INFO] --- Aiden Sheridan ---
2026-04-10 01:32:49,802 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:32:49,805 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:32:49,805 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:32:50,310 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:32:50,813 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:32:51,324 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:32:51,833 [INFO] --- Scott Karlin ---
2026-04-10 01:32:52,225 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:32:52,245 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:32:52,245 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:32:52,755 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:32:53,264 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:32:53,775 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:32:54,281 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:32:54,785 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:32:55,287 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:32:55,790 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:32:56,300 [INFO] --- Shy A ---
2026-04-10 01:32:56,918 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:32:57,145 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:32:57,147 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:32:57,147 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:32:57,649 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:32:58,160 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:32:58,667 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:32:59,172 [INFO] --- Linda Hayes ---
2026-04-10 01:32:59,611 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:32:59,614 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:32:59,614 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:33:00,123 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:33:00,629 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:33:01,137 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:33:01,648 [INFO] --- Rosemary Rollor ---
2026-04-10 01:33:02,062 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:33:02,063 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:33:02,063 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:33:02,572 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:33:03,081 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:33:03,584 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:33:04,095 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:33:05,108 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:33:05,494 [INFO] ============================================================
2026-04-10 01:33:05,494 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:33:05,494 [INFO] ============================================================
2026-04-10 01:33:05,496 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:05,819 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:33:05,830 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:33:05,830 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:33:05,832 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:06,059 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:06,835 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:33:06,836 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:07,820 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:33:07,821 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:08,531 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:33:08,532 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:09,333 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:33:09,334 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:10,007 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:33:10,008 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:10,249 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:33:11,111 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:33:11,111 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:33:11,111 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:33:16,149 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:33:25,065 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:33:30,280 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:33:35,623 [INFO] Adult: 568 slots on 81 days | Myo: 504 slots on 73 days
2026-04-10 01:33:35,624 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:33:35,624 [INFO] --- Dove Johnson ---
2026-04-10 01:33:36,124 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:33:36,126 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:33:36,127 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:33:36,634 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:33:37,136 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:33:37,642 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:33:38,145 [INFO] --- Bruce Weinstein ---
2026-04-10 01:33:38,569 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:33:38,575 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:33:38,578 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:33:38,578 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:33:39,085 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:33:39,592 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:33:40,108 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:33:40,619 [INFO] --- Thomas Affleck ---
2026-04-10 01:33:40,984 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:33:40,985 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:33:40,992 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:33:40,993 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:33:41,497 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:33:42,000 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:33:42,507 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:33:43,010 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:33:43,452 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:33:43,452 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:33:43,459 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:33:43,459 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:33:43,959 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:33:44,464 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:33:44,973 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:33:45,480 [INFO] --- Robert Brinkman ---
2026-04-10 01:33:45,899 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:33:45,899 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:33:45,902 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:33:45,903 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:33:46,417 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:33:46,923 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:33:47,426 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:33:47,929 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:33:48,431 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:33:48,941 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:33:49,443 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:33:49,956 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:33:50,465 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:33:50,971 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:33:51,475 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:33:51,977 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:33:52,487 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:33:52,990 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:33:53,500 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:33:54,011 [INFO] --- Vince Landi ---
2026-04-10 01:33:54,451 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:33:54,451 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:33:54,456 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:33:54,456 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:33:54,963 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:33:55,473 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:33:55,983 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:33:56,493 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:33:57,002 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:33:57,505 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:33:58,008 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:33:58,518 [INFO] --- Lisa Frank ---
2026-04-10 01:33:59,140 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:33:59,143 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:33:59,143 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:33:59,648 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:34:00,159 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:34:00,670 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:34:01,176 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:34:01,686 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:34:02,196 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:34:02,704 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:34:03,212 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:34:03,716 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:34:04,226 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:34:04,734 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:34:05,244 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:34:05,754 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:34:06,260 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:34:06,770 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:34:07,275 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:34:07,677 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:34:07,677 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:34:07,678 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:34:07,678 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:34:08,184 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:34:08,686 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:34:09,197 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:34:09,708 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:34:10,208 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:34:10,714 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:34:11,222 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:34:11,730 [INFO] --- George Simmons ---
2026-04-10 01:34:12,111 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:34:12,116 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:34:12,116 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:34:12,626 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:34:13,135 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:34:13,646 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:34:14,148 [INFO] --- Rajiv Sardana ---
2026-04-10 01:34:14,906 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:34:14,907 [INFO] --- Aiden Sheridan ---
2026-04-10 01:34:15,265 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:34:15,273 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:34:15,273 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:34:15,780 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:34:16,288 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:34:16,797 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:34:17,304 [INFO] --- Scott Karlin ---
2026-04-10 01:34:17,693 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:34:17,694 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:34:17,695 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:34:18,205 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:34:18,716 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:34:19,225 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:34:19,726 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:34:20,228 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:34:20,739 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:34:21,247 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:34:21,757 [INFO] --- Shy A ---
2026-04-10 01:34:22,358 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:34:22,599 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:34:22,602 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:34:22,605 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:34:23,115 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:34:23,622 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:34:24,127 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:34:24,637 [INFO] --- Linda Hayes ---
2026-04-10 01:34:25,095 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:34:25,099 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:34:25,099 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:34:25,604 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:34:26,114 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:34:26,617 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:34:27,122 [INFO] --- Rosemary Rollor ---
2026-04-10 01:34:27,868 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:34:27,875 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:34:27,875 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:34:28,378 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:34:28,885 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:34:29,394 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:34:29,905 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:34:30,758 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:34:31,147 [INFO] ============================================================
2026-04-10 01:34:31,147 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:34:31,147 [INFO] ============================================================
2026-04-10 01:34:31,148 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:31,516 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:34:31,526 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:34:31,526 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:34:31,529 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:31,745 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:33,212 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:34:33,212 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:34,451 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:34:34,452 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:35,407 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:34:35,410 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:36,390 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:34:36,391 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:37,201 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:34:37,202 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:37,455 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:34:38,466 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:34:38,466 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:34:38,466 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:34:41,995 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:34:47,150 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:34:55,839 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:35:01,039 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:35:06,373 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:35:06,375 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:35:06,375 [INFO] --- Dove Johnson ---
2026-04-10 01:35:06,880 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:35:06,884 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:35:06,884 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:35:07,385 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:35:07,891 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:35:08,398 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:35:08,907 [INFO] --- Bruce Weinstein ---
2026-04-10 01:35:09,273 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:35:09,274 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:35:09,276 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:35:09,276 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:35:09,778 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:35:10,290 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:35:10,801 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:35:11,304 [INFO] --- Thomas Affleck ---
2026-04-10 01:35:11,712 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:35:11,712 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:35:11,717 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:35:11,717 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:35:12,227 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:35:12,730 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:35:13,242 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:35:13,747 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:35:14,145 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:35:14,146 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:35:14,148 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:35:14,149 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:35:14,654 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:35:15,163 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:35:15,674 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:35:16,185 [INFO] --- Robert Brinkman ---
2026-04-10 01:35:16,612 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:35:16,612 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:35:16,615 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:35:16,615 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:35:17,125 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:35:17,628 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:35:18,139 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:35:18,649 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:35:19,155 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:35:19,666 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:35:20,176 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:35:20,686 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:35:21,196 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:35:21,704 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:35:22,213 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:35:22,724 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:35:23,230 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:35:23,740 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:35:24,241 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:35:24,749 [INFO] --- Vince Landi ---
2026-04-10 01:35:25,521 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:35:25,523 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:35:25,526 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:35:25,526 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:35:26,037 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:35:26,546 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:35:27,058 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:35:27,564 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:35:28,075 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:35:28,581 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:35:29,091 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:35:29,599 [INFO] --- Lisa Frank ---
2026-04-10 01:35:30,242 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:35:30,244 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:35:30,244 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:35:30,746 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:35:31,248 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:35:31,750 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:35:32,260 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:35:32,770 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:35:33,284 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:35:33,794 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:35:34,302 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:35:34,804 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:35:35,312 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:35:35,819 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:35:36,325 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:35:36,831 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:35:37,337 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:35:37,846 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:35:38,358 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:35:38,878 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:35:38,879 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:35:38,884 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:35:38,884 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:35:39,389 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:35:39,894 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:35:40,396 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:35:40,897 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:35:41,407 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:35:41,916 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:35:42,417 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:35:42,921 [INFO] --- George Simmons ---
2026-04-10 01:35:43,344 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:35:43,345 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:35:43,345 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:35:43,848 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:35:44,355 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:35:44,865 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:35:45,370 [INFO] --- Rajiv Sardana ---
2026-04-10 01:35:45,973 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:35:45,973 [INFO] --- Aiden Sheridan ---
2026-04-10 01:35:46,507 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:35:46,509 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:35:46,509 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:35:47,018 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:35:47,521 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:35:48,026 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:35:48,528 [INFO] --- Scott Karlin ---
2026-04-10 01:35:48,941 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:35:48,943 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:35:48,943 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:35:49,445 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:35:49,955 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:35:50,457 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:35:50,965 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:35:51,474 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:35:51,980 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:35:52,488 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:35:52,996 [INFO] --- Shy A ---
2026-04-10 01:35:53,690 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:35:53,931 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:35:53,934 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:35:53,934 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:35:54,444 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:35:54,955 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:35:55,456 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:35:55,965 [INFO] --- Linda Hayes ---
2026-04-10 01:35:56,478 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:35:56,481 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:35:56,482 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:35:56,992 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:35:57,502 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:35:58,009 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:35:58,518 [INFO] --- Rosemary Rollor ---
2026-04-10 01:35:58,862 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:35:58,864 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:35:58,865 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:35:59,375 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:35:59,885 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:36:00,394 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:36:00,899 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:36:01,892 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:36:02,288 [INFO] ============================================================
2026-04-10 01:36:02,289 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:36:02,289 [INFO] ============================================================
2026-04-10 01:36:02,290 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:02,608 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:36:02,616 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:36:02,616 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:36:02,618 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:02,893 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:03,691 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:36:03,692 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:04,540 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:36:04,541 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:05,496 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:36:05,497 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:06,315 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:36:06,316 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:07,342 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:36:07,342 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:07,595 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:36:08,383 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:36:08,383 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:36:08,383 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:36:11,659 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:36:16,804 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:36:25,712 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:36:30,854 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:36:36,136 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:36:36,138 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:36:36,139 [INFO] --- Dove Johnson ---
2026-04-10 01:36:36,627 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:36:36,628 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:36:36,628 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:36:37,141 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:36:37,645 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:36:38,148 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:36:38,658 [INFO] --- Bruce Weinstein ---
2026-04-10 01:36:39,094 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:36:39,095 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:36:39,099 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:36:39,099 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:36:39,608 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:36:40,117 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:36:40,625 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:36:41,129 [INFO] --- Thomas Affleck ---
2026-04-10 01:36:41,545 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:36:41,545 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:36:41,548 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:36:41,548 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:36:42,056 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:36:42,567 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:36:43,077 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:36:43,587 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:36:43,937 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:36:43,938 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:36:43,940 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:36:43,940 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:36:44,448 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:36:44,950 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:36:45,455 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:36:45,963 [INFO] --- Robert Brinkman ---
2026-04-10 01:36:46,410 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:36:46,410 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:36:46,413 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:36:46,413 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:36:46,924 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:36:47,435 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:36:47,946 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:36:48,457 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:36:48,967 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:36:49,473 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:36:49,975 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:36:50,480 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:36:50,982 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:36:51,486 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:36:51,997 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:36:52,505 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:36:53,010 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:36:53,518 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:36:54,025 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:36:54,530 [INFO] --- Vince Landi ---
2026-04-10 01:36:55,018 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:36:55,018 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:36:55,019 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:36:55,019 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:36:55,520 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:36:56,033 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:36:56,540 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:36:57,040 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:36:57,551 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:36:58,057 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:36:58,564 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:36:59,074 [INFO] --- Lisa Frank ---
2026-04-10 01:36:59,903 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:36:59,909 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:36:59,909 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:37:00,419 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:37:00,927 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:37:01,440 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:37:01,948 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:37:02,459 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:37:02,969 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:37:03,477 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:37:03,987 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:37:04,493 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:37:05,000 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:37:05,507 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:37:06,018 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:37:06,519 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:37:07,025 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:37:07,535 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:37:08,042 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:37:08,459 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:37:08,459 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:37:08,462 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:37:08,462 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:37:08,971 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:37:09,478 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:37:09,990 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:37:10,494 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:37:11,002 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:37:11,513 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:37:12,018 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:37:12,525 [INFO] --- George Simmons ---
2026-04-10 01:37:13,004 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:37:13,009 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:37:13,010 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:37:13,520 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:37:14,034 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:37:14,539 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:37:15,041 [INFO] --- Rajiv Sardana ---
2026-04-10 01:37:15,843 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:37:15,843 [INFO] --- Aiden Sheridan ---
2026-04-10 01:37:16,299 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:37:16,300 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:37:16,300 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:37:16,806 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:37:17,314 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:37:17,824 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:37:18,335 [INFO] --- Scott Karlin ---
2026-04-10 01:37:19,147 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:37:19,150 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:37:19,150 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:37:19,659 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:37:20,166 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:37:20,667 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:37:21,172 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:37:21,677 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:37:22,189 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:37:22,691 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:37:23,192 [INFO] --- Shy A ---
2026-04-10 01:37:23,904 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:37:24,193 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:37:24,195 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:37:24,195 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:37:24,703 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:37:25,215 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:37:25,723 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:37:26,228 [INFO] --- Linda Hayes ---
2026-04-10 01:37:26,632 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:37:26,636 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:37:26,637 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:37:27,147 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:37:27,653 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:37:28,155 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:37:28,663 [INFO] --- Rosemary Rollor ---
2026-04-10 01:37:29,090 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:37:29,092 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:37:29,093 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:37:29,601 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:37:30,110 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:37:30,620 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:37:31,129 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:37:32,775 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:37:33,166 [INFO] ============================================================
2026-04-10 01:37:33,166 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:37:33,166 [INFO] ============================================================
2026-04-10 01:37:33,167 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:33,739 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:37:33,759 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:37:33,759 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:37:33,762 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:33,975 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:34,794 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:37:34,795 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:36,413 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:37:36,414 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:37,111 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:37:37,112 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:37,867 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:37:37,868 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:38,711 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:37:38,712 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:38,939 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:37:39,738 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:37:39,738 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:37:39,738 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:37:43,410 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:37:48,550 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:37:56,774 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:38:01,924 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:38:07,263 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:38:07,270 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:38:07,270 [INFO] --- Dove Johnson ---
2026-04-10 01:38:07,744 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:38:07,747 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:38:07,747 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:38:08,248 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:38:08,759 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:38:09,271 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:38:09,781 [INFO] --- Bruce Weinstein ---
2026-04-10 01:38:10,161 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:38:10,161 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:38:10,162 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:38:10,162 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:38:10,676 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:38:11,187 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:38:11,688 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:38:12,194 [INFO] --- Thomas Affleck ---
2026-04-10 01:38:12,597 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:38:12,597 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:38:12,602 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:38:12,602 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:38:13,112 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:38:13,623 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:38:14,133 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:38:14,644 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:38:15,044 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:38:15,045 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:38:15,048 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:38:15,048 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:38:15,558 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:38:16,062 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:38:16,572 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:38:17,074 [INFO] --- Robert Brinkman ---
2026-04-10 01:38:17,491 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:38:17,491 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:38:17,493 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:38:17,494 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:38:17,996 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:38:18,504 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:38:19,014 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:38:19,522 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:38:20,033 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:38:20,540 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:38:21,048 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:38:21,554 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:38:22,054 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:38:22,564 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:38:23,072 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:38:23,581 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:38:24,085 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:38:24,599 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:38:25,107 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:38:25,609 [INFO] --- Vince Landi ---
2026-04-10 01:38:26,044 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:38:26,044 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:38:26,047 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:38:26,047 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:38:26,552 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:38:27,059 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:38:27,571 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:38:28,074 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:38:28,586 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:38:29,097 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:38:29,608 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:38:30,118 [INFO] --- Lisa Frank ---
2026-04-10 01:38:30,606 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:38:30,609 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:38:30,609 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:38:31,111 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:38:31,619 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:38:32,127 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:38:32,638 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:38:33,146 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:38:33,656 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:38:34,160 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:38:34,669 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:38:35,173 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:38:35,680 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:38:36,192 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:38:36,701 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:38:37,212 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:38:37,714 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:38:38,223 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:38:38,725 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:38:39,175 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:38:39,175 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:38:39,176 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:38:39,176 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:38:39,686 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:38:40,195 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:38:40,700 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:38:41,204 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:38:41,715 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:38:42,224 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:38:42,728 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:38:43,233 [INFO] --- George Simmons ---
2026-04-10 01:38:43,742 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:38:43,744 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:38:43,744 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:38:44,247 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:38:44,757 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:38:45,267 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:38:45,775 [INFO] --- Rajiv Sardana ---
2026-04-10 01:38:46,331 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:38:46,331 [INFO] --- Aiden Sheridan ---
2026-04-10 01:38:46,741 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:38:46,745 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:38:46,745 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:38:47,255 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:38:47,759 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:38:48,268 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:38:48,776 [INFO] --- Scott Karlin ---
2026-04-10 01:38:49,125 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:38:49,128 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:38:49,128 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:38:49,639 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:38:50,143 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:38:50,646 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:38:51,151 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:38:51,662 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:38:52,171 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:38:52,678 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:38:53,182 [INFO] --- Shy A ---
2026-04-10 01:38:53,917 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:38:54,075 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:38:54,078 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:38:54,078 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:38:54,583 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:38:55,094 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:38:55,596 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:38:56,105 [INFO] --- Linda Hayes ---
2026-04-10 01:38:56,512 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:38:56,515 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:38:56,515 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:38:57,021 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:38:57,528 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:38:58,034 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:38:58,542 [INFO] --- Rosemary Rollor ---
2026-04-10 01:38:58,909 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:38:58,912 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:38:58,912 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:38:59,417 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:38:59,918 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:39:00,429 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:39:00,937 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:39:02,107 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:39:02,496 [INFO] ============================================================
2026-04-10 01:39:02,496 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-10 01:39:02,496 [INFO] ============================================================
2026-04-10 01:39:02,497 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:05,774 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:39:05,785 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:39:05,790 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:39:05,792 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:05,993 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:07,045 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:39:07,046 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:07,984 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:39:07,985 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:08,785 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:39:08,786 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:09,583 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:39:09,584 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:10,281 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:39:10,281 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:10,445 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:39:11,329 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:39:11,330 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:39:11,330 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:39:15,310 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:39:20,523 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:39:29,201 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:39:34,366 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:39:39,908 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:39:39,909 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:39:39,909 [INFO] --- Dove Johnson ---
2026-04-10 01:39:40,323 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:39:40,325 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:39:40,325 [INFO] [DRY RUN] 2026-04-29T11:00:00
2026-04-10 01:39:40,832 [INFO] [DRY RUN] 2026-05-06T10:00:00
2026-04-10 01:39:41,343 [INFO] [DRY RUN] 2026-05-13T10:00:00
2026-04-10 01:39:41,855 [INFO] [DRY RUN] 2026-05-20T10:00:00
2026-04-10 01:39:42,365 [INFO] --- Bruce Weinstein ---
2026-04-10 01:39:42,764 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:39:42,765 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:39:42,768 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:39:42,773 [INFO] [DRY RUN] 2026-04-30T10:00:00
2026-04-10 01:39:43,278 [INFO] [DRY RUN] 2026-05-06T13:00:00
2026-04-10 01:39:43,788 [INFO] [DRY RUN] 2026-05-13T10:30:00
2026-04-10 01:39:44,294 [INFO] [DRY RUN] 2026-05-20T10:30:00
2026-04-10 01:39:44,805 [INFO] --- Thomas Affleck ---
2026-04-10 01:39:45,236 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:39:45,236 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:39:45,239 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:39:45,239 [INFO] [DRY RUN] 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:39:45,745 [INFO] [DRY RUN] 2026-06-03T10:00:00
2026-04-10 01:39:46,253 [INFO] [DRY RUN] 2026-06-17T10:00:00
2026-04-10 01:39:46,756 [INFO] [DRY RUN] 2026-07-01T10:00:00
2026-04-10 01:39:47,256 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:39:47,666 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:39:47,666 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:39:47,673 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 3 PT-adjacent)
2026-04-10 01:39:47,674 [INFO] [DRY RUN] 2026-05-06T14:00:00 ← PT at 15:00 (60 min gap)
2026-04-10 01:39:48,182 [INFO] [DRY RUN] 2026-05-14T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:39:48,695 [INFO] [DRY RUN] 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:39:49,205 [INFO] [DRY RUN] 2026-06-01T10:00:00
2026-04-10 01:39:49,708 [INFO] --- Robert Brinkman ---
2026-04-10 01:39:50,087 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:39:50,087 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:39:50,089 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 4 PT-adjacent)
2026-04-10 01:39:50,090 [INFO] [DRY RUN] 2026-05-13T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:39:50,592 [INFO] [DRY RUN] 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:39:51,102 [INFO] [DRY RUN] 2026-05-25T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:39:51,610 [INFO] [DRY RUN] 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:39:52,118 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-10 01:39:52,627 [INFO] [DRY RUN] 2026-06-01T10:30:00
2026-04-10 01:39:53,138 [INFO] [DRY RUN] 2026-06-03T10:30:00
2026-04-10 01:39:53,642 [INFO] [DRY RUN] 2026-06-05T12:00:00
2026-04-10 01:39:54,154 [INFO] [DRY RUN] 2026-06-08T10:00:00
2026-04-10 01:39:54,663 [INFO] [DRY RUN] 2026-06-10T10:00:00
2026-04-10 01:39:55,165 [INFO] [DRY RUN] 2026-06-12T12:00:00
2026-04-10 01:39:55,667 [INFO] [DRY RUN] 2026-06-15T10:00:00
2026-04-10 01:39:56,171 [INFO] [DRY RUN] 2026-06-17T10:30:00
2026-04-10 01:39:56,679 [INFO] [DRY RUN] 2026-06-19T12:00:00
2026-04-10 01:39:57,182 [INFO] [DRY RUN] 2026-06-22T14:00:00
2026-04-10 01:39:57,682 [INFO] [DRY RUN] 2026-06-24T10:00:00
2026-04-10 01:39:58,190 [INFO] --- Vince Landi ---
2026-04-10 01:39:58,567 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:39:58,569 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:39:58,572 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:39:58,572 [INFO] [DRY RUN] 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:39:59,083 [INFO] [DRY RUN] 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:39:59,587 [INFO] [DRY RUN] 2026-06-03T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:40:00,097 [INFO] [DRY RUN] 2026-06-10T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:40:00,598 [INFO] [DRY RUN] 2026-06-17T11:00:00 ← PT at 10:00 (60 min gap)
2026-04-10 01:40:01,102 [INFO] [DRY RUN] 2026-06-24T10:30:00 ← PT at 10:00 (30 min gap)
2026-04-10 01:40:01,607 [INFO] [DRY RUN] 2026-06-26T12:00:00
2026-04-10 01:40:02,115 [INFO] [DRY RUN] 2026-06-29T10:00:00
2026-04-10 01:40:02,626 [INFO] --- Lisa Frank ---
2026-04-10 01:40:03,144 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:40:03,146 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:40:03,146 [INFO] [DRY RUN] 2026-04-13T10:00:00
2026-04-10 01:40:03,656 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-10 01:40:04,167 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-10 01:40:04,673 [INFO] [DRY RUN] 2026-05-04T10:00:00
2026-04-10 01:40:05,182 [INFO] [DRY RUN] 2026-05-06T13:30:00
2026-04-10 01:40:05,691 [INFO] [DRY RUN] 2026-05-08T12:00:00
2026-04-10 01:40:06,201 [INFO] [DRY RUN] 2026-05-11T10:00:00
2026-04-10 01:40:06,711 [INFO] [DRY RUN] 2026-05-13T11:00:00
2026-04-10 01:40:07,213 [INFO] [DRY RUN] 2026-05-15T12:00:00
2026-04-10 01:40:07,719 [INFO] [DRY RUN] 2026-05-18T10:00:00
2026-04-10 01:40:08,222 [INFO] [DRY RUN] 2026-05-20T11:00:00
2026-04-10 01:40:08,732 [INFO] [DRY RUN] 2026-05-22T12:00:00
2026-04-10 01:40:09,243 [INFO] [DRY RUN] 2026-05-25T10:00:00
2026-04-10 01:40:09,753 [INFO] [DRY RUN] 2026-05-27T10:30:00
2026-04-10 01:40:10,257 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-10 01:40:10,768 [INFO] [DRY RUN] 2026-06-01T11:00:00
2026-04-10 01:40:11,274 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:40:11,650 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:40:11,657 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:40:11,661 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 8 PT-adjacent)
2026-04-10 01:40:11,661 [INFO] [DRY RUN] 2026-05-08T12:30:00 ← PT at 11:00 (90 min gap)
2026-04-10 01:40:12,171 [INFO] [DRY RUN] 2026-05-11T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:40:12,679 [INFO] [DRY RUN] 2026-05-25T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:40:13,189 [INFO] [DRY RUN] 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:40:13,699 [INFO] [DRY RUN] 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:40:14,210 [INFO] [DRY RUN] 2026-06-08T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:40:14,724 [INFO] [DRY RUN] 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:40:15,237 [INFO] [DRY RUN] 2026-06-15T10:30:00 ← PT at 09:00 (90 min gap)
2026-04-10 01:40:15,745 [INFO] --- George Simmons ---
2026-04-10 01:40:16,154 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:40:16,157 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:40:16,157 [INFO] [DRY RUN] 2026-05-04T10:30:00
2026-04-10 01:40:16,665 [INFO] [DRY RUN] 2026-05-11T11:00:00
2026-04-10 01:40:17,173 [INFO] [DRY RUN] 2026-05-20T11:30:00
2026-04-10 01:40:17,675 [INFO] [DRY RUN] 2026-05-27T11:00:00
2026-04-10 01:40:18,179 [INFO] --- Rajiv Sardana ---
2026-04-10 01:40:20,417 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:40:20,418 [INFO] --- Aiden Sheridan ---
2026-04-10 01:40:20,836 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:40:20,838 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:40:20,838 [INFO] [DRY RUN] 2026-05-08T13:00:00
2026-04-10 01:40:21,339 [INFO] [DRY RUN] 2026-05-15T13:00:00
2026-04-10 01:40:21,842 [INFO] [DRY RUN] 2026-05-22T12:30:00
2026-04-10 01:40:22,352 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-10 01:40:22,855 [INFO] --- Scott Karlin ---
2026-04-10 01:40:23,222 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:40:23,225 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:40:23,225 [INFO] [DRY RUN] 2026-05-04T11:00:00
2026-04-10 01:40:23,733 [INFO] [DRY RUN] 2026-05-07T10:00:00
2026-04-10 01:40:24,237 [INFO] [DRY RUN] 2026-05-11T13:00:00
2026-04-10 01:40:24,746 [INFO] [DRY RUN] 2026-05-13T12:00:00
2026-04-10 01:40:25,256 [INFO] [DRY RUN] 2026-05-15T13:30:00
2026-04-10 01:40:25,767 [INFO] [DRY RUN] 2026-05-20T12:00:00
2026-04-10 01:40:26,274 [INFO] [DRY RUN] 2026-05-22T13:00:00
2026-04-10 01:40:26,782 [INFO] [DRY RUN] 2026-05-25T11:00:00
2026-04-10 01:40:27,285 [INFO] --- Shy A ---
2026-04-10 01:40:27,890 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:40:28,063 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:40:28,066 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:40:28,066 [INFO] [DRY RUN] 2026-05-25T12:00:00
2026-04-10 01:40:28,576 [INFO] [DRY RUN] 2026-06-01T11:30:00
2026-04-10 01:40:29,084 [INFO] [DRY RUN] 2026-06-08T11:00:00
2026-04-10 01:40:29,590 [INFO] [DRY RUN] 2026-06-15T11:00:00
2026-04-10 01:40:30,100 [INFO] --- Linda Hayes ---
2026-04-10 01:40:30,557 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:40:30,560 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:40:30,560 [INFO] [DRY RUN] 2026-05-07T10:30:00
2026-04-10 01:40:31,062 [INFO] [DRY RUN] 2026-05-13T12:30:00
2026-04-10 01:40:31,572 [INFO] [DRY RUN] 2026-05-20T12:30:00
2026-04-10 01:40:32,080 [INFO] [DRY RUN] 2026-05-27T12:00:00
2026-04-10 01:40:32,590 [INFO] --- Rosemary Rollor ---
2026-04-10 01:40:33,050 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:40:33,054 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:40:33,054 [INFO] [DRY RUN] 2026-05-07T11:00:00
2026-04-10 01:40:33,564 [INFO] [DRY RUN] 2026-05-13T13:00:00
2026-04-10 01:40:34,072 [INFO] [DRY RUN] 2026-05-20T13:00:00
2026-04-10 01:40:34,580 [INFO] [DRY RUN] 2026-05-27T12:30:00
2026-04-10 01:40:35,091 [INFO] 📅 Extension Check [DRY RUN] — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/6–6/1) | 3/4 next to PT
• Robert Brinkman — 16 sessions (5/13–6/24) | 4/16 next to PT
• Vince Landi — 8 sessions (5/15–6/29) | 6/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–6/15) | 8/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/1)
• George Simmons — 4 sessions (5/4–5/27)
• Aiden Sheridan — 4 sessions (5/8–5/29)
• Scott Karlin — 8 sessions (5/4–5/25)
• Shy A — 4 sessions (5/25–6/15)
• Linda Hayes — 4 sessions (5/7–5/27)
• Rosemary Rollor — 4 sessions (5/7–5/27)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 22/44 sessions placed adjacent to PT across 6 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-10 01:40:35,933 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:42:23,092 [INFO] ============================================================
2026-04-10 01:42:23,092 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-10 01:42:23,092 [INFO] ============================================================
2026-04-10 01:42:23,094 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:23,552 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:42:23,560 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:42:23,561 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:42:23,563 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:23,785 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:24,693 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:42:24,694 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:25,619 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:42:25,620 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:26,421 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:42:26,422 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:27,256 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:42:27,257 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:27,962 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:42:27,963 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:28,130 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:42:28,873 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:42:28,874 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:42:28,874 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:42:32,308 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:42:37,444 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:42:46,674 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:42:51,848 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:42:57,193 [INFO] Adult: 504 slots on 73 days | Myo: 504 slots on 73 days
2026-04-10 01:42:57,194 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:42:57,194 [INFO] --- Dove Johnson ---
2026-04-10 01:42:57,655 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:42:57,659 [INFO] GHL: Iloc5d41W2kyjqlB4WYS | Booking 4 slots (no PT coordination)
2026-04-10 01:42:58,288 [INFO] Booked 2026-04-29T11:00:00 → appt hkAai7vJqKal53Gl5gnS
2026-04-10 01:42:58,289 [INFO] ✓ Booked 2026-04-29T11:00:00
2026-04-10 01:42:59,891 [INFO] Booked 2026-05-06T10:00:00 → appt i3TcRHl9f9PfuVAAQtoo
2026-04-10 01:42:59,892 [INFO] ✓ Booked 2026-05-06T10:00:00
2026-04-10 01:43:02,043 [INFO] Booked 2026-05-13T10:00:00 → appt mMLe4KTQlSPejmtrfpIg
2026-04-10 01:43:02,043 [INFO] ✓ Booked 2026-05-13T10:00:00
2026-04-10 01:43:03,596 [INFO] Booked 2026-05-20T10:00:00 → appt G2Ss6uOwA6OH1hlNuYlH
2026-04-10 01:43:03,597 [INFO] ✓ Booked 2026-05-20T10:00:00
2026-04-10 01:43:04,603 [INFO] --- Bruce Weinstein ---
2026-04-10 01:43:04,989 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:43:04,989 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-10 01:43:04,992 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 4 slots (no PT coordination)
2026-04-10 01:43:05,705 [INFO] Booked 2026-04-30T10:00:00 → appt 1auS0w8mSkVpfmwPybAy
2026-04-10 01:43:05,705 [INFO] ✓ Booked 2026-04-30T10:00:00
2026-04-10 01:43:07,656 [INFO] Booked 2026-05-06T13:00:00 → appt VSkCrsLqC6et7NAyz6YQ
2026-04-10 01:43:07,656 [INFO] ✓ Booked 2026-05-06T13:00:00
2026-04-10 01:43:09,230 [INFO] Booked 2026-05-13T11:30:00 → appt 4g9CGJHKiv57WZ3VTAmW
2026-04-10 01:43:09,230 [INFO] ✓ Booked 2026-05-13T11:30:00
2026-04-10 01:43:11,010 [INFO] Booked 2026-05-20T11:30:00 → appt MMtGjkvsEOw2vSunFP6q
2026-04-10 01:43:11,011 [INFO] ✓ Booked 2026-05-20T11:30:00
2026-04-10 01:43:12,014 [INFO] --- Thomas Affleck ---
2026-04-10 01:43:12,518 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-10 01:43:12,518 [INFO] Extension: EOW → 4 sessions, interval=14d | calendar=adult | PT=yes (13 days)
2026-04-10 01:43:12,521 [INFO] GHL: 5QjgzyS547Y0NllYuXBz | Booking 4 slots (incl. 1 PT-adjacent)
2026-04-10 01:43:14,006 [INFO] Booked 2026-05-21T13:30:00 → appt DNzX2eNZowZZ7gJMtkJT
2026-04-10 01:43:14,007 [INFO] ✓ Booked 2026-05-21T13:30:00 ← PT at 15:00 (90 min gap)
2026-04-10 01:43:15,601 [INFO] Booked 2026-06-03T10:00:00 → appt cf28Ylcu3nREmvKC2AEl
2026-04-10 01:43:15,602 [INFO] ✓ Booked 2026-06-03T10:00:00
2026-04-10 01:43:17,270 [INFO] Booked 2026-06-17T10:00:00 → appt Uv5YSSu18cI9ZvxRfuLs
2026-04-10 01:43:17,271 [INFO] ✓ Booked 2026-06-17T10:00:00
2026-04-10 01:43:18,852 [INFO] Booked 2026-07-01T10:00:00 → appt GfJ5gBC9JTKN1cW2SOLD
2026-04-10 01:43:18,852 [INFO] ✓ Booked 2026-07-01T10:00:00
2026-04-10 01:43:19,861 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:43:20,359 [INFO] PT patient — prefer days: [0, 1, 2, 3, 4]
2026-04-10 01:43:20,359 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=yes (13 days)
2026-04-10 01:43:20,362 [INFO] GHL: 7FMZEroTNezYyoEezUmy | Booking 4 slots (incl. 2 PT-adjacent)
2026-04-10 01:43:20,944 [INFO] Booked 2026-05-11T13:00:00 → appt nsFGOwJWhYu6gAcXLG2r
2026-04-10 01:43:20,944 [INFO] ✓ Booked 2026-05-11T13:00:00 ← PT at 14:00 (60 min gap)
2026-04-10 01:43:22,431 [INFO] Booked 2026-05-25T12:30:00 → appt wR8zyrTWOIpJO4u1YiGW
2026-04-10 01:43:22,431 [INFO] ✓ Booked 2026-05-25T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:43:24,341 [INFO] Booked 2026-06-01T10:00:00 → appt hp1dYjanz5vby2WpuAzb
2026-04-10 01:43:24,342 [INFO] ✓ Booked 2026-06-01T10:00:00
2026-04-10 01:43:25,934 [INFO] Booked 2026-06-08T10:00:00 → appt tXxU7aq9I9Qy5Iz0GXfd
2026-04-10 01:43:25,935 [INFO] ✓ Booked 2026-06-08T10:00:00
2026-04-10 01:43:26,943 [INFO] --- Robert Brinkman ---
2026-04-10 01:43:27,546 [INFO] PT patient — prefer days: [0, 2, 4]
2026-04-10 01:43:27,546 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:43:27,551 [INFO] GHL: 8OhlcCSVU72fWqXTzVJ0 | Booking 16 slots (incl. 3 PT-adjacent)
2026-04-10 01:43:30,501 [INFO] Booked 2026-05-18T12:30:00 → appt Ed8fCwreB0FUGm7yWMqI
2026-04-10 01:43:30,502 [INFO] ✓ Booked 2026-05-18T12:30:00 ← PT at 14:00 (90 min gap)
2026-04-10 01:43:31,979 [INFO] Booked 2026-05-25T11:00:00 → appt JZfQCtCJME8tZ62X6i3G
2026-04-10 01:43:31,979 [INFO] ✓ Booked 2026-05-25T11:00:00 ← PT at 12:00 (60 min gap)
2026-04-10 01:43:33,671 [INFO] Booked 2026-05-27T11:30:00 → appt fBSHVZVzHL8YkyUmea0p
2026-04-10 01:43:33,671 [INFO] ✓ Booked 2026-05-27T11:30:00 ← PT at 12:00 (30 min gap)
2026-04-10 01:43:35,516 [INFO] Booked 2026-05-29T12:30:00 → appt PAXjaopVOaJTVPhEck0P
2026-04-10 01:43:35,516 [INFO] ✓ Booked 2026-05-29T12:30:00
2026-04-10 01:43:37,422 [INFO] Booked 2026-06-01T11:30:00 → appt F9RnaYVLDqcuEtNCjjfQ
2026-04-10 01:43:37,423 [INFO] ✓ Booked 2026-06-01T11:30:00
2026-04-10 01:43:38,954 [INFO] Booked 2026-06-03T11:30:00 → appt rwJ3IHJopUwgKuqIXVyW
2026-04-10 01:43:38,954 [INFO] ✓ Booked 2026-06-03T11:30:00
2026-04-10 01:43:41,519 [INFO] Booked 2026-06-05T12:00:00 → appt DWi2YOeO0sX9si7IBnXz
2026-04-10 01:43:41,519 [INFO] ✓ Booked 2026-06-05T12:00:00
2026-04-10 01:43:43,091 [INFO] Booked 2026-06-08T11:30:00 → appt cIQcICywF9xuyuyrl0va
2026-04-10 01:43:43,092 [INFO] ✓ Booked 2026-06-08T11:30:00
2026-04-10 01:43:44,669 [INFO] Booked 2026-06-10T10:00:00 → appt c6j5XvHb2DDL0YCO3Bws
2026-04-10 01:43:44,670 [INFO] ✓ Booked 2026-06-10T10:00:00
2026-04-10 01:43:46,251 [INFO] Booked 2026-06-12T12:00:00 → appt g27bCKQHiiKp2689jLHY
2026-04-10 01:43:46,251 [INFO] ✓ Booked 2026-06-12T12:00:00
2026-04-10 01:43:47,917 [INFO] Booked 2026-06-15T10:00:00 → appt e65sCiIhUSMeyAkfIulW
2026-04-10 01:43:47,918 [INFO] ✓ Booked 2026-06-15T10:00:00
2026-04-10 01:43:49,417 [INFO] Booked 2026-06-17T11:30:00 → appt 7UFZpFAQkhsqtgSdxF2E
2026-04-10 01:43:49,418 [INFO] ✓ Booked 2026-06-17T11:30:00
2026-04-10 01:43:50,971 [INFO] Booked 2026-06-19T12:00:00 → appt 15BMphGJROmUiBSP7w7l
2026-04-10 01:43:50,972 [INFO] ✓ Booked 2026-06-19T12:00:00
2026-04-10 01:43:52,526 [INFO] Booked 2026-06-22T14:00:00 → appt dkYVmoFWfQNFWj1Y7azb
2026-04-10 01:43:52,526 [INFO] ✓ Booked 2026-06-22T14:00:00
2026-04-10 01:43:54,138 [INFO] Booked 2026-06-24T10:00:00 → appt qOJrYYjRPv7EDsNCreP5
2026-04-10 01:43:54,138 [INFO] ✓ Booked 2026-06-24T10:00:00
2026-04-10 01:43:55,684 [INFO] Booked 2026-06-26T12:00:00 → appt jhZS35Z9VnaLCEcvDQGX
2026-04-10 01:43:55,684 [INFO] ✓ Booked 2026-06-26T12:00:00
2026-04-10 01:43:56,691 [INFO] --- Vince Landi ---
2026-04-10 01:43:57,242 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-10 01:43:57,242 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-10 01:43:57,246 [INFO] GHL: CNkiDb5dw7v24PqH8j17 | Booking 8 slots (incl. 4 PT-adjacent)
2026-04-10 01:43:57,790 [INFO] Booked 2026-05-15T12:30:00 → appt 8f7J8BaiTJei9o3H9cDF
2026-04-10 01:43:57,790 [INFO] ✓ Booked 2026-05-15T12:30:00 ← PT at 13:00 (30 min gap)
2026-04-10 01:43:59,739 [INFO] Booked 2026-05-27T10:00:00 → appt yTnCsjrTFaKNAlTasAHI
2026-04-10 01:43:59,740 [INFO] ✓ Booked 2026-05-27T10:00:00 ← PT at 10:00 (0 min gap)
2026-04-10 01:44:01,529 [INFO] Booked 2026-06-10T11:30:00 → appt NqMju5pjL9hlcM9DN8y2
2026-04-10 01:44:01,530 [INFO] ✓ Booked 2026-06-10T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 01:44:03,132 [INFO] Booked 2026-06-24T11:30:00 → appt VVeFAnNvIgGiqGmC0agl
2026-04-10 01:44:03,133 [INFO] ✓ Booked 2026-06-24T11:30:00 ← PT at 10:00 (90 min gap)
2026-04-10 01:44:04,649 [INFO] Booked 2026-06-26T13:30:00 → appt CMCiYn7krmtYO7vsMajM
2026-04-10 01:44:04,650 [INFO] ✓ Booked 2026-06-26T13:30:00
2026-04-10 01:44:06,162 [INFO] Booked 2026-06-29T10:00:00 → appt C6WLNirwaXIHl6tKcErE
2026-04-10 01:44:06,165 [INFO] ✓ Booked 2026-06-29T10:00:00
2026-04-10 01:44:07,725 [INFO] Booked 2026-07-01T11:30:00 → appt BBEdSarAZB2qnI8qeS1I
2026-04-10 01:44:07,726 [INFO] ✓ Booked 2026-07-01T11:30:00
2026-04-10 01:44:09,511 [INFO] Booked 2026-07-03T10:00:00 → appt Oy62e12tbUpVLswyRwh7
2026-04-10 01:44:09,512 [INFO] ✓ Booked 2026-07-03T10:00:00
2026-04-10 01:44:10,517 [INFO] --- Lisa Frank ---
2026-04-10 01:44:11,144 [INFO] Extension: → 16 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:44:11,146 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 16 slots (no PT coordination)
2026-04-10 01:44:11,733 [INFO] Booked 2026-04-13T10:00:00 → appt IITTJpXiWqsNh71hKrVg
2026-04-10 01:44:11,733 [INFO] ✓ Booked 2026-04-13T10:00:00
2026-04-10 01:44:13,315 [INFO] Booked 2026-04-20T10:00:00 → appt MrjUPetJBMZMBtD2PAs0
2026-04-10 01:44:13,315 [INFO] ✓ Booked 2026-04-20T10:00:00
2026-04-10 01:44:14,960 [INFO] Booked 2026-05-01T14:00:00 → appt xGri7wdtPnCP6W6alS5M
2026-04-10 01:44:14,960 [INFO] ✓ Booked 2026-05-01T14:00:00
2026-04-10 01:44:16,716 [INFO] Booked 2026-05-04T10:00:00 → appt ujx3hYkfl5cYoSNHflVC
2026-04-10 01:44:16,717 [INFO] ✓ Booked 2026-05-04T10:00:00
2026-04-10 01:44:18,419 [INFO] Booked 2026-05-07T10:00:00 → appt dDCqp5UNV155Na0uCi2N
2026-04-10 01:44:18,420 [INFO] ✓ Booked 2026-05-07T10:00:00
2026-04-10 01:44:20,376 [INFO] Booked 2026-05-11T10:00:00 → appt E9zBJFdD7EzhUYniHz64
2026-04-10 01:44:20,376 [INFO] ✓ Booked 2026-05-11T10:00:00
2026-04-10 01:44:22,116 [INFO] Booked 2026-05-13T13:00:00 → appt x1iD9HE32VQ7EKhkJORi
2026-04-10 01:44:22,116 [INFO] ✓ Booked 2026-05-13T13:00:00
2026-04-10 01:44:23,696 [INFO] Booked 2026-05-15T14:00:00 → appt S07OYDQf8eBOEGyQ2HUR
2026-04-10 01:44:23,697 [INFO] ✓ Booked 2026-05-15T14:00:00
2026-04-10 01:44:25,368 [INFO] Booked 2026-05-18T10:00:00 → appt d3LUdIdb0dMzDeqznA3E
2026-04-10 01:44:25,368 [INFO] ✓ Booked 2026-05-18T10:00:00
2026-04-10 01:44:27,022 [INFO] Booked 2026-05-20T13:00:00 → appt GW5ZDri6y1oGDPURxScB
2026-04-10 01:44:27,022 [INFO] ✓ Booked 2026-05-20T13:00:00
2026-04-10 01:44:29,960 [INFO] Booked 2026-05-22T12:00:00 → appt 4WKs0N4uGxBPipnCpyky
2026-04-10 01:44:29,961 [INFO] ✓ Booked 2026-05-22T12:00:00
2026-04-10 01:44:31,587 [INFO] Booked 2026-05-25T14:00:00 → appt NqPyTq6NyY5kbS28zk6t
2026-04-10 01:44:31,587 [INFO] ✓ Booked 2026-05-25T14:00:00
2026-04-10 01:44:34,213 [INFO] Booked 2026-05-27T13:00:00 → appt 55WkLjomt4RjsEJrvxP7
2026-04-10 01:44:34,213 [INFO] ✓ Booked 2026-05-27T13:00:00
2026-04-10 01:44:35,937 [INFO] Booked 2026-05-29T14:00:00 → appt sqvtrG3OSjDUdw2ZmpiJ
2026-04-10 01:44:35,938 [INFO] ✓ Booked 2026-05-29T14:00:00
2026-04-10 01:44:37,723 [INFO] Booked 2026-06-01T13:00:00 → appt gU97fWjVF6Yst0I35A7M
2026-04-10 01:44:37,723 [INFO] ✓ Booked 2026-06-01T13:00:00
2026-04-10 01:44:39,340 [INFO] Booked 2026-06-03T13:00:00 → appt UwYGXr9Za55ItzZRFBdI
2026-04-10 01:44:39,341 [INFO] ✓ Booked 2026-06-03T13:00:00
2026-04-10 01:44:40,341 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:44:41,156 [INFO] PT patient — prefer days: [0, 2, 3, 4]
2026-04-10 01:44:41,156 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (17 days)
2026-04-10 01:44:41,158 [INFO] GHL: gL3SUjqXmSSHFczOeZ1i | Booking 8 slots (incl. 6 PT-adjacent)
2026-04-10 01:44:42,542 [INFO] Booked 2026-05-08T12:00:00 → appt NfD0HnRYXUxfAeK48sjy
2026-04-10 01:44:42,543 [INFO] ✓ Booked 2026-05-08T12:00:00 ← PT at 11:00 (60 min gap)
2026-04-10 01:44:44,439 [INFO] Booked 2026-05-28T10:00:00 → appt NJ2aYAT0hRbt6xtEx5rd
2026-04-10 01:44:44,440 [INFO] ✓ Booked 2026-05-28T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:44:46,002 [INFO] Booked 2026-06-04T10:00:00 → appt Eo2w755oq8D1IvUuPe06
2026-04-10 01:44:46,002 [INFO] ✓ Booked 2026-06-04T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:44:47,603 [INFO] Booked 2026-06-11T10:00:00 → appt EUSmszTzetqovD5NP02W
2026-04-10 01:44:47,603 [INFO] ✓ Booked 2026-06-11T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:44:49,206 [INFO] Booked 2026-06-18T10:00:00 → appt a3Id3PNhdY6mJJ55VAXo
2026-04-10 01:44:49,206 [INFO] ✓ Booked 2026-06-18T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:44:50,769 [INFO] Booked 2026-06-25T10:00:00 → appt YJyoVFkXqoFg0MFmQ970
2026-04-10 01:44:50,770 [INFO] ✓ Booked 2026-06-25T10:00:00 ← PT at 09:00 (60 min gap)
2026-04-10 01:44:53,620 [INFO] Booked 2026-06-29T11:30:00 → appt XhAwFnIGTUpWtoqcSV2c
2026-04-10 01:44:53,620 [INFO] ✓ Booked 2026-06-29T11:30:00
2026-04-10 01:44:55,181 [INFO] Booked 2026-07-01T13:00:00 → appt YbBCzhiUO5JO20Ra04uj
2026-04-10 01:44:55,181 [INFO] ✓ Booked 2026-07-01T13:00:00
2026-04-10 01:44:56,190 [INFO] --- George Simmons ---
2026-04-10 01:44:56,668 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:44:56,670 [INFO] GHL: f8cHMRBfukKZ0gK3irc5 | Booking 4 slots (no PT coordination)
2026-04-10 01:44:57,233 [INFO] Booked 2026-05-08T13:30:00 → appt QvZCGsATEnl5lYr9eOyU
2026-04-10 01:44:57,233 [INFO] ✓ Booked 2026-05-08T13:30:00
2026-04-10 01:44:58,869 [INFO] Booked 2026-05-22T13:30:00 → appt Bq5pXy1h0qrWKQw9FWYm
2026-04-10 01:44:58,869 [INFO] ✓ Booked 2026-05-22T13:30:00
2026-04-10 01:45:00,484 [INFO] Booked 2026-06-05T13:30:00 → appt 39xUKhFGx4C9JqkcuAxg
2026-04-10 01:45:00,485 [INFO] ✓ Booked 2026-06-05T13:30:00
2026-04-10 01:45:02,101 [INFO] Booked 2026-06-12T13:30:00 → appt 030uudeIRFUnvu2wGM2B
2026-04-10 01:45:02,101 [INFO] ✓ Booked 2026-06-12T13:30:00
2026-04-10 01:45:03,110 [INFO] --- Rajiv Sardana ---
2026-04-10 01:45:04,502 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:45:04,503 [INFO] --- Aiden Sheridan ---
2026-04-10 01:45:04,883 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:45:04,884 [INFO] GHL: WLqLpR4lbUTlmd3iKcSU | Booking 4 slots (no PT coordination)
2026-04-10 01:45:05,831 [INFO] Booked 2026-06-19T13:30:00 → appt QjYJbKwfgVbvBes7wAic
2026-04-10 01:45:05,832 [INFO] ✓ Booked 2026-06-19T13:30:00
2026-04-10 01:45:07,495 [INFO] Booked 2026-07-03T11:30:00 → appt kELxkPn4oHNuZJObHeaC
2026-04-10 01:45:07,496 [INFO] ✓ Booked 2026-07-03T11:30:00
2026-04-10 01:45:09,232 [INFO] Booked 2026-07-10T12:00:00 → appt XTvzlTX21NpCRw7nTRc0
2026-04-10 01:45:09,233 [INFO] ✓ Booked 2026-07-10T12:00:00
2026-04-10 01:45:11,249 [INFO] Booked 2026-07-17T12:00:00 → appt 6itdVeizM5JgqRL2i48K
2026-04-10 01:45:11,250 [INFO] ✓ Booked 2026-07-17T12:00:00
2026-04-10 01:45:12,260 [INFO] --- Scott Karlin ---
2026-04-10 01:45:12,892 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-10 01:45:12,893 [INFO] GHL: SqQUvC96tkZM4tNL3bcR | Booking 8 slots (no PT coordination)
2026-04-10 01:45:13,509 [INFO] Booked 2026-05-14T10:00:00 → appt Xa3tBnA5NSSltEgzRTd1
2026-04-10 01:45:13,510 [INFO] ✓ Booked 2026-05-14T10:00:00
2026-04-10 01:45:15,087 [INFO] Booked 2026-05-21T10:00:00 → appt AM0qo6WGqjQSmvgCYz1C
2026-04-10 01:45:15,088 [INFO] ✓ Booked 2026-05-21T10:00:00
2026-04-10 01:45:17,535 [INFO] Booked 2026-05-28T11:30:00 → appt SL40wFSF4xIiioAAMnNc
2026-04-10 01:45:17,536 [INFO] ✓ Booked 2026-05-28T11:30:00
2026-04-10 01:45:19,196 [INFO] Booked 2026-06-04T11:30:00 → appt fsDZCPebTGPS7lrOvbOT
2026-04-10 01:45:19,198 [INFO] ✓ Booked 2026-06-04T11:30:00
2026-04-10 01:45:20,937 [INFO] Booked 2026-06-08T13:00:00 → appt Weki3VEuMoayCVSTIPJO
2026-04-10 01:45:20,937 [INFO] ✓ Booked 2026-06-08T13:00:00
2026-04-10 01:45:22,507 [INFO] Booked 2026-06-10T13:00:00 → appt zsemcJ6GVTSF3t3CmU3n
2026-04-10 01:45:22,507 [INFO] ✓ Booked 2026-06-10T13:00:00
2026-04-10 01:45:24,183 [INFO] Booked 2026-06-15T11:30:00 → appt ixeuzEjxTTGp58u8a77g
2026-04-10 01:45:24,184 [INFO] ✓ Booked 2026-06-15T11:30:00
2026-04-10 01:45:26,188 [INFO] Booked 2026-06-17T13:00:00 → appt oOMKpI2Cy9DZtr1xtTGE
2026-04-10 01:45:26,188 [INFO] ✓ Booked 2026-06-17T13:00:00
2026-04-10 01:45:27,198 [INFO] --- Shy A ---
2026-04-10 01:45:28,024 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:45:28,195 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:45:28,202 [INFO] GHL: xDWsBl29qLnecG8UiK1Z | Booking 4 slots (no PT coordination)
2026-04-10 01:45:28,750 [INFO] Booked 2026-06-15T13:00:00 → appt EJEGnCUsjcuAnIPp4j9g
2026-04-10 01:45:28,750 [INFO] ✓ Booked 2026-06-15T13:00:00
2026-04-10 01:45:30,611 [INFO] Booked 2026-06-29T13:00:00 → appt XT2k5BWElFTp3wifC2yd
2026-04-10 01:45:30,612 [INFO] ✓ Booked 2026-06-29T13:00:00
2026-04-10 01:45:32,233 [INFO] Booked 2026-07-06T10:00:00 → appt Rwjucp52wIxBC2kLKGZN
2026-04-10 01:45:32,233 [INFO] ✓ Booked 2026-07-06T10:00:00
2026-04-10 01:45:33,767 [INFO] Booked 2026-07-13T10:00:00 → appt bF5B60RQQct4VhjVLtq4
2026-04-10 01:45:33,767 [INFO] ✓ Booked 2026-07-13T10:00:00
2026-04-10 01:45:34,782 [INFO] --- Linda Hayes ---
2026-04-10 01:45:35,174 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=adult | PT=no
2026-04-10 01:45:35,177 [INFO] GHL: vIyJhlBcN3sJo38YXqaL | Booking 4 slots (no PT coordination)
2026-04-10 01:45:35,886 [INFO] Booked 2026-05-14T12:30:00 → appt MblSUH1ioNQ0rLrXE0Oa
2026-04-10 01:45:35,887 [INFO] ✓ Booked 2026-05-14T12:30:00
2026-04-10 01:45:37,445 [INFO] Booked 2026-05-28T13:00:00 → appt 7NywlFXaeKht34w7w0r4
2026-04-10 01:45:37,446 [INFO] ✓ Booked 2026-05-28T13:00:00
2026-04-10 01:45:40,238 [INFO] Booked 2026-06-04T13:00:00 → appt 3olxOxXlLhkzOxHtUSQb
2026-04-10 01:45:40,238 [INFO] ✓ Booked 2026-06-04T13:00:00
2026-04-10 01:45:41,830 [INFO] Booked 2026-06-11T11:30:00 → appt vvDnp6ay49OLnTV0dZH0
2026-04-10 01:45:41,830 [INFO] ✓ Booked 2026-06-11T11:30:00
2026-04-10 01:45:42,841 [INFO] --- Rosemary Rollor ---
2026-04-10 01:45:43,283 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-10 01:45:43,285 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-10 01:45:43,925 [INFO] Booked 2026-06-11T13:00:00 → appt HiAWxkEcngvq1QoX4wld
2026-04-10 01:45:43,926 [INFO] ✓ Booked 2026-06-11T13:00:00
2026-04-10 01:45:45,643 [INFO] Booked 2026-06-18T11:30:00 → appt W1OlvrtQQ8GxsaJUP6K1
2026-04-10 01:45:45,644 [INFO] ✓ Booked 2026-06-18T11:30:00
2026-04-10 01:45:47,351 [INFO] Booked 2026-06-24T13:00:00 → appt 5TMpSR6A0reT0m0Vjw1R
2026-04-10 01:45:47,351 [INFO] ✓ Booked 2026-06-24T13:00:00
2026-04-10 01:45:49,087 [INFO] Booked 2026-07-02T10:00:00 → appt 9XbPUH7WDqKbCemoX4wi
2026-04-10 01:45:49,088 [INFO] ✓ Booked 2026-07-02T10:00:00
2026-04-10 01:45:50,092 [INFO] 📅 Extension Check — April 10, 2026
14 scheduled, 1 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 4 sessions (4/30–5/20) | no PT match
• Thomas Affleck — 4 sessions (5/21–7/1) | 1/4 next to PT
• Carolyn Schiffman — 4 sessions (5/11–6/8) | 2/4 next to PT
• Robert Brinkman — 16 sessions (5/18–6/26) | 3/16 next to PT
• Vince Landi — 8 sessions (5/15–7/3) | 4/8 next to PT
• Ruthann Swinsky — 8 sessions (5/8–7/1) | 6/8 next to PT
Other patients:
• Dove Johnson — 4 sessions (4/29–5/20)
• Lisa Frank — 16 sessions (4/13–6/3)
• George Simmons — 4 sessions (5/8–6/12)
• Aiden Sheridan — 4 sessions (6/19–7/17)
• Scott Karlin — 8 sessions (5/14–6/17)
• Shy A — 4 sessions (6/15–7/13)
• Linda Hayes — 4 sessions (5/14–6/11)
• Rosemary Rollor — 4 sessions (6/11–7/2)
Skipped (1):
• Rajiv Sardana — not found in GHL
PT coordination: 16/44 sessions placed adjacent to PT across 6 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-10 01:45:51,091 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:45:51,316 [INFO] Admin report email sent to Bryce (1brycefolsom@gmail.com)
2026-04-10 01:46:27,851 [INFO] ============================================================
2026-04-10 01:46:27,852 [INFO] JOB 1: Extension Check (dry_run=False)
2026-04-10 01:46:27,852 [INFO] ============================================================
2026-04-10 01:46:27,853 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:28,386 [INFO] APL: loaded 37 patients from 47 rows
2026-04-10 01:46:28,398 [INFO] Patients needing extension: 15 of 37 total
2026-04-10 01:46:28,398 [INFO] Loading PT schedules from Google Drive...
2026-04-10 01:46:28,400 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:28,603 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:29,426 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-10 01:46:29,427 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:30,185 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-10 01:46:30,186 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:30,877 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-10 01:46:30,878 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:31,584 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-10 01:46:31,585 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:32,291 [INFO] Vince Landi: 15 PT days loaded
2026-04-10 01:46:32,292 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:32,451 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-10 01:46:33,169 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-10 01:46:33,171 [INFO] PT schedules loaded: 6 of 15 patients
2026-04-10 01:46:33,171 [INFO] Fetching free slots 2026-04-10 → 2026-09-25 (24-week window)
2026-04-10 01:46:36,768 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:46:41,989 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:46:52,610 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-10 01:46:58,548 [INFO] Adult: 262 slots on 36 days | Myo: 326 slots on 44 days
2026-04-10 01:46:58,549 [INFO] Processing order: 8 Synapse patients first, then 7 others
2026-04-10 01:46:58,549 [INFO] --- Dove Johnson ---
2026-04-10 01:46:59,083 [INFO] Dove Johnson: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:46:59,083 [INFO] --- Bruce Weinstein ---
2026-04-10 01:46:59,534 [INFO] Bruce Weinstein: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:46:59,534 [INFO] --- Thomas Affleck ---
2026-04-10 01:46:59,901 [INFO] Thomas Affleck: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:46:59,901 [INFO] --- Carolyn Schiffman ---
2026-04-10 01:47:00,441 [INFO] Carolyn Schiffman: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:00,441 [INFO] --- Robert Brinkman ---
2026-04-10 01:47:00,964 [INFO] Robert Brinkman: already has 16 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-10 01:47:00,964 [INFO] --- Vince Landi ---
2026-04-10 01:47:01,953 [INFO] Vince Landi: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-10 01:47:01,954 [INFO] --- Lisa Frank ---
2026-04-10 01:47:02,560 [INFO] Lisa Frank: already has 16 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-10 01:47:02,560 [INFO] --- Ruthann Swinsky ---
2026-04-10 01:47:03,134 [INFO] Ruthann Swinsky: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-10 01:47:03,134 [INFO] --- George Simmons ---
2026-04-10 01:47:03,547 [INFO] George Simmons: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:03,548 [INFO] --- Rajiv Sardana ---
2026-04-10 01:47:04,137 [WARNING] Contact not found in GHL: Rajiv Sardana
2026-04-10 01:47:04,137 [INFO] --- Aiden Sheridan ---
2026-04-10 01:47:04,591 [INFO] Aiden Sheridan: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:04,592 [INFO] --- Scott Karlin ---
2026-04-10 01:47:04,985 [INFO] Scott Karlin: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-10 01:47:04,986 [INFO] --- Shy A ---
2026-04-10 01:47:05,648 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-10 01:47:05,834 [INFO] Shy A: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:05,834 [INFO] --- Linda Hayes ---
2026-04-10 01:47:06,221 [INFO] Linda Hayes: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:06,221 [INFO] --- Rosemary Rollor ---
2026-04-10 01:47:06,671 [INFO] Rosemary Rollor: already has 4 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-10 01:47:06,672 [INFO] 📅 Extension Check — April 10, 2026
0 scheduled, 15 skipped
Skipped (15):
• Dove Johnson — already has 4 upcoming appointments
• Bruce Weinstein — already has 4 upcoming appointments
• Thomas Affleck — already has 4 upcoming appointments
• Carolyn Schiffman — already has 4 upcoming appointments
• Robert Brinkman — already has 16 upcoming appointments
• Vince Landi — already has 8 upcoming appointments
• Lisa Frank — already has 16 upcoming appointments
• Ruthann Swinsky — already has 8 upcoming appointments
• George Simmons — already has 4 upcoming appointments
• Rajiv Sardana — not found in GHL
• Aiden Sheridan — already has 4 upcoming appointments
• Scott Karlin — already has 8 upcoming appointments
• Shy A — already has 4 upcoming appointments
• Linda Hayes — already has 4 upcoming appointments
• Rosemary Rollor — already has 4 upcoming appointments
PT coordination: 0/0 sessions placed adjacent to PT across 0 Synapse patients.
Schedules go to patients on the 20th. Review and adjust before then.
2026-04-10 01:47:07,566 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-10 01:47:07,749 [INFO] Admin report email sent to Bryce (1brycefolsom@gmail.com)
2026-04-18 09:07:01,048 [INFO] ============================================================
2026-04-18 09:07:01,049 [INFO] JOB 1: Extension Check (dry_run=True)
2026-04-18 09:07:01,049 [INFO] ============================================================
2026-04-18 09:07:01,052 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:01,846 [INFO] APL: loaded 36 patients from 45 rows
2026-04-18 09:07:01,862 [INFO] Patients needing extension: 16 of 36 total
2026-04-18 09:07:01,862 [INFO] Loading PT schedules from Google Drive...
2026-04-18 09:07:01,865 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:02,177 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:05,556 [WARNING] PT PDF for Weinstein is 15 days old — may be outdated
2026-04-18 09:07:05,791 [INFO] Bruce Weinstein: 5 PT days loaded
2026-04-18 09:07:05,794 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:06,579 [WARNING] PT PDF for Affleck is 15 days old — may be outdated
2026-04-18 09:07:06,764 [INFO] Thomas Affleck: 13 PT days loaded
2026-04-18 09:07:06,767 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:08,097 [WARNING] PT PDF for Schiffman is 15 days old — may be outdated
2026-04-18 09:07:08,275 [INFO] Carolyn Schiffman: 13 PT days loaded
2026-04-18 09:07:08,277 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:09,136 [WARNING] PT PDF for Brinkman is 15 days old — may be outdated
2026-04-18 09:07:09,353 [INFO] Robert Brinkman: 15 PT days loaded
2026-04-18 09:07:09,357 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:10,160 [WARNING] PT PDF for Landi is 15 days old — may be outdated
2026-04-18 09:07:10,362 [INFO] Vince Landi: 15 PT days loaded
2026-04-18 09:07:10,365 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:10,569 [INFO] file_cache is only supported with oauth2client<4.0.0
2026-04-18 09:07:11,900 [WARNING] PT PDF for Swinsky is 15 days old — may be outdated
2026-04-18 09:07:12,126 [INFO] Ruthann Swinsky: 17 PT days loaded
2026-04-18 09:07:12,126 [INFO] PT schedules loaded: 6 of 16 patients
2026-04-18 09:07:12,126 [INFO] Fetching free slots 2026-04-18 → 2026-10-03 (24-week window)
2026-04-18 09:07:44,332 [ERROR] get_free_slots [2026-07-11 – 2026-07-25]: HTTPSConnectionPool(host='services.leadconnectorhq.com', port=443): Read timed out. (read timeout=30)
2026-04-18 09:07:53,063 [WARNING] Rate limited on free-slots — sleeping 5s
2026-04-18 09:07:58,874 [INFO] Adult: 382 slots on 53 days | Myo: 376 slots on 53 days
2026-04-18 09:07:58,874 [INFO] Processing order: 8 Synapse patients first, then 8 others
2026-04-18 09:07:58,874 [INFO] --- Dove Johnson ---
2026-04-18 09:07:59,378 [INFO] Dove Johnson: already has 9 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:07:59,379 [INFO] --- Bruce Weinstein ---
2026-04-18 09:07:59,795 [INFO] Bruce Weinstein: has 3 existing appts, booking 1 more
2026-04-18 09:07:59,800 [INFO] PT patient — prefer days: [1, 2, 3, 4]
2026-04-18 09:07:59,800 [INFO] Extension: 1x4 → 1 sessions, interval=7d | calendar=adult | PT=yes (5 days)
2026-04-18 09:07:59,816 [INFO] GHL: Bwgj1RM4viOm6vO1elU3 | Booking 1 slots (no PT coordination)
2026-04-18 09:07:59,817 [INFO] [DRY RUN] 2026-05-01T14:00:00
2026-04-18 09:08:00,460 [INFO] --- Thomas Affleck ---
2026-04-18 09:08:00,782 [INFO] Thomas Affleck: already has 5 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:00,783 [INFO] --- Carolyn Schiffman ---
2026-04-18 09:08:01,161 [INFO] Carolyn Schiffman: already has 5 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:01,162 [INFO] --- Robert Brinkman ---
2026-04-18 09:08:01,538 [INFO] Robert Brinkman: already has 20 upcoming appts (need 16) — skipping to avoid double-booking
2026-04-18 09:08:01,539 [INFO] --- Vince Landi ---
2026-04-18 09:08:02,112 [INFO] PT patient — prefer days: [0, 1, 2, 4]
2026-04-18 09:08:02,113 [INFO] Extension: 2x4 → 8 sessions, interval=3d | calendar=adult | PT=yes (15 days)
2026-04-18 09:08:02,116 [INFO] GHL: E5TYzVXlVpICFBnfn63h | Booking 8 slots (no PT coordination)
2026-04-18 09:08:02,117 [INFO] [DRY RUN] 2026-05-29T12:30:00
2026-04-18 09:08:02,728 [INFO] [DRY RUN] 2026-06-24T13:00:00
2026-04-18 09:08:03,375 [INFO] [DRY RUN] 2026-07-03T13:00:00
2026-04-18 09:08:04,023 [INFO] [DRY RUN] 2026-07-06T11:30:00
2026-04-18 09:08:04,648 [INFO] [DRY RUN] 2026-07-08T10:00:00
2026-04-18 09:08:05,239 [INFO] [DRY RUN] 2026-07-10T13:30:00
2026-04-18 09:08:05,882 [INFO] [DRY RUN] 2026-07-27T10:00:00
2026-04-18 09:08:06,499 [INFO] [DRY RUN] 2026-07-29T10:00:00
2026-04-18 09:08:07,147 [INFO] --- Lisa Frank ---
2026-04-18 09:08:07,565 [INFO] Lisa Frank: has 8 existing appts, booking 8 more
2026-04-18 09:08:07,565 [INFO] Extension: → 8 sessions, interval=3d | calendar=adult | PT=no
2026-04-18 09:08:07,568 [INFO] GHL: 6bYZotcv9K5IZjOWkRc1 | Booking 8 slots (no PT coordination)
2026-04-18 09:08:07,569 [INFO] [DRY RUN] 2026-04-20T10:00:00
2026-04-18 09:08:08,190 [INFO] [DRY RUN] 2026-05-29T13:00:00
2026-04-18 09:08:08,823 [INFO] [DRY RUN] 2026-06-11T13:00:00
2026-04-18 09:08:09,458 [INFO] [DRY RUN] 2026-06-18T11:30:00
2026-04-18 09:08:10,086 [INFO] [DRY RUN] 2026-06-24T13:30:00
2026-04-18 09:08:10,736 [INFO] [DRY RUN] 2026-07-02T10:00:00
2026-04-18 09:08:11,385 [INFO] [DRY RUN] 2026-07-06T12:00:00
2026-04-18 09:08:12,031 [INFO] [DRY RUN] 2026-07-08T10:30:00
2026-04-18 09:08:12,641 [INFO] --- Ruthann Swinsky ---
2026-04-18 09:08:13,020 [INFO] Ruthann Swinsky: already has 10 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-18 09:08:13,020 [INFO] --- George Simmons ---
2026-04-18 09:08:13,940 [INFO] George Simmons: already has 6 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:13,940 [INFO] --- Melvin McCowan ---
2026-04-18 09:08:14,851 [WARNING] Contact not found in GHL: Melvin McCowan
2026-04-18 09:08:14,852 [INFO] --- Rajiv Sardana ---
2026-04-18 09:08:15,195 [INFO] Rajiv Sardana: has 2 existing appts, booking 10 more
2026-04-18 09:08:15,196 [INFO] Extension: → 10 sessions, interval=7d | calendar=adult | PT=no
2026-04-18 09:08:15,199 [INFO] GHL: JtqiZ1PWAEeHacUjSsn6 | Booking 10 slots (no PT coordination)
2026-04-18 09:08:15,199 [INFO] [DRY RUN] 2026-07-27T10:30:00
2026-04-18 09:08:15,837 [INFO] [DRY RUN] 2026-08-03T10:00:00
2026-04-18 09:08:16,479 [INFO] [DRY RUN] 2026-08-10T10:00:00
2026-04-18 09:08:17,127 [INFO] [DRY RUN] 2026-08-17T10:00:00
2026-04-18 09:08:17,776 [INFO] [DRY RUN] 2026-08-24T10:00:00
2026-04-18 09:08:18,409 [INFO] [DRY RUN] 2026-08-31T10:00:00
2026-04-18 09:08:19,053 [INFO] [DRY RUN] 2026-09-07T10:00:00
2026-04-18 09:08:19,626 [INFO] [DRY RUN] 2026-09-14T10:00:00
2026-04-18 09:08:20,266 [INFO] [DRY RUN] 2026-09-21T10:00:00
2026-04-18 09:08:20,878 [INFO] [DRY RUN] 2026-09-28T10:00:00
2026-04-18 09:08:21,516 [INFO] --- Aiden Sheridan ---
2026-04-18 09:08:21,921 [INFO] Aiden Sheridan: already has 6 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:21,922 [INFO] --- Scott Karlin ---
2026-04-18 09:08:22,285 [INFO] Scott Karlin: already has 8 upcoming appts (need 8) — skipping to avoid double-booking
2026-04-18 09:08:22,285 [INFO] --- Shy A ---
2026-04-18 09:08:23,008 [INFO] search_contact: 'Shy A' not found, matched on first name 'Shy'
2026-04-18 09:08:23,196 [INFO] Shy A: already has 6 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:23,197 [INFO] --- Linda Hayes ---
2026-04-18 09:08:23,579 [INFO] Linda Hayes: already has 5 upcoming appts (need 4) — skipping to avoid double-booking
2026-04-18 09:08:23,580 [INFO] --- Rosemary Rollor ---
2026-04-18 09:08:23,916 [INFO] Extension: 1x4 → 4 sessions, interval=7d | calendar=myo | PT=no
2026-04-18 09:08:23,920 [INFO] GHL: 9ERIKllbgCqXVRbot92I | Booking 4 slots (no PT coordination)
2026-04-18 09:08:23,921 [INFO] [DRY RUN] 2026-05-29T13:30:00
2026-04-18 09:08:24,560 [INFO] [DRY RUN] 2026-06-11T13:30:00
2026-04-18 09:08:25,209 [INFO] [DRY RUN] 2026-06-18T12:00:00
2026-04-18 09:08:25,855 [INFO] [DRY RUN] 2026-06-24T14:00:00
2026-04-18 09:08:26,503 [INFO] 📅 Extension Check [DRY RUN] — April 18, 2026
5 scheduled, 11 skipped
Synapse (PT + Speech) patients:
• Bruce Weinstein — 1 sessions (5/1–5/1) | no PT match ⚠️ PT schedule 15d old
• Vince Landi — 8 sessions (5/29–7/29) | no PT match ⚠️ PT schedule 15d old
Other patients:
• Lisa Frank — 8 sessions (4/20–7/8)
• Rajiv Sardana — 10 sessions (7/27–9/28)
• Rosemary Rollor — 4 sessions (5/29–6/24)
Skipped (11):
• Dove Johnson — already has 9 upcoming appointments
• Thomas Affleck — already has 5 upcoming appointments
• Carolyn Schiffman — already has 5 upcoming appointments
• Robert Brinkman — already has 20 upcoming appointments
• Ruthann Swinsky — already has 10 upcoming appointments
• George Simmons — already has 6 upcoming appointments
• Melvin McCowan — not found in GHL
• Aiden Sheridan — already has 6 upcoming appointments
• Scott Karlin — already has 8 upcoming appointments
• Shy A — already has 6 upcoming appointments
• Linda Hayes — already has 5 upcoming appointments
PT coordination: 0/9 sessions placed adjacent to PT across 2 Synapse patients.
Reply confirm extensions to book these sessions.
2026-04-18 09:08:27,766 [INFO] Admin report email sent to Amanda (Zwa0zlW2HjIwrXmOZ9UE)
2026-04-18 09:08:27,938 [INFO] Admin report email sent to Bryce (1brycefolsom@gmail.com)
2026-04-19 09:07:01,611 [INFO] ============================================================
2026-04-19 09:07:01,612 [INFO] JOB 2: Schedule Send (dry_run=True)
2026-04-19 09:07:01,612 [INFO] ============================================================
2026-04-19 09:07:02,156 [INFO] get_all_upcoming: 153 appointments across both calendars
2026-04-19 09:07:02,157 [INFO] Contacts with upcoming appointments: 8
2026-04-19 09:07:02,316 [INFO] Ed (UVTKmCZX19nQ8jIMtacj): 1 upcoming appts
2026-04-19 09:07:02,316 [INFO] [DRY RUN] Would send email + SMS to Ed
2026-04-19 09:07:02,446 [INFO] Dove (Iloc5d41W2kyjqlB4WYS): 1 upcoming appts
2026-04-19 09:07:02,446 [INFO] [DRY RUN] Would send email + SMS to Dove
2026-04-19 09:07:02,574 [INFO] Aiden (WLqLpR4lbUTlmd3iKcSU): 1 upcoming appts
2026-04-19 09:07:02,574 [INFO] [DRY RUN] Would send email + SMS to Aiden
2026-04-19 09:07:02,757 [INFO] Ruthann (gL3SUjqXmSSHFczOeZ1i): 1 upcoming appts
2026-04-19 09:07:02,757 [INFO] [DRY RUN] Would send email + SMS to Ruthann
2026-04-19 09:07:02,970 [INFO] Linda (vIyJhlBcN3sJo38YXqaL): 1 upcoming appts
2026-04-19 09:07:02,971 [INFO] [DRY RUN] Would send email + SMS to Linda
2026-04-19 09:07:03,142 [INFO] Suzanne (SXvMchE4jJA2DiBPpv25): 1 upcoming appts
2026-04-19 09:07:03,142 [INFO] [DRY RUN] Would send email + SMS to Suzanne
2026-04-19 09:07:03,269 [INFO] Paul (Y0v44cTZxUCwbfBH074n): 1 upcoming appts
2026-04-19 09:07:03,270 [INFO] [DRY RUN] Would send email + SMS to Paul
2026-04-19 09:07:03,405 [INFO] 📬 Schedule Send [DRY RUN] — April 19, 2026
📋 Would send: 7
⏭ Skipped (no contact info): 1
Review appointments in GHL, then reply confirm schedules to send to all patients.
2026-04-20 09:07:01,263 [INFO] ============================================================
2026-04-20 09:07:01,263 [INFO] JOB 2: Schedule Send (dry_run=False)
2026-04-20 09:07:01,263 [INFO] ============================================================
2026-04-20 09:07:01,843 [INFO] get_all_upcoming: 157 appointments across both calendars
2026-04-20 09:07:01,844 [INFO] Contacts with upcoming appointments: 8
2026-04-20 09:07:02,298 [INFO] Ed (UVTKmCZX19nQ8jIMtacj): 1 upcoming appts
2026-04-20 09:07:05,967 [INFO] Dove (Iloc5d41W2kyjqlB4WYS): 1 upcoming appts
2026-04-20 09:07:09,416 [INFO] Aiden (WLqLpR4lbUTlmd3iKcSU): 1 upcoming appts
2026-04-20 09:07:12,609 [INFO] Ruthann (gL3SUjqXmSSHFczOeZ1i): 1 upcoming appts
2026-04-20 09:07:12,828 [ERROR] send_email(gL3SUjqXmSSHFczOeZ1i): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/conversations/messages
2026-04-20 09:07:12,993 [ERROR] send_sms(gL3SUjqXmSSHFczOeZ1i): 400 Client Error: Bad Request for url: https://services.leadconnectorhq.com/conversations/messages
2026-04-20 09:07:13,761 [INFO] Linda (vIyJhlBcN3sJo38YXqaL): 1 upcoming appts
2026-04-20 09:07:18,604 [INFO] Suzanne (SXvMchE4jJA2DiBPpv25): 1 upcoming appts
2026-04-20 09:07:21,988 [INFO] Paul (Y0v44cTZxUCwbfBH074n): 1 upcoming appts
2026-04-20 09:07:26,335 [INFO] 📬 Schedule Send — April 20, 2026
✅ Schedules sent: 7
⏭ Skipped (no contact info): 1
⚠️ Send errors: 2
Patients have their upcoming schedules. Watch for replies in GHL.