1 List
2 Detail
3 Issue
4 Redeem
5 Settings
Step 1 — Certificate Dashboard
Certificate List Live
9:41
Gift Certificates
8
Active
$1,247.50
Outstanding
All
Active
Partial
Used
Certificates
12 total
GC-000412 active
Sarah Mitchell
GIFT-SM-2026
Original
$250.00
Balance
$187.50
Used
25%
GC-000409 partially redeemed
David Chen
LOYAL-DC-500
Original
$500.00
Balance
$310.00
Used
38%
GC-000401 fully redeemed
Maria Gonzalez
REFUND-MG-100
Original
$100.00
Balance
$0.00
Used
100%

StatCardRow + SegmentedControl + CertificateCard

Filters: All / Active / Partial / Used

Empty State Live
9:41
Gift Certificates
0
Active
$0.00
Outstanding
All
Active
Partial
Used
No gift certificates yet
Issue gift certificates to reward customers or resolve service issues.

EmptyState with ic hero ic-D

CTA leads to Issue screen


Step 2 — Certificate Detail
Active Certificate Live
9:41
Certificate
GC-000412
ACTIVE
GIFT-SM-2026
Original Value
$250.00
Balance
$187.50
25% used
Recipient
Name Sarah Mitchell
Email sarah.m@gmail.com
Phone (330) 555-0147
Details
Source Manual Issuance
Issued Jan 15, 2026, 2:30 PM
Issued By Mike Johnson
Expires Dec 15, 2026
Reason Repeat customer appreciation gift for annual HVAC service
Redemptions 1
Redemption History
-$62.50 Feb 8, 2026, 10:15 AM
Balance: $250.00 → $187.50
by Mike Johnson
Internal Notes

Loyal customer since 2022. Issued as part of the Winter Appreciation campaign. Applied toward drain cleaning service.

Terracotta header with ic lg ic-G

Progress bar, recipient, redemption timeline

Cancelled Certificate Live
9:41
Certificate
GC-000395
CANCELLED
PROMO-FALL-150
Original Value
$150.00
Balance
$150.00
0% used
Details
Source Promotional
Issued Oct 1, 2025, 9:00 AM
Expires Dec 31, 2025
Redemptions 0
Redemption History
No redemptions
Cancelled

Nov 20, 2025, 3:45 PM

Promotional campaign ended early. Customer was offered a replacement certificate with extended validity.

Cancelled state with error-bordered card

Empty redemption history, no action buttons


Step 3 — Issue Certificate
Issue Form — Top Live
9:41
Issue Certificate
Issue Gift Certificate
Create a gift certificate for a customer
Certificate Value
Amount
$ 250.00
Min: $1.00 / Max: $10,000.00
Recipient (Optional)
Name
Sarah Mitchell
Email
sarah.m@gmail.com
Phone
(330) 555-0147

ic hero ic-B header + amount card

Recipient fields are optional

Issue Form — Bottom Live
9:41
Issue Certificate
Certificate Details
Source
Manual Issuance
Reason
Repeat customer appreciation — annual HVAC maintenance contract
Redemption Code (Optional)
PROMO2026
Leave blank to auto-generate
Expiration (Days)
365
Internal Notes
Winter appreciation campaign batch. Loyal customer since 2022.
Code & DeliveryA unique redemption code is auto-generated and emailed to the recipient.

Source select, reason, code, expiration

Source options: Manual, Loyalty, Refund, Promo, Referral, Recovery


Step 4 — Redeem Certificate
Search & Lookup Live
9:41
Redeem Certificate
Redeem Gift Certificate
Enter the certificate code or number
GIFT-SM-2026
GC-000412 active
Sarah Mitchell
Original
$250.00
Balance
$187.50
Expires Dec 15, 2026
Redemption Amount
$ 75.00
Note (Optional)
Applied to drain cleaning invoice #1847
Partial Redemption$75.00 of $150.00 balance. Remaining $75.00 stays on the certificate.

Code lookup + balance display + amount input

“Use Full Balance” shortcut button

Not Found State Live
9:41
Redeem Certificate
Redeem Gift Certificate
Enter the certificate code or number
INVALID-CODE
Certificate Not Found
No certificate matches “INVALID-CODE”. Check the code and try again.

Error state with ic lg ic-L

Searched code echoed in error message


Step 5 — Settings
Settings — Top Live
9:41
Settings
Gift Certificate Settings
Value Limits
Minimum Value
$ 1.00
Maximum Value
$ 10,000.00
Redemption Rules
Allow Partial Redemption
Let customers use part of the balance
Expiration
Default Expiration (Days)
365
Allow Extensions
Allow extending certificate expiration
Max Extension (Days)
365

Value limits, redemption rules, expiration config

ic lg ic-D header

Settings — Bottom Live
9:41
Settings
Numbering
Certificate Prefix
GC-
Preview: GC-000413
Loyalty Rewards
Enable Loyalty Rewards
Auto-issue certificates for loyal customers
Spending Threshold
$ 1,000.00
Issue reward after customer spends this amount
Reward Value
$ 50.00
Max Rewards Per Year
4
Pro TipLoyalty rewards auto-issue when a customer’s lifetime spend crosses the threshold.

Numbering prefix + loyalty rewards config

Loyalty: threshold, reward value, max per year

Certificate List + Active Detail Live
9:41
Gift Certificates
8
Active
$1,247
Outstanding
Issue New
Redeem
Search by code, name...
All
Active
Partial
Used
GC-000412Active
Sarah Mitchell · $250.00 · $187.50 bal
GC-000409Partial
David Chen · $500.00 · $310.00 bal
GC-000401Used
Maria Gonzalez · $100.00 · $0.00 bal
GC-000412
ACTIVE
GIFT-SM-2026
Original
$250.00
Balance
$187.50
Used
25%
25% used
Details
RecipientSarah Mitchell
SourceManual
IssuedJan 15, 2026
ExpiresDec 15, 2026
Redemptions1
Redemption History
$62.50 redeemed
Feb 10, 2026 · Drain cleaning invoice #1847
Extend
Cancel
Issue Form + Redeem Lookup Live
9:41
Issue & Redeem
Issue Certificate
Amount
$250.00
Min: $1.00 / Max: $10,000.00
Recipient Name
Sarah Mitchell
Email
sarah.m@gmail.com
Source
Manual Issuance
Reason
Repeat customer appreciation — annual HVAC maintenance contract
Expiration (Days)
365
Issue Certificate
Redeem Certificate
GIFT-SM-2026
GC-000412
Active
Original$250.00
Balance$187.50
Redemption Amount
$75.00
Redeem $75.00
Settings
Allow Partial Redemption
Customers use part of balance
Loyalty Rewards
Auto-issue at $1,000 spent
Email Notifications
Issue, redeem, expiration alerts

Settings Live
9:41
Settings
Limits
Min Value
$25
Max Value
$500
Expiration
365 days
Numbering
Prefix
GC-
Features
Partial Redemption
Loyalty Rewards
Email Notifications
Loyalty Config
Threshold
$1,000
Reward Value
$50
Max/Year
4
Dashboard Live
https://app.3bids.io/contractor/gift-certificates
3BidsGift Certs
Dashboard ⌘1
All Certificates ⌘2
Issue New ⌘N
Redeem ⌘R
Settings ⌘,
MR
Mike Reynolds
Contractor

Gift Certificate Dashboard

84
Issued
$4.2K
Total Value
62
Redeemed
$1.8K
Outstanding
Recent Activity
Certificate issued — $100
2 minutes ago
Certificate redeemed — $50
15 minutes ago
Certificate expiring soon
1 hour ago
Issuance & Redemption

All Certificates Live
https://app.3bids.io/contractor/gift-certificates/list
3BidsGift Certs
Dashboard
All Certificates
Issue New
Redeem
Settings
MR
Mike Reynolds
Contractor

All Certificates

Search by code or name…
All Active Partial Used Expired
Code
Recipient
Value
Balance
Expires
Status
GC-2026-084
Sarah Mitchell
$100
$100
Dec 2026
Active
GC-2026-079
James Kowalski
$150
$75
Jun 2026
Partial
GC-2026-071
Angela Briggs
$75
$0
Mar 2026
Used
GC-2025-042
Tom Henderson
$50
$50
Expired
Expired

Issue New Live
https://app.3bids.io/contractor/gift-certificates/issue
3BidsGift Certs
Dashboard
All Certificates
Issue New
Redeem
Settings
MR
Mike Reynolds
Contractor

Issue Certificate

Certificate Details
Amount *
$100.00
Source
Customer Appreciation
Custom Code
Auto-generated
Expiration
365 days
Recipient (Optional)
Name
Sarah Mitchell
Email
sarah.m@gmail.com
Notes
Winter appreciation campaign
Issue Certificate

Redeem Live
https://app.3bids.io/contractor/gift-certificates/redeem
3BidsGift Certs
Dashboard
All Certificates
Issue New
Redeem
Settings
MR
Mike Reynolds
Contractor

Redeem Certificate

Lookup Certificate
GC-2026-079
Lookup
James Kowalski
Partial
Original
$150
Used
$75
Balance
$75
Redeem Amount
$75.00
Redeem $75.00

Settings Live
https://app.3bids.io/contractor/gift-certificates/settings
3BidsGift Certs
Dashboard
All Certificates
Issue New
Redeem
Settings
MR
Mike Reynolds
Contractor

Certificate Settings

Limits & Defaults
Min Value
$25.00
Max Value
$500.00
Default Expiration
365 days
Certificate Prefix
GC-
Features
Allow Partial Redemption
Loyalty Rewards
Email Notifications

Data Architecture

Schema tables, queries, mutations, and status flows that power Gift Certificates.

Source Files

index.tsx
Certificate list — stats dashboard, filters, certificate cards
screen
[id].tsx
Certificate detail — values, redemption timeline, extend/cancel actions
screen
new.tsx
Issue certificate form — amount, recipient, source, expiration
screen
redeem.tsx
Redeem by code or certificate number, partial redemption
screen
settings.tsx
Feature configuration — limits, expiration rules, loyalty rewards
screen

Convex Queries

listGiftCertificates
Filter by status. Returns certificates with balance and expiry.
query
getGiftCertificate
By certificateId, code, or number. Full cert + recipient + metadata.
query
getGiftCertificateRedemptions
Redemption history with balanceBefore/balanceAfter per transaction.
query
getGiftCertificateSettings
Min/max values, expiration rules, loyalty reward configuration.
query

Convex Mutations

issueGiftCertificate
Value, source, recipient, custom code, expiration days, notes.
mutation
redeemGiftCertificate
Partial or full redemption. Returns amountRedeemed and remaining balance.
mutation
extendGiftCertificateExpiration
Adds days to certificate expiration. Validates certificate is active.
mutation
cancelGiftCertificate
Sets status to cancelled with reason. Preserves redemption history.
mutation
upsertGiftCertificateSettings
Min/max value limits, default expiration, loyalty reward config.
mutation

Certificate Status Flow

issued active partially_redeemed fully_redeemed
Terminal: cancelled expired

Key Design Decisions

Contractor Palette
Terracotta accent, IconCircle styles B/D/F + semantic states
Partial Redemption
Balance tracking per transaction with before/after amounts
Expiration Control
Configurable expiration with extension capability for active certificates
Loyalty Integration
Auto-issue certificates as rewards for repeat customers
Cancellation Safety
Requires reason, preserves full redemption history for audit