Enter your credentials to access the admin dashboard.
Incorrect username or password.
League Photography
Place Your Order
Select a package or build your own order with Ala Carte items below.
››
Player Information
Already placed an order?Add more to it without re-entering everything.
Your order number is on your confirmation text/email (looks like ORD-1234). The phone number must match the one used on that order.
📷 A photo preview is available! Enter the passcode from your school flyer, text, or email to view it.
Your photo is ready! Preview below — prints and digital copies are delivered without the watermark.
Choose a Package
You already bought a package on that order, so à la carte items are at the discounted add-on price — no need to buy another package first.
No Package
Order Ala Carte items only
$0
How many ?
Grandparents want a set too? Add extra copies of the whole package.
1
✨ Photo Touch-Up
Professional retouching applied to your child's photo before printing.
One flat $5 covers everything you pick below — choose any or all.
Add-Ons
Add extras to your package at the discounted with-package price.
Ala Carte Items
Order individual items without a package.
Additional Notes
Payment Method
PP
PayPal
Secure online payment
V
Venmo
@PhoenixPhotography
💳
Credit Card
Visa, MC, Discover, AMEX
💵
Pay in Person
Cash on photo day — no tax
✏️
Check
Pay by check — tax included
🕐
Pay Later
We'll send you a payment link
Please bring exact cash on photo day. Your order will be reserved and marked Pending until payment is collected. Cash payments are tax-free.
Your order will be reserved and a payment link will be sent to your email or phone. No tax is applied until payment is made.
Order Summary
$0.00
Total
⚠ Your package includes a digital photo. Without SMS consent or an email address on file, we won't be able to deliver it electronically — please add an email above or check the box.
Total $0.00
✅
Skip the cashier — head to the photographer's table
Your payment is complete. When you arrive, go straight to the photographer's table to get in line for pictures.
📷 Tip: Have your bat or glove and hat, and make sure shirts are tucked in so the line moves quickly!
💵
Go to the cashier's table when you arrive
Pay at the cashier's table first, then head to the photographer's table to get in line for pictures.
📷 Tip: Have your bat or glove and hat, and make sure shirts are tucked in so the line moves quickly!
✓
Order Received!
Thank you! Your order has been submitted successfully. Please save your reference number for photo day.
ORD-0001
🕐
Order Reserved!
Your order has been reserved. Use the link below to complete payment at any time via PayPal, Venmo, or Credit Card.
Bookmark or share this link to pay later. Your order stays reserved until payment is received.
📧 Send payment link by email
PhoenixFire
● NEW ORDER RECEIVED
🔒 You are logged in as an Employee. Tax settings, archiving, and CSV export are restricted to Admin users only.
Tax Settings
%
✓ Saved!
0.00%
Applied to: PayPal, Venmo, Credit Card
Tax is automatically added to all non-cash payments. Cash orders are always tax-free. Set to 0% to disable.
One location per line: Name = rate (e.g. Kennett, MO = 9.1625). Enter the full combined rate (state + county + city). The "state base" starter rows need the local portion added once you know the town.
Pick where each league / school shoots. From now on, new orders for that place charge its location's rate automatically — no more setting the event rate by hand. "(event default rate)" keeps using the Tax Rate box above. Existing orders are never changed.
User Management
Add, edit, or remove staff logins. Changes take effect immediately and are saved to this browser session. Note: Passwords are stored in the page code — for security, do not share the index.html file publicly.
✓ Saved!
Desktop Machines
Every computer running the PhoenixFire desktop app, newest check-in first.
Disable locks that install remotely within a few minutes —
reinstalling the app does not reset it. Machines check in on launch and every 10 minutes.
Manage Lists
Pick a league to manage its sports; pick a sport to manage that league/sport's team list. Customers must select league → sport → team in order.
✓ Saved!
Manage Pricing
Edit package prices + "includes" bullets, and manage the ala carte item list. The Standalone price is what shows on the customer form when no package is selected; the Add-on price is the discounted with-package price.
Editing prices for:
Packages
Ala Carte / Add-On items
Photo Touch-Up add-on
One charge no matter how many retouch options the parent picks. Retouching is done in Evoto before printing.
✓ Saved!
School Photos
Import Student Roster (CSV)
Columns (any order, flexible names): Student First, Student Last, Grade, Teacher, Parent/Guardian, Phone, Email, Notes, Jersey, Patron#, Student_ID — plus an optional School column for multi-school files. With no School column, type the school below. Jersey (sports rosters) shows beside the student's name on the School Files page. Patron# and Student_ID are carried through for the yearbook export — they never appear on the order form. Re-importing skips exact duplicates. Blank separator rows between sections are ignored. School Sports Group files add a Sport column — one row per athlete per sport, all nine sports in one file. Parents then pick School → Sport → name, with every grade listed together. Staff files are teachers & staff: Last, First plus an optional School, Teacher#/Staff ID and Position. They all land on one staff list of their own — named below — grouped by campus, so a whole district's staff is worked as a single roster instead of being scattered through each campus's student list. On a staff file the School column is the person's campus; blank or “Blank” falls back to the campus box, then to “(no campus)”. Staff get file numbers, sort to the desktop (one folder per campus) and land in the yearbook export like everyone else, but they never appear on the parent order form and never get a photo passcode. Student rosters are never touched by a staff import.
Sets which order-form options parents see for this school. Re-importing with a different type switches the school over. Staff is the exception — it never changes a school's type, because staff go on their own list.
Already imported staff into the campuses? Move every staff member onto the one list above, keeping the campus they came from as their group. Students and existing orders are not touched.
Remove Rosters
Removes every student on the selected school(s) from the roster (soft — nothing is hard-deleted). Students who already have an active order are kept and reported. Use this to clean up an import that landed under the wrong school names. Hold Ctrl to pick several.
Photo Fee & Package Credit (travel teams)
For teams where every player pays a photo fee through the order form (e.g. travel ball: $30 each, $15 back with any package). The fee is added to every order for that school automatically — parents can submit a fee-only order — and the credit comes off when the kid orders a package. Set both to 0 to remove.
School Flyer QR & Link
Generate a QR + link that opens the school order form pre-set to one school. Print it on that school's flyer so parents land straight on the right form.
Package Example Photos
Upload one example photo per package. Customers see a thumbnail on the package card and can click it to view the full image. Set a Default set used everywhere, then optionally override it for a specific league below — that league's customers see its photos instead.
Bronze Package
+ Upload Photo
Silver Package
+ Upload Photo
Gold Package
+ Upload Photo
✓ Photos saved!
0
Total Orders
0
Pending Payment
0
Awaiting File #
Paid Revenue by Payment Method
Paid Revenue by Date
Active Orders
Program:
Ref #
Player
Team / League
Package
Subtotal
Tax
Total
Payment
Status
File #
Actions
Live▼
0Orders
0File # set
Past Events
Order Archives
Search and browse all past event orders.
Program:
After-the-fact orders
Print Board
Orders that paid after the original batch shipped. Mark each as completed once you've printed it.
0 orders pending
Auto-reconcile activity
Venmo Payments
Every Venmo email the reconcile script has handled. Paid rows were matched to an order and marked paid automatically. Review rows weren't — check those (and their Venmo-Review label in Gmail).
Program:
0 payments
Active event
Team File #s
Enter the group-photo file number for each team. It auto-fills the 5x7 Team / 8x10 Team file number on every order for that team — current orders and any that come in later.
0 teams
Inbound texts
Customer Replies
Text messages customers have sent back to your Twilio number, matched to the most recent order with that phone number. STOP and HELP are handled automatically by Twilio and may not appear here.
0 replies
School photos
Student File #s
Assign a file number to every student (whether they ordered or not) and a group-photo number to each class. Numbers attach to any matching order automatically — current orders and any that come in later.
📷 Number entry
Current student
— pick with 📷 on a row —
Next:—
Your last #: — · Enter saves & pulls up the next kid
Are you sure?
Recent Numbers
The last 20 file numbers entered on this device, newest first. Edit a number and Save to correct it — the fix flows to the student and their orders just like a normal entry.
Photo Passcodes
Passcodes lock each student's photo preview on the order form so only their own family can view it. Generate once, then deliver by email, text, or printed slips the school sends home.
Already sent? Mark them (skips them next run)
Records passcodes as delivered without sending anything — use it after a send that really went out but wasn't tracked.
Paste the addresses/numbers that got through (one per line) and mark only those, or leave the box empty to mark the whole school.
Add Student
Archive & New Event
Name this event before archiving. All current orders will be saved in the Archives tab. The active list will then be cleared for your next event.
Archive a League
Archive only one league's active orders into their own archive entry. Every other league stays active and nothing already archived is touched. A totals report (by payment type, by print date) downloads automatically.
Delete a League / School
Permanently delete all active orders for one league or school. For a school its student roster is also removed; for a league it's removed from the order form. Archived orders are NOT touched. This can't be undone.
Edit Order
Customer Info
Package
Ala Carte / Add-Ons
File Numbers
Payment Method
Changing the payment method recalculates tax — Cash and Hold are tax-free; everything else uses the event's tax rate.
New Total$0.00
App Settings
Printers
Used as labels on print buttons + paper-size routing. Your browser's kiosk-print config is what actually selects the physical printer (set the default per Chrome profile / OS print queue).
Twilio SMS
Master switch. Leave OFF while your toll-free number is in verification or your 10DLC campaign isn't approved yet — every outbound SMS (digitals, coach messages, replies) will be silently skipped with a reason logged. Flip ON once Twilio approves your number.
Turn this OFF to pause just the order digital-photo delivery texts. Scheduler coach messages and Replies-inbox sends keep working as long as the master switch above is on.
Digital copies auto-send when an order is marked Printed and includes Gold package or à la carte Digital — and only when the master switch above is ON.
S3 bucket (composite source)
Must match the PhoenixFire desktop app's S3 Settings — that's where composites are uploaded from.
Tax Settings
Package Example Photos
Composites
No composites to show. Add a file number to each item in the order, then make sure the PhoenixFire desktop app has uploaded composites for those file numbers to S3.
Delete Orders
Permanently delete orders from the database. This cannot be undone.
Enter PIN to confirm:
Incorrect PIN.
Rename Event
Update the name for the current active event.
Print Label
Preview below. Click Print Label to send to your printer.
Card Payment Log
Every card attempt in the last 72h, successes and failures.
When a whole event fails at once, the repeated message below is the reason — the
Server IP column is the address our host sends every charge from.
Complete Payment
$0.00
Pay with your credit or debit card. Your payment is processed securely by Clover — card details never touch our server.
Click the PayPal button below to complete your payment securely.
Send payment to
@phoenix-photography
Amount: $0.00
Include your name and ref number in the Venmo note so we can match your payment.