John Mizerek
3eee356ac0
Add uploadSavedPage.cfm to public endpoints
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:06:34 -08:00
John Mizerek
8aeca335fd
Add ZIP upload for saved webpage import
...
For Cloudflare-protected sites, users can now:
1. Save the page from their browser (Webpage, Complete)
2. ZIP the HTML and assets folder
3. Upload the ZIP in the wizard
4. Server extracts to temp folder, Playwright scans local copy
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:02:51 -08:00
John Mizerek
1438267af6
Use wrapper script for Playwright to set browser path
2026-02-12 21:54:02 -08:00
John Mizerek
5c50ce2cf9
Use Playwright for JS-rendered menu scraping
...
- Replace cfhttp with Playwright headless browser
- Capture images from network requests during page render
- No longer needs to fetch subpages (JS renders everything)
- Should capture subcategory items that load dynamically
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:43:37 -08:00
John Mizerek
22fc113461
Add NOW() for AddedOn in business INSERT
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:24:28 -08:00
John Mizerek
a32614be17
Restore CommunityMealType column in business INSERT (added column to dev DB)
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:06:28 -08:00
John Mizerek
f8afbb57e9
Add bulk item image upload: accept all sizes, pick best, upload after save
2026-02-12 20:56:27 -08:00
John Mizerek
4471ddc92b
Add automatic image downloading from URLs during menu import
2026-02-12 20:48:17 -08:00
John Mizerek
dbe05a8b12
Update prompt to extract imageUrl from item containers in HTML
2026-02-12 20:36:16 -08:00
John Mizerek
a1b557cdc7
Look for embedded JSON data in menu pages
2026-02-12 20:22:35 -08:00
John Mizerek
361e54c17a
Add debug: Beverages HTML snippet to see subcategory structure
2026-02-12 20:06:07 -08:00
John Mizerek
794d2ceee5
Add debug for menuGroup/menuSection structure detection
2026-02-12 20:01:43 -08:00
John Mizerek
bed088d0ff
Explicit subcategory rule: outer section = parent, inner sections = subcats
2026-02-12 19:56:29 -08:00
John Mizerek
2163bb3009
Explicit subcategory detection with HTML structure example
2026-02-12 19:55:00 -08:00
John Mizerek
99c2a6aa10
Add HTML snippet debug to see actual structure
2026-02-12 19:50:56 -08:00
John Mizerek
549f3cb31f
Explicit Toast subcategory instructions: parent in category, subcat in subcategory
2026-02-12 19:44:10 -08:00
John Mizerek
436861970e
Add h4 tag debug to find subcategory tags
2026-02-12 19:40:51 -08:00
John Mizerek
3e9f07df1a
Simplify: categories as strings, subcategory on items
2026-02-12 19:37:04 -08:00
John Mizerek
dfb264eba6
Simplify image extraction to single imageUrl per item
2026-02-12 19:29:41 -08:00
John Mizerek
89adfbc92e
Add JSON parse error handling with debug output
2026-02-12 19:29:00 -08:00
John Mizerek
ec59f05814
Restore working prompt, add subcategory support without breaking item extraction
2026-02-12 19:22:45 -08:00
John Mizerek
d8dacb198e
Fix CFML hash escape in system prompt
2026-02-12 19:17:28 -08:00
John Mizerek
e372f67901
Improve Toast POS subcategory detection with explicit h3 search and debug output
2026-02-12 19:14:15 -08:00
John Mizerek
813628cecb
Add HTML file upload option for menu import
...
- Backend now accepts either url or html content in request body
- Frontend adds HTML file upload option below URL input
- Useful when websites block the crawler (403 errors)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 17:13:32 -08:00
John Mizerek
31773b0acf
Add analyzeMenuUrl to public endpoints
2026-02-12 16:44:33 -08:00
John Mizerek
f6518932db
Add URL-based menu import to setup wizard
2026-02-12 16:43:37 -08:00
John Mizerek
fccbc17fe3
Escape # symbol in CFML prompt
2026-02-12 14:34:54 -08:00
John Mizerek
2905d0f9f8
Fix missing closing tag in CFML
2026-02-12 14:26:17 -08:00
John Mizerek
800d1f1246
Add brand color extraction and auto-header detection to setup wizard
2026-02-12 14:20:35 -08:00
John Mizerek
02d77b662a
Fix hours extraction to explicitly require weekend hours
2026-02-12 14:08:50 -08:00
John Mizerek
0d04ae8463
Resolve merge conflict in myBusinesses.cfm - keep ActiveTaskCount
2026-02-11 22:33:44 -08:00
John Mizerek
e4422996b2
Fix column names in saveWizard.cfm for production DB
...
- BusinessCommunityMealType → CommunityMealType
- BusinessAddedOn → AddedOn
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 22:33:20 -08:00
John Pinkyfloyd
a2be30b952
Add UUID to getDetail.cfm response for receipt link
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:54:02 -08:00
John Pinkyfloyd
237f09ef93
Add beacon-sharding/get_shard_pool.cfm to public allowlist
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:33:49 -08:00
John Mizerek
7745e1ed86
Fix pending task count to exclude completed tasks
...
The PendingTaskCount subquery was only checking ClaimedByUserID = 0
but not CompletedOn IS NULL, causing completed-but-unclaimed tasks
to show up in the business selection screen count.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 17:20:30 -08:00
John Pinkyfloyd
d2985e193a
Fix submit.cfm: remove ServicePoints join that was causing column name errors
2026-02-09 16:32:00 -08:00
John Pinkyfloyd
add65346c9
Fix submit.cfm: correct column names for OrderLineItems and ServicePoints queries
2026-02-09 15:58:13 -08:00
John Pinkyfloyd
abf444ffe6
Use PayfritFee from database in Stripe payment intent
2026-02-09 15:50:05 -08:00
John Pinkyfloyd
1787671239
Add PayfritFee to cart API responses
2026-02-09 15:42:57 -08:00
John Pinkyfloyd
e03e021ea2
Add all biz debug
2026-02-09 14:33:25 -08:00
John Pinkyfloyd
a1c3e71db0
Add all businesses debug endpoint
2026-02-09 14:32:01 -08:00
John Pinkyfloyd
696cb90ba9
Fix johns debug query
2026-02-09 14:30:37 -08:00
John Pinkyfloyd
133f57f689
Add Johns Beverages debug endpoint
2026-02-09 14:29:04 -08:00
John Mizerek
b8cf2ce150
Fix beacon sharding to support Major/Minor starting from 0
...
- allocate_business_namespace: Start Major from 0 (was 1)
- allocate_servicepoint_minor: Start Minor from 0 (was 1)
- register_beacon_hardware: Set BeaconMinor if empty instead of rejecting
- lookup: Allow Major=0 in validation (was LTE 0, now LT 0)
- servicepoints/save: Auto-allocate BeaconMinor on insert, include in response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 13:43:32 -08:00
John Pinkyfloyd
872897eabc
Add Stripe Checkout Session for web-based payments (iOS app)
2026-02-09 13:10:27 -08:00
John Pinkyfloyd
c155a6ab78
Add Stripe status debug endpoint
2026-02-09 12:49:23 -08:00
John Pinkyfloyd
db5249e5ed
Add shards debug endpoint
2026-02-09 12:18:59 -08:00
John Pinkyfloyd
b2187bde4e
Fix null BeaconShardID handling in debug endpoint
2026-02-09 12:17:36 -08:00
John Pinkyfloyd
dd85e7b386
Add debug endpoint for La Serenata beacon setup
2026-02-09 12:13:29 -08:00
John Pinkyfloyd
0509e123e7
Add BeaconMinor support to servicepoints API
...
Allow setting/reading BeaconMinor on service points for beacon sharding
table assignment. Also fixes bug where save.cfm referenced qOut.ServicePointID
instead of qOut.ID.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 11:25:22 -08:00