Commit graph

210 commits

Author SHA1 Message Date
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
John Mizerek
e60601d9f1 Fix chat task creation and listing
- createChat: Look up business-specific Chat task type instead of hardcoded ID 2
- listPending: Filter by CompletedOn IS NULL to exclude completed tasks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 15:03:46 -08:00
John Mizerek
a318b8668f Fix cart/tax issues and add menu item thumbnails
- uploadItemPhoto: Add EXIF orientation fix, generate thumb/medium/full sizes
- getActiveCart: Disable old cart lookup (always returns no cart)
- getOrCreateCart: Always create fresh cart instead of reusing old ones
- getCart: Add IsDeleted filter, calculate subtotal/tax/total server-side
- getDetail: Remove default 8.25% tax rate (business must configure)
- menu-builder: Add lightbox for full-size images, use thumbnail URLs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 14:22:54 -08:00
John Mizerek
9fc984bea3 Fix photo upload on mobile devices
- Add HEIC/HEIF support for iPhone camera photos
- Make frontend file type validation more permissive for mobile browsers
- Add 'capture' attribute to prefer rear camera on mobile
- Include actual file extension in error messages for debugging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 12:56:50 -08:00
John Mizerek
12a8c054f3 Add uploadItemPhoto.cfm to public allowlist
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 12:53:55 -08:00
John Mizerek
06dd664203 Add phone number support to OTP login APIs
- sendLoginOTP.cfm: Accept Email, Phone, or Identifier field
  Sends OTP via SMS for phone, email for email addresses
- verifyEmailOTP.cfm: Accept phone numbers for verification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 12:48:21 -08:00