Initial commit - Black Canyon Tickets whitelabel platform

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-07-08 12:31:31 -06:00
commit 997c129383
139 changed files with 60476 additions and 0 deletions

View File

@@ -0,0 +1,274 @@
---
title: Creating Events
description: Comprehensive guide to creating and managing events on Black Canyon Tickets.
---
# Creating Events
Creating compelling events is at the heart of successful ticket sales. This guide covers everything from basic event setup to advanced configuration options.
## Event Creation Workflow
### 1. Planning Your Event
Before creating your event in the system, gather:
- **Event concept and description**
- **Date, time, and duration**
- **Venue information and capacity**
- **Ticket types and pricing strategy**
- **High-quality images and media**
- **Promotional materials and copy**
### 2. Basic Event Information
#### Event Title
- **Be descriptive and memorable**
- **Include key details like date if helpful**
- **Examples**: "Summer Gala 2024", "Jazz Night at the Parlor"
#### Event Description
- **Use rich text formatting** for better readability
- **Include key highlights** and what attendees can expect
- **Mention special guests, performances, or attractions**
- **Add practical information** like dress code or parking
#### Date and Time Settings
- **Start/End Dates**: Full date range for multi-day events
- **Start/End Times**: Specific times for better planning
- **Time Zone**: Automatically detected, but verify accuracy
- **Duration**: Calculated automatically or set manually
### 3. Venue Configuration
#### Venue Details
- **Venue Name**: Official name of the location
- **Full Address**: Street, city, state, ZIP code
- **Capacity**: Maximum number of attendees
- **Accessibility**: Wheelchair access, parking, public transit
#### Venue-Specific Settings
- **Seating Chart**: Upload if you have assigned seating
- **Layout Description**: Help attendees understand the space
- **Amenities**: Coat check, bar, restrooms, etc.
### 4. Event Media Management
#### Cover Image Requirements
- **Dimensions**: 1920x1080 pixels (16:9 aspect ratio)
- **File Size**: Maximum 5MB
- **Format**: JPG, PNG, or WebP
- **Quality**: High resolution for professional appearance
#### Additional Images
- **Event Gallery**: Up to 10 additional images
- **Behind-the-scenes**: Venue shots, performer photos
- **Previous Events**: Show your track record
#### Image Best Practices
- **Show the experience**: What will attendees enjoy?
- **High quality**: Professional photography when possible
- **Consistent branding**: Match your venue's aesthetic
- **Mobile-friendly**: Images look good on small screens
### 5. Ticket Type Configuration
#### General Admission
Most flexible option:
- **Single price point**
- **No assigned seating**
- **Easy check-in process**
- **Good for casual events**
#### Tiered Pricing
Different price levels:
- **Regular Admission**: Standard price
- **VIP**: Premium experience with extras
- **Student/Senior**: Discounted rates
- **Group Rates**: Bulk pricing
#### Time-Based Pricing
Encourage early sales:
- **Early Bird**: Limited time discount
- **Regular**: Standard pricing period
- **Last Minute**: Optional premium pricing
### 6. Advanced Event Settings
#### Sales Period Management
- **Sale Start**: When tickets become available
- **Sale End**: When sales automatically close
- **Inventory Management**: Track remaining tickets
- **Waitlist**: Optional for sold-out events
#### Checkout Configuration
- **Guest Checkout**: Allow purchase without account
- **Required Fields**: Name, email, phone, etc.
- **Custom Questions**: Dietary restrictions, shirt sizes
- **Terms Acceptance**: Link to your policies
#### Marketing Integration
- **UTM Codes**: Track marketing campaign effectiveness
- **Social Media**: Auto-generate sharing content
- **Email Marketing**: Integration with your email platform
- **Analytics**: Google Analytics tracking
## Event Status Management
### Draft Status
- **Not visible to public**
- **Can be edited freely**
- **No ticket sales possible**
- **Used for preparation**
### Published Status
- **Visible to public**
- **Ticket sales active**
- **Limited editing options**
- **Tracking and analytics active**
### Cancelled Status
- **Stops new sales**
- **Notifies existing ticket holders**
- **Initiates refund process**
- **Maintains event history**
## Event Promotion Tools
### Shareable URLs
Every event gets a clean URL:
```
https://portal.blackcanyontickets.com/e/your-event-slug
```
### Social Media Integration
- **Auto-generated social posts**
- **Proper Open Graph tags**
- **Twitter Card support**
- **Instagram-friendly images**
### Email Marketing
- **Event announcement templates**
- **Ticket holder communications**
- **Reminder emails**
- **Post-event follow-up**
### Website Integration
Embed directly in your site:
```html
<iframe
src="https://portal.blackcanyontickets.com/e/your-event-slug"
width="100%"
height="600"
frameborder="0">
</iframe>
```
## Event Analytics and Tracking
### Sales Metrics
- **Real-time sales data**
- **Revenue tracking**
- **Conversion rates**
- **Traffic sources**
### Attendee Information
- **Registration details**
- **Check-in status**
- **Demographic data**
- **Feedback collection**
### Performance Insights
- **Popular ticket types**
- **Peak sales periods**
- **Marketing effectiveness**
- **Venue capacity utilization**
## Common Event Types
### Galas and Fundraisers
- **Multiple ticket tiers** (Individual, Table, Sponsorship)
- **Auction integration** options
- **Dress code information**
- **Special recognition features**
### Concerts and Performances
- **Seating charts** for theaters
- **Age restrictions** if applicable
- **Merchandise** add-ons
- **Meet-and-greet** packages
### Conferences and Workshops
- **Session selection**
- **Meal preferences**
- **Material fees**
- **Continuing education** credits
### Private Events
- **Invitation-only** settings
- **RSVP management**
- **Guest list** coordination
- **Dietary restrictions** tracking
## Troubleshooting Common Issues
### Event Won't Publish
- **Check all required fields**
- **Verify at least one ticket type exists**
- **Ensure future date/time**
- **Confirm venue capacity is set**
### Images Not Displaying
- **Check file size** (under 5MB)
- **Verify file format** (JPG, PNG, WebP)
- **Clear browser cache**
- **Try different browser**
### Ticket Sales Issues
- **Verify Stripe connection**
- **Check payment settings**
- **Test with small amount**
- **Review error logs**
### Poor Sales Performance
- **Review pricing strategy**
- **Improve event description**
- **Add better images**
- **Increase marketing efforts**
## Best Practices
### Before Launch
- [ ] **Test the complete ticket purchase flow**
- [ ] **Preview on mobile and desktop**
- [ ] **Check all links and information**
- [ ] **Verify payment processing**
### During Sales
- [ ] **Monitor sales regularly**
- [ ] **Respond to customer inquiries quickly**
- [ ] **Update event information as needed**
- [ ] **Share on social media consistently**
### After Event
- [ ] **Export attendee data**
- [ ] **Send thank you messages**
- [ ] **Collect feedback**
- [ ] **Archive event for future reference**
## Support Resources
### Need Help?
- **Email**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- **Response Time**: Within 24 hours
- **Include**: Event name, specific issue, screenshots if helpful
### Additional Resources
- **[Ticket Types Guide](/events/ticket-types/)**
- **[Seating Management](/events/seating-management/)**
- **[Event Marketing Tips](/events/marketing/)**
- **[Analytics Dashboard](/sales/reports/)**
---
*Great events start with great planning. Take time to craft compelling event descriptions and choose the right settings for your audience.*

View File

@@ -0,0 +1,108 @@
---
title: Account Setup
description: Learn how to set up your Black Canyon Tickets organizer account and complete your profile.
---
# Account Setup
Setting up your Black Canyon Tickets account is the first step to selling tickets for your events. This guide will walk you through the complete setup process.
## Creating Your Account
1. **Visit the Platform**
- Go to [portal.blackcanyontickets.com](https://portal.blackcanyontickets.com)
- Click "Sign Up" to create a new account
2. **Registration Details**
- Enter your email address
- Create a secure password
- Verify your email address through the confirmation link
3. **Initial Login**
- Use your credentials to log in
- You'll be prompted to complete your profile
## Completing Your Organizer Profile
### Organization Information
Your organization information helps customers identify your events and builds trust:
- **Organization Name**: The name that will appear on tickets and event pages
- **Display Name**: How you want to be identified publicly
- **Contact Email**: Primary email for customer inquiries
- **Phone Number**: Optional, but recommended for customer service
### Venue Details
If you have a regular venue, provide these details:
- **Venue Name**: Primary location for your events
- **Address**: Full street address including city, state, and ZIP
- **Capacity**: Typical maximum attendance
- **Accessibility**: Any accessibility features or accommodations
### Branding (Optional)
Customize your presence:
- **Logo**: Upload your organization or venue logo
- **Brand Colors**: Choose colors that match your brand
- **Description**: Brief description of your organization or venue
## Account Verification
### Email Verification
- Check your email for a verification link
- Click the link to confirm your email address
- This enables all account features
### Identity Verification
For payment processing, you'll need to verify your identity:
- This happens during Stripe Connect setup
- Required for receiving payments from ticket sales
- Typically takes 1-2 business days
## Next Steps
Once your account is set up:
1. **[Connect Stripe](/getting-started/stripe-connect/)** - Enable payment processing
2. **[Create your first event](/getting-started/first-event/)** - Start building your event
3. **Explore the dashboard** - Familiarize yourself with the interface
## Security Best Practices
### Password Security
- Use a strong, unique password
- Enable two-factor authentication if available
- Never share your login credentials
### Account Safety
- Log out when using shared computers
- Monitor your account for unusual activity
- Keep your contact information up to date
## Troubleshooting
### Can't Access Your Account?
- Use the "Forgot Password" link to reset your password
- Check your spam folder for verification emails
- Contact support if you continue having issues
### Email Not Verified?
- Check your spam or junk folder
- Request a new verification email from your account settings
- Ensure your email address is correctly entered
## Support
Need help with account setup?
- **Email**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- **Response Time**: Typically within 24 hours
- **Include**: Your registered email address and description of the issue
---
*Your account is the foundation of your ticketing success. Take time to complete your profile thoroughly for the best customer experience.*

View File

@@ -0,0 +1,210 @@
---
title: Creating Your First Event
description: Step-by-step guide to creating and publishing your first event on Black Canyon Tickets.
---
# Creating Your First Event
This guide will walk you through creating your first event on Black Canyon Tickets. We'll cover everything from basic event details to advanced settings.
## Before You Start
Ensure you have:
- ✅ Completed your [account setup](/getting-started/account-setup/)
- ✅ Connected your [Stripe account](/getting-started/stripe-connect/)
- ✅ Gathered all event information and assets
## Event Creation Process
### Step 1: Access Event Creation
1. Log into your Black Canyon Tickets dashboard
2. Click the **"Create Event"** button
3. You'll be taken to the event creation wizard
### Step 2: Basic Event Information
#### Event Details
- **Event Title**: Choose a clear, descriptive name
- **Event Slug**: URL-friendly identifier (auto-generated from title)
- **Event Description**: Rich text description with formatting options
- **Event Category**: Select the most appropriate category
#### Date & Time
- **Start Date**: When your event begins
- **End Date**: When your event ends (optional)
- **Start Time**: Event start time
- **End Time**: Event end time (optional)
- **Time Zone**: Automatically set to your location
#### Venue Information
- **Venue Name**: Where the event takes place
- **Address**: Full street address
- **Capacity**: Maximum number of attendees
- **Accessibility**: Any accessibility features
### Step 3: Event Media
#### Cover Image
- **Recommended Size**: 1920x1080 pixels
- **File Types**: JPG, PNG, WebP
- **Max Size**: 5MB
- **Tips**: Use high-quality, relevant images
#### Additional Images
- Add up to 10 additional images
- These appear in the event gallery
- Same specifications as cover image
### Step 4: Ticket Types
#### General Admission
Perfect for most events:
- **Name**: "General Admission"
- **Price**: Set your ticket price
- **Quantity**: Number of tickets available
- **Description**: What's included with this ticket
#### VIP or Premium Tickets
For special experiences:
- **Name**: "VIP Experience"
- **Price**: Premium pricing
- **Quantity**: Limited availability
- **Description**: Special benefits and inclusions
#### Early Bird Pricing
Encourage early sales:
- **Name**: "Early Bird"
- **Price**: Discounted rate
- **Quantity**: Limited quantity
- **Sale Period**: Set start and end dates
### Step 5: Seating (Optional)
#### General Admission
- No assigned seating
- First-come, first-served
- Simpler check-in process
#### Reserved Seating
- Customers choose specific seats
- Upload seating chart
- Assign seat numbers
### Step 6: Advanced Settings
#### Sales Period
- **Sale Start**: When tickets go on sale
- **Sale End**: When ticket sales close
- **Default**: Sales start immediately, end at event time
#### Checkout Options
- **Guest Checkout**: Allow purchases without account
- **Required Information**: What details to collect
- **Custom Questions**: Add custom form fields
#### Policies
- **Refund Policy**: Set your refund terms
- **Transfer Policy**: Allow ticket transfers
- **Terms & Conditions**: Link to your terms
## Preview Your Event
Before publishing:
1. **Click "Preview"** to see how your event looks
2. **Test the checkout process** with test data
3. **Check mobile responsiveness** on your phone
4. **Verify all information** is accurate
## Publishing Your Event
### Final Checklist
- [ ] Event details are complete and accurate
- [ ] Images are uploaded and look good
- [ ] Ticket types and pricing are correct
- [ ] Seating is configured (if applicable)
- [ ] Policies are set appropriately
### Go Live
1. **Click "Publish Event"**
2. **Your event is now live** at your custom URL
3. **Share your event** with potential attendees
## After Publishing
### Immediate Actions
1. **Test the ticket purchasing process**
2. **Share your event URL** on social media
3. **Add the event to your website** using our embed code
### Ongoing Management
- **Monitor sales** through your dashboard
- **Update event details** as needed
- **Communicate with attendees** through our messaging system
## Event URL Structure
Your event will be available at:
```
https://portal.blackcanyontickets.com/e/your-event-slug
```
## Embedding on Your Website
Add this code to your website to embed ticket purchasing:
```html
<iframe
src="https://portal.blackcanyontickets.com/e/your-event-slug"
width="100%"
height="600"
frameborder="0">
</iframe>
```
## Common Mistakes to Avoid
### Pricing Errors
- Always double-check ticket prices
- Include all fees in your pricing strategy
- Test checkout with real payment methods
### Timing Issues
- Verify event date and time
- Check time zone settings
- Set appropriate sale periods
### Incomplete Information
- Fill out all relevant fields
- Add compelling descriptions
- Include high-quality images
## Troubleshooting
### Event Won't Publish?
- Check for required fields
- Ensure at least one ticket type exists
- Verify Stripe connection is active
### Images Not Uploading?
- Check file size (max 5MB)
- Use supported formats (JPG, PNG, WebP)
- Try a different browser if issues persist
### Checkout Issues?
- Test with different payment methods
- Check Stripe dashboard for errors
- Verify all required fields are configured
## Support
Need help with your first event?
- **Email**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- **Include**: Your event name and specific questions
- **Response Time**: Usually within 24 hours
---
*Congratulations on creating your first event! You're now ready to start selling tickets and building your audience.*

View File

@@ -0,0 +1,73 @@
---
title: Introduction to Black Canyon Tickets
description: Welcome to Black Canyon Tickets - the premium ticketing platform designed for upscale venues in Aspen and the Roaring Fork Valley.
---
# Welcome to Black Canyon Tickets
Black Canyon Tickets is a sophisticated, self-service ticketing platform built for upscale venues everywhere. Whether you're hosting intimate dance performances, elegant weddings, or exclusive galas, our platform provides the tools you need to sell tickets professionally and efficiently.
## What Makes Us Different
### Premium Experience
- **Elegant Design**: Every aspect of our platform is crafted with sophistication in mind
- **White-Label Solution**: Seamlessly integrate with your venue's brand
- **Mobile-First**: Beautiful, responsive design that works perfectly on all devices
### Built for Premium Events
- **Upscale Focus**: Understanding the unique needs of high-end venues
- **Sophisticated Events**: Designed for discerning event organizers and their audiences
- **Flexible Scheduling**: Handle both recurring and one-time premium events
### Technical Excellence
- **No Apps Required**: Everything works through web browsers
- **Instant Setup**: Get started in minutes, not days
- **Reliable Infrastructure**: Built on enterprise-grade cloud services
## Key Features
### Event Management
- Create and customize events with rich descriptions and media
- Set up multiple ticket types with different pricing tiers
- Manage seating charts and seat assignments
- Real-time inventory tracking
### Payment Processing
- Integrated Stripe payments with Connect for automatic payouts
- Transparent fee structure (2.5% + $1.50 per transaction)
- PCI compliant and secure
- Automatic tax calculation and reporting
### QR Code Ticketing
- Secure, UUID-based QR codes prevent fraud
- Mobile-friendly scanning interface
- Real-time check-in tracking
- Offline capability for poor connectivity areas
### Analytics & Reporting
- Real-time sales dashboards
- Comprehensive attendee lists
- Financial reporting and reconciliation
- Export capabilities for external systems
## Getting Started
Ready to transform your ticketing experience? Follow these steps:
1. **[Set up your account](/getting-started/account-setup/)** - Create your organizer profile
2. **[Connect Stripe](/getting-started/stripe-connect/)** - Enable payment processing
3. **[Create your first event](/getting-started/first-event/)** - Build your event page
4. **[Start selling](/events/publishing-events/)** - Go live and share your event
## Support
Our support team is here to help you succeed:
- **Email**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- **Response Time**: Typically within 24 hours
- **Documentation**: This comprehensive guide covers all features
- **Training**: We offer personalized onboarding for larger venues
---
*Let's make your next event unforgettable. Welcome to Black Canyon Tickets.*

View File

@@ -0,0 +1,217 @@
---
title: Stripe Connect Setup
description: Learn how to connect your Stripe account to enable payment processing on Black Canyon Tickets.
---
# Stripe Connect Setup
Connecting your Stripe account is essential for receiving payments from ticket sales. This guide will walk you through the complete setup process.
## What is Stripe Connect?
Stripe Connect allows Black Canyon Tickets to process payments on your behalf while ensuring you receive the funds directly in your bank account. It provides:
- **Secure payment processing** for all ticket sales
- **Automatic fee deduction** (2.5% + $1.50 per ticket)
- **Direct deposits** to your bank account
- **Real-time payout tracking** and reporting
- **Fraud protection** and dispute handling
## Prerequisites
Before connecting Stripe, ensure you have:
-**Completed account setup** on Black Canyon Tickets
-**Business information** ready (legal name, address, tax ID)
-**Bank account details** for receiving payouts
-**Valid identification** (driver's license or passport)
## Step-by-Step Setup Process
### Step 1: Initiate Stripe Connection
1. **Log into your Black Canyon Tickets dashboard**
2. **Navigate to Settings****Payment Settings**
3. **Click "Connect Stripe Account"**
4. **You'll be redirected to Stripe's secure onboarding**
### Step 2: Create or Connect Stripe Account
#### Option A: New Stripe Account
If you don't have a Stripe account:
1. **Click "Create a new account"**
2. **Enter your email address**
3. **Create a secure password**
4. **Verify your email address**
#### Option B: Existing Stripe Account
If you already use Stripe:
1. **Click "I already have a Stripe account"**
2. **Log in with your existing credentials**
3. **Authorize the connection**
### Step 3: Business Information
Provide accurate business details:
#### Personal Information
- **Legal name** (as it appears on government ID)
- **Date of birth**
- **Phone number**
- **Address**
#### Business Information
- **Business name** (if applicable)
- **Business type** (Individual, LLC, Corporation, etc.)
- **Tax ID number** (SSN for individuals, EIN for businesses)
- **Industry classification**
#### Bank Account Details
- **Routing number**
- **Account number**
- **Account type** (Checking or Savings)
### Step 4: Identity Verification
Stripe requires identity verification for security:
1. **Upload government-issued ID**
- Driver's license, passport, or state ID
- Ensure photo is clear and all text is readable
2. **Provide additional documentation** (if requested)
- Business license
- Articles of incorporation
- Bank statements
### Step 5: Review and Submit
1. **Review all information** for accuracy
2. **Read and accept** Stripe's terms of service
3. **Submit your application**
## Verification Timeline
### Immediate Access
- Most accounts are approved instantly
- You can start selling tickets right away
- Payouts may be held initially
### Full Verification
- **1-2 business days** for standard verification
- **Up to 7 days** for additional documentation review
- **Email notifications** for status updates
### Common Delays
- **Incomplete information** - double-check all fields
- **Unclear photos** - retake ID pictures if needed
- **Mismatched information** - ensure consistency across all forms
## Understanding Payouts
### Payout Schedule
- **New accounts**: 7-day rolling basis initially
- **Established accounts**: 2-day rolling basis
- **Express payouts**: Available for immediate needs
### Fee Structure
Our transparent pricing includes:
- **Platform fee**: 2.5% + $1.50 per ticket
- **Stripe processing fee**: Included in platform fee
- **No hidden charges** or monthly fees
### Payout Tracking
Monitor your earnings through:
- **Black Canyon Tickets dashboard** - summary view
- **Stripe dashboard** - detailed transaction history
- **Email notifications** for completed payouts
## Account Management
### Updating Information
To modify your Stripe account:
1. **Access Stripe Dashboard** via our settings page
2. **Update business information** as needed
3. **Re-verify if required** for significant changes
### Tax Documentation
Stripe automatically:
- **Generates 1099s** for US accounts earning $600+
- **Handles international tax forms** as applicable
- **Provides transaction history** for your records
### Dispute Protection
Stripe provides:
- **Chargeback protection** for eligible transactions
- **Fraud monitoring** and prevention
- **Dispute resolution** support
## Troubleshooting Common Issues
### Account Suspended
**Possible causes**:
- Incomplete verification
- Suspicious activity detected
- Policy violations
**Solutions**:
1. Check email for specific requirements
2. Complete any outstanding verification steps
3. Contact Stripe support for clarification
### Payout Delays
**Common reasons**:
- Bank holidays or weekends
- Verification in progress
- High-risk transaction review
**What to do**:
1. Check payout schedule in Stripe dashboard
2. Verify bank account information is correct
3. Contact support if delays exceed normal timeframes
### Connection Issues
**If connection fails**:
1. Clear browser cache and cookies
2. Try a different browser or device
3. Ensure popup blockers are disabled
4. Contact our support team for assistance
## Security and Compliance
### Data Protection
- **PCI DSS Level 1** certification
- **Bank-level encryption** for all transactions
- **No card data stored** on our servers
### Compliance
Stripe handles:
- **PCI compliance** requirements
- **International regulations** (GDPR, etc.)
- **Anti-money laundering** (AML) checks
- **Know Your Customer** (KYC) verification
## Support Resources
### Need Help?
- **Stripe Support**: Available 24/7 through Stripe dashboard
- **Our Support**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- **Documentation**: This guide and Stripe's official docs
### Common Questions
- **"How long until I can receive payments?"** - Usually immediate after verification
- **"Can I change my bank account?"** - Yes, through Stripe dashboard
- **"What if I need help with taxes?"** - Consult a tax professional; Stripe provides forms
## Next Steps
Once your Stripe account is connected:
1. **[Create your first event](/getting-started/first-event/)** - Start selling tickets
2. **Test the payment process** - Make a small test purchase
3. **Set up your dashboard** - Customize settings and preferences
4. **Promote your events** - Share your ticket links
---
*Your Stripe connection is the foundation of successful ticket sales. Take time to complete the setup thoroughly for the smoothest experience.*

View File

@@ -0,0 +1,66 @@
---
title: Black Canyon Tickets Documentation
description: Welcome to the comprehensive documentation for Black Canyon Tickets - the premium ticketing platform for mountain-town events.
template: splash
hero:
tagline: Premium ticketing made simple for upscale venues
image:
file: ../../assets/hero.svg
actions:
- text: Get Started
link: /getting-started/introduction/
icon: right-arrow
variant: primary
- text: View API Docs
link: /api/overview/
icon: external
---
import { Card, CardGrid } from '@astrojs/starlight/components';
## Why Choose Black Canyon Tickets?
<CardGrid stagger>
<Card title="Premium Experience" icon="star">
Designed specifically for upscale venues everywhere.
Every detail crafted for elegance and sophistication.
</Card>
<Card title="Seamless Integration" icon="puzzle">
Embed ticket purchasing directly into your venue's website with our
customizable checkout widget.
</Card>
<Card title="Mobile-First Scanning" icon="phone">
No apps required. Our web-based QR scanner works on any smartphone or tablet,
making door management effortless.
</Card>
<Card title="Automatic Payouts" icon="currency-dollar">
Stripe Connect integration ensures you get paid quickly and securely,
with transparent fee structures.
</Card>
</CardGrid>
## Quick Start Guide
1. **[Set up your account](/getting-started/account-setup/)** - Complete your organizer profile
2. **[Connect Stripe](/getting-started/stripe-connect/)** - Enable payment processing
3. **[Create your first event](/getting-started/first-event/)** - Set up tickets and pricing
4. **[Start selling](/events/publishing-events/)** - Publish and share your event
## Popular Topics
- [Creating Events](/events/creating-events/)
- [QR Code Scanning](/scanning/setup/)
- [Payment Processing](/sales/payment-processing/)
- [API Integration](/api/overview/)
- [Troubleshooting](/support/troubleshooting/)
## Need Help?
- 📧 **Email Support**: [support@blackcanyontickets.com](mailto:support@blackcanyontickets.com)
- 💬 **Live Chat**: Available during business hours
- 📖 **FAQ**: Browse our [frequently asked questions](/support/faq/)
---
*Black Canyon Tickets is built for the unique needs of premium event organizers,
providing enterprise-grade features with the simplicity needed to focus on what matters most - your events.*

View File

@@ -0,0 +1,271 @@
---
title: QR Scanner Setup
description: Complete guide to setting up mobile QR code scanning for your events.
---
# QR Scanner Setup
Black Canyon Tickets includes a powerful, browser-based QR scanning system that works on any smartphone or tablet. No apps to download, no complex setup - just point and scan.
## Quick Start
The fastest way to start scanning:
1. **Go to** `portal.blackcanyontickets.com/scan` on any mobile device
2. **Log in** with your organizer account
3. **Select your event** from the list
4. **Allow camera access** when prompted
5. **Start scanning tickets** immediately
## Scanner Features
### No App Required
- **Works in any web browser** (Chrome, Safari, Firefox, Edge)
- **Automatic camera activation** when you visit /scan
- **Responsive design** optimized for mobile devices
- **Offline capability** for areas with poor connectivity
### Real-Time Validation
- **Instant ticket verification** with visual/audio feedback
- **Duplicate check-in prevention** with clear warnings
- **Invalid ticket detection** with specific error messages
- **Check-in time tracking** for attendance records
### Multi-Device Support
- **Multiple scanners** can work simultaneously
- **Real-time synchronization** across all devices
- **Staff-specific login** for accountability
- **Device-agnostic** - works on any phone or tablet
## Detailed Setup Process
### Step 1: Access the Scanner
#### Mobile Browser
1. **Open your preferred browser** on your mobile device
2. **Navigate to** `portal.blackcanyontickets.com/scan`
3. **Bookmark the page** for quick future access
#### Desktop (for testing)
- Scanner works on desktop with webcam
- Primarily designed for mobile use
- Use for testing or backup scenarios
### Step 2: Login and Authentication
#### Organizer Login
1. **Enter your account credentials**
2. **Complete two-factor authentication** if enabled
3. **Grant camera permissions** when prompted by browser
#### Staff Access
For door staff without full organizer access:
1. **Create staff accounts** in your dashboard
2. **Assign scanning permissions** for specific events
3. **Provide login credentials** to staff members
### Step 3: Event Selection
#### Single Event
- **Event auto-selected** if you only have one active event
- **Quick start scanning** without additional navigation
#### Multiple Events
1. **Choose your event** from the dropdown list
2. **Confirm event details** (date, venue, time)
3. **Verify ticket count** and expected attendance
### Step 4: Camera Configuration
#### Automatic Setup
- **Camera activates automatically** on modern browsers
- **Front/rear camera selection** available on mobile
- **Auto-focus enabled** for optimal scanning
#### Manual Configuration
If automatic setup fails:
1. **Check browser permissions** in settings
2. **Enable camera access** for the website
3. **Refresh the page** and try again
4. **Try a different browser** if issues persist
## Best Practices for Scanning
### Device Positioning
- **Hold device steady** at arm's length from ticket
- **Ensure good lighting** - avoid direct sunlight or shadows
- **Keep QR code flat** and unobstructed
- **Maintain 6-12 inches** distance from ticket
### Scanning Technique
1. **Center the QR code** in the camera viewfinder
2. **Wait for green highlight** indicating successful scan
3. **Listen for audio confirmation** (success/error beep)
4. **Check visual feedback** on screen
### Managing Traffic
- **Position scanners strategically** to avoid bottlenecks
- **Have backup devices ready** for high-volume events
- **Train staff on troubleshooting** common issues
- **Keep charging cables available** for long events
## Training Your Staff
### Basic Training (5 minutes)
1. **Show the scanner URL** and how to access it
2. **Demonstrate login process** with test credentials
3. **Practice scanning** with sample QR codes
4. **Explain success/error indicators**
### Advanced Training (15 minutes)
1. **Troubleshoot common issues** (damaged tickets, network problems)
2. **Handle special cases** (VIP tickets, accessibility needs)
3. **Use manual check-in** when QR codes fail
4. **Understand reporting features** for attendance tracking
### Staff Guidelines
- **Always verify ID** for VIP or special access tickets
- **Be polite and patient** with technical difficulties
- **Ask for help** when unsure about ticket validity
- **Keep devices secure** and don't share login credentials
## Technical Requirements
### Supported Browsers
- **iOS Safari** 12+ (recommended for iOS)
- **Chrome Mobile** 80+ (recommended for Android)
- **Firefox Mobile** 85+
- **Samsung Internet** 14+
- **Microsoft Edge** 88+
### Device Requirements
- **Camera-enabled smartphone or tablet**
- **iOS 12+ or Android 8+** for optimal performance
- **Stable internet connection** (3G minimum, WiFi preferred)
- **Screen size** 4+ inches recommended
### Network Considerations
- **WiFi preferred** for fastest performance
- **Mobile data backup** for outdoor venues
- **Offline mode available** for temporary connectivity loss
- **Low bandwidth mode** for poor connections
## Troubleshooting Common Issues
### Camera Not Working
**Symptoms**: Black screen, no camera feed
**Solutions**:
1. Check browser camera permissions
2. Close other apps using camera
3. Restart browser or device
4. Try different browser
### QR Code Not Scanning
**Symptoms**: Camera works but won't recognize QR codes
**Solutions**:
1. Improve lighting conditions
2. Clean camera lens
3. Ensure QR code is clear and undamaged
4. Try different angle or distance
### Slow Performance
**Symptoms**: Long delays between scans
**Solutions**:
1. Check internet connection speed
2. Close unnecessary browser tabs
3. Clear browser cache
4. Switch to offline mode if available
### Duplicate Scan Errors
**Symptoms**: Valid tickets showing as already used
**Solutions**:
1. Check if ticket was previously scanned
2. Verify attendee identity
3. Use manual override if appropriate
4. Contact support for investigation
## Offline Mode
### When to Use
- **Poor internet connectivity** at venue
- **High-volume events** to reduce server load
- **Backup scanning** during network outages
- **Remote locations** with limited cell service
### How It Works
1. **Scanner caches ticket data** when online
2. **Validates tickets locally** when offline
3. **Syncs check-ins** when connection restored
4. **Prevents duplicate entries** across devices
### Limitations
- **Must go online initially** to download ticket data
- **Real-time reporting unavailable** while offline
- **Device storage required** for ticket database
- **Sync required** before final attendance reports
## Security Features
### Ticket Validation
- **UUID-based QR codes** prevent ticket forgery
- **Cryptographic verification** of ticket authenticity
- **Expiration checking** for time-sensitive events
- **Event-specific validation** prevents cross-event use
### Access Control
- **Role-based permissions** for scanning staff
- **Audit trail** of all scan activities
- **Device registration** for authorized scanners only
- **Automatic logout** for security
### Data Protection
- **No sensitive data** stored locally on devices
- **Encrypted communication** with servers
- **GDPR compliant** data handling
- **Automatic data purging** after events
## Reporting and Analytics
### Real-Time Metrics
- **Current attendance count** displayed on scanner
- **Check-in rate** and trending
- **Remaining capacity** monitoring
- **Peak entry times** tracking
### Post-Event Reports
- **Complete attendance list** with check-in times
- **CSV export** for external analysis
- **Revenue correlation** with attendance
- **Staff performance** metrics
## Advanced Features
### VIP and Special Access
- **Color-coded feedback** for different ticket types
- **Special handling prompts** for VIP tickets
- **Access level verification** for restricted areas
- **Guest list integration** for comped tickets
### Integration Options
- **Webhook notifications** for real-time updates
- **API access** for custom integrations
- **Third-party CRM** synchronization
- **Marketing automation** triggers
## Support and Help
### During Your Event
- **24/7 technical support** via phone or chat
- **Remote troubleshooting** assistance
- **Emergency backup** solutions
- **On-site support** for large events (premium)
### Documentation
- **Video tutorials** for staff training
- **Troubleshooting guides** for common issues
- **API documentation** for developers
- **Best practices** from other organizers
---
*The QR scanner is designed to be simple and reliable. With 5 minutes of setup, your entire team can be checking in attendees efficiently and securely.*

408
docs/src/styles/custom.css Normal file
View File

@@ -0,0 +1,408 @@
/* Custom Black Canyon Tickets branding - Modern Dark Theme */
/* Dark theme with glassmorphism */
:root {
/* Dark theme colors matching main site */
--sl-color-accent-low: rgba(59, 130, 246, 0.1);
--sl-color-accent: #3b82f6;
--sl-color-accent-high: #1d4ed8;
--sl-color-white: #ffffff;
--sl-color-gray-1: rgba(30, 41, 59, 0.8);
--sl-color-gray-2: rgba(30, 41, 59, 0.6);
--sl-color-gray-3: rgba(71, 85, 105, 0.5);
--sl-color-gray-4: rgba(100, 116, 139, 0.6);
--sl-color-gray-5: rgba(148, 163, 184, 0.7);
--sl-color-gray-6: rgba(203, 213, 225, 0.8);
--sl-color-black: #0f172a;
/* Dark theme overrides */
--sl-color-bg: transparent;
--sl-color-bg-nav: rgba(255, 255, 255, 0.05);
--sl-color-bg-sidebar: rgba(255, 255, 255, 0.05);
--sl-color-text: rgba(255, 255, 255, 0.9);
--sl-color-text-accent: #60a5fa;
--sl-color-text-invert: #1e293b;
--sl-color-bg-inline-code: rgba(255, 255, 255, 0.1);
--sl-color-hairline: rgba(255, 255, 255, 0.2);
--sl-color-hairline-light: rgba(255, 255, 255, 0.1);
--sl-color-hairline-shade: rgba(255, 255, 255, 0.05);
/* Custom gradient colors */
--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
--gradient-bg: linear-gradient(135deg, #1e1b4b 0%, #7c3aed 50%, #1e293b 100%);
--glass-bg: rgba(255, 255, 255, 0.1);
--glass-border: rgba(255, 255, 255, 0.2);
}
/* Main layout with animated background */
html {
background: var(--gradient-bg);
background-attachment: fixed;
min-height: 100vh;
}
body {
background: transparent;
position: relative;
overflow-x: hidden;
}
/* Animated background elements */
body::before {
content: '';
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(59, 130, 246, 0.2) 0%, transparent 50%),
radial-gradient(circle at 70% 70%, rgba(139, 92, 246, 0.2) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(236, 72, 153, 0.1) 0%, transparent 50%);
animation: float 20s ease-in-out infinite;
pointer-events: none;
z-index: -1;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(180deg); }
}
/* Grid pattern overlay */
body::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
background-size: 50px 50px;
pointer-events: none;
z-index: -1;
}
/* Glassmorphism effects */
.sl-nav,
.sidebar-pane,
.right-sidebar-container,
.sl-markdown-content,
.pagination-links,
.mobile-starlight-toggle {
background: rgba(255, 255, 255, 0.1) !important;
backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
/* Navigation styling */
.sl-nav {
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.sl-nav a {
color: rgba(255, 255, 255, 0.9);
transition: all 0.3s ease;
font-weight: 500;
}
.sl-nav a:hover {
color: #60a5fa;
transform: translateY(-1px);
}
/* Sidebar styling */
.sidebar-pane {
margin: 1rem;
border-radius: 20px;
}
.sidebar-content {
background: transparent;
}
.sidebar-content a {
color: rgba(255, 255, 255, 0.8);
transition: all 0.3s ease;
border-radius: 8px;
padding: 0.5rem 1rem;
margin: 0.25rem 0;
}
.sidebar-content a:hover {
color: #60a5fa;
background: rgba(255, 255, 255, 0.1);
transform: translateX(4px);
}
.sidebar-content a[aria-current="page"] {
color: #60a5fa;
background: rgba(59, 130, 246, 0.2);
border-left: 3px solid #60a5fa;
}
/* Content area styling */
.sl-markdown-content {
margin: 1rem;
padding: 2rem;
border-radius: 24px;
color: rgba(255, 255, 255, 0.9);
}
/* Typography with gradients */
.sl-markdown-content h1,
.sl-markdown-content h2,
.sl-markdown-content h3,
.sl-markdown-content h4 {
background: var(--gradient-primary);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 600;
letter-spacing: -0.025em;
margin-bottom: 1rem;
}
.sl-markdown-content h1 {
font-size: 2.5rem;
font-weight: 300;
margin-bottom: 1.5rem;
}
.sl-markdown-content h2 {
font-size: 2rem;
font-weight: 400;
}
.sl-markdown-content h3 {
font-size: 1.5rem;
font-weight: 500;
}
.sl-markdown-content p {
color: rgba(255, 255, 255, 0.8);
line-height: 1.7;
margin-bottom: 1rem;
}
/* Card styling with glassmorphism */
.sl-card {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
transition: all 0.3s ease;
overflow: hidden;
}
.sl-card:hover {
transform: translateY(-4px) scale(1.02);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
border-color: rgba(59, 130, 246, 0.5);
}
/* Code blocks with glassmorphism */
.sl-markdown-content pre {
background: rgba(15, 23, 42, 0.8) !important;
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 12px;
padding: 1.5rem;
margin: 1rem 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.sl-markdown-content code {
background: rgba(255, 255, 255, 0.1);
color: #60a5fa;
padding: 0.25rem 0.5rem;
border-radius: 6px;
font-size: 0.9em;
border: 1px solid rgba(255, 255, 255, 0.2);
}
/* Links with gradient hover */
.sl-markdown-content a {
color: #60a5fa;
text-decoration: none;
transition: all 0.3s ease;
border-bottom: 1px solid rgba(96, 165, 250, 0.3);
}
.sl-markdown-content a:hover {
background: var(--gradient-primary);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
border-bottom-color: #60a5fa;
}
/* Buttons with gradients */
.sl-markdown-content .sl-link-button,
button,
.pagination-links a {
background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
color: white;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 12px;
font-weight: 500;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(59, 130, 246, 0.3);
}
.sl-markdown-content .sl-link-button:hover,
button:hover,
.pagination-links a:hover {
transform: translateY(-2px) scale(1.05);
box-shadow: 0 8px 24px rgba(59, 130, 246, 0.4);
}
/* Table styling */
.sl-markdown-content table {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.2);
}
.sl-markdown-content th {
background: rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.9);
font-weight: 600;
padding: 1rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.sl-markdown-content td {
color: rgba(255, 255, 255, 0.8);
padding: 0.75rem 1rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* Blockquotes */
.sl-markdown-content blockquote {
background: rgba(59, 130, 246, 0.1);
border-left: 4px solid #3b82f6;
padding: 1rem 1.5rem;
margin: 1.5rem 0;
border-radius: 0 12px 12px 0;
backdrop-filter: blur(8px);
}
/* Lists */
.sl-markdown-content ul,
.sl-markdown-content ol {
color: rgba(255, 255, 255, 0.8);
padding-left: 1.5rem;
}
.sl-markdown-content li {
margin: 0.5rem 0;
}
/* Search styling */
.sl-search-button {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 12px;
color: rgba(255, 255, 255, 0.8);
transition: all 0.3s ease;
}
.sl-search-button:hover {
background: rgba(255, 255, 255, 0.2);
transform: scale(1.05);
}
/* Mobile responsiveness */
@media (max-width: 768px) {
.sl-nav,
.sidebar-pane,
.sl-markdown-content {
margin: 0.5rem;
border-radius: 16px;
}
.sl-markdown-content {
padding: 1rem;
}
.sl-markdown-content h1 {
font-size: 2rem;
}
.sl-markdown-content h2 {
font-size: 1.5rem;
}
}
/* Smooth scrolling */
html {
scroll-behavior: smooth;
}
/* Selection styling */
::selection {
background: rgba(59, 130, 246, 0.3);
color: white;
}
/* Focus styles */
*:focus {
outline: 2px solid #60a5fa;
outline-offset: 2px;
}
/* Animation for page transitions */
.sl-markdown-content {
animation: fadeInUp 0.6s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Loading states */
.sl-markdown-content img {
border-radius: 12px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.sl-markdown-content img:hover {
transform: scale(1.02);
}
/* Scrollbar styling */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
background: rgba(59, 130, 246, 0.5);
border-radius: 4px;
transition: background 0.3s ease;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(59, 130, 246, 0.7);
}