Use Case: Lost Item Workflow
Use Case: Lost Item Workflow
Overview
This use case describes the complete workflow for lost and found items using Plings identifiers, from initial loss discovery through recovery and reward distribution. The system enables seamless item recovery through community scanning, automated notifications, and incentivized return processes.
User Story
As a user, I want to report lost items and receive notifications when they’re found so that I can recover my belongings quickly and reward helpful community members.
Business Value
- User Acquisition: Non-users discover Plings through finding lost items
- Community Trust: Build trust through transparent lost & found processes
- User Retention: Increase app adoption through successful recovery stories
- Revenue Generation: Finder’s fees create economic incentives for participation
- Brand Recognition: Plings tags become synonymous with item recovery
- Data Collection: Gather valuable location and usage data from recovery events
- Viral Growth: Successful recoveries create word-of-mouth marketing
Core Scenario: Ski Glasses Recovery
The Lost Item Discovery
Setting: Ski resort, user realizes glasses fell off helmet during descent
User Actions:
- Realize Loss: User notices glasses missing during ski run
- Access App: Opens Plings app to report lost item
- Quick Report: Uses “Report Lost” feature with minimal input
- Set Reward: Offers finder’s fee (e.g., $20) for return
- Activate Tracking: System begins monitoring for scans
System Response:
- Immediately marks item as
loststatus - Activates location tracking and notifications
- Publishes lost item alert to community
- Prepares finder’s fee escrow
The Community Discovery
Setting: Another person (non-Plings user) finds glasses on slope, brings them down
Finder Background:
- New to Plings: Has heard of Plings but never used it
- Curious: Notices QR code/NFC tag on found item
- Helpful: Wants to return item to rightful owner
- Incentivized: Sees potential reward for doing good
Finder Actions:
- Discover Item: Finds glasses with visible Plings tag
- Recognize Tag: “Oh, this has a Plings tag - I’ve heard of that”
- Scan Tag: Uses phone camera to scan QR code/NFC tag
- Discover System: First exposure to Plings lost & found
- View Status: Sees item is marked as “LOST” with reward
- Access Contact: Gets owner’s phone number from public page
- Make Contact: Calls owner to arrange return
- Consider App: “Maybe I should get the Plings app for my own items”
System Response:
- Records scan location and timestamp
- Sends immediate notification to owner
- Provides finder with contact information
- Shows finder’s fee amount and claim process
- User Acquisition: Introduces Plings to potential new user
- Onboarding: Guides finder through first Plings experience
The Recovery Process
Setting: Owner and finder arrange meeting, complete return
Recovery Actions:
- Arrange Meeting: Owner and finder coordinate time/location
- Verify Item: Owner confirms glasses are theirs
- Scan Recovery: Owner scans item with Plings app
- Confirm Return: App asks “Mark as found and release reward?”
- Complete Transfer: Owner confirms, system releases finder’s fee
System Response:
- Changes status from
losttoactive - Releases escrowed finder’s fee to finder
- Records recovery location and timestamp
- Sends confirmation to both parties
- Updates item location in spatial hierarchy
Workflow Steps
Step 1: Report Lost Item
- Trigger: User realizes item is missing
- Location: Plings mobile app
- Required Info: Item identification, last known location, reward amount
- Optional Info: Description, photos, specific location details
UI Flow:
📱 Report Lost Item
🔍 What did you lose?
[Search your objects...] or [Scan tag directly]
📍 Last seen where?
[Current location] [Select from map] [Enter manually]
💰 Reward for return?
$0 | $5 | $10 | $20 | $50 | [Custom amount]
📝 Additional details (optional)
"Lost on ski slope, blue frame, prescription lenses"
📞 Contact information
Phone: [Your number] [Show to finder]
Email: [Your email] [Keep private]
[🚨 Report Lost] [❌ Cancel]
Step 2: System Activation
- Status Update: Item marked as
lostin database - Notification Setup: Email/SMS alerts configured
- Community Alert: Lost item published to local community
- Reward Escrow: Finder’s fee held in escrow account
- Location Tracking: System monitors for future scans
Backend Processing:
async def report_lost_item(user_id: str, item_id: str, reward_amount: float,
last_location: Location, contact_info: ContactInfo):
"""Report item as lost and activate recovery system"""
# Update item status
await update_object_statuses(item_id, ['lost'])
# Create lost item record
lost_record = LostItemRecord(
id=generate_uuid(),
item_id=item_id,
owner_id=user_id,
reported_at=datetime.utcnow(),
last_known_location=last_location,
reward_amount=reward_amount,
contact_info=contact_info,
status=LostItemStatus.ACTIVE
)
# Escrow reward amount
await escrow_finder_fee(user_id, reward_amount)
# Send notifications to community
await notify_community_of_lost_item(lost_record)
# Activate scan monitoring
await activate_scan_monitoring(item_id)
return lost_record
Step 3: Community Scanning
- Trigger: Anyone scans Plings tag on lost item
- Access: Public web page accessible without app
- Information: Item status, owner contact, reward amount
- Actions: Contact owner, claim reward, install app
Public Scan Page:
🔍 Item Found: Ski Glasses
📊 Status: LOST - Reward Available
💰 Finder's Fee: $20.00
👤 Owner Contact:
📞 Phone: (555) 123-4567
📧 Email: [Contact through app]
📍 Last Seen: Ski Resort, Main Slope
⏰ Lost Since: 2 hours ago
💡 First time using Plings?
This is a lost & found system that helps people
recover their belongings. You can help by contacting
the owner and earn a reward!
📱 Get Plings App:
• Track your own items
• Earn rewards for helping others
• Join the community
[📞 Call Owner] [📱 Get App] [❌ Close]
Step 4: Owner Notification
- Trigger: Item scanned by finder
- Delivery: Email, SMS, push notification
- Content: Scan location, finder contact, recovery instructions
- Actions: Contact finder, arrange pickup
Notification Content:
🚨 Your Ski Glasses Were Found!
📍 Scanned at: Ski Resort Lodge
⏰ Time: 3:45 PM today
👤 Finder: Available for contact
📞 Contact: (555) 987-6543
📧 Email: finder@email.com
💰 Reward: $20.00 (held in escrow)
[📞 Call Finder] [📱 Open App] [📍 View Location]
Step 5: Item Recovery
- Meeting: Owner and finder meet at agreed location
- Verification: Owner confirms item identity
- Scan: Owner scans item with Plings app
- Confirmation: App prompts for recovery confirmation
- Reward: System releases finder’s fee
Recovery UI:
✅ Item Recovery
🔍 Confirming: Ski Glasses
📍 Location: Coffee Shop, Main Street
⏰ Time: 4:30 PM
💰 Reward: $20.00 ready to release
📋 Recovery Checklist:
☑️ Item is yours
☑️ In good condition
☑️ Ready to release reward
[✅ Confirm Recovery] [❌ Cancel]
Step 6: Reward Distribution
- Escrow Release: Finder’s fee transferred to finder
- Status Update: Item marked as
active - Location Update: Item location updated in system
- Confirmation: Both parties receive confirmation
Reward Processing:
async def complete_item_recovery(item_id: str, owner_id: str, finder_id: str):
"""Complete item recovery and distribute reward"""
# Update item status
await update_object_statuses(item_id, ['active'])
# Release escrowed reward
reward_amount = await get_lost_item_reward(item_id)
await release_finder_fee(owner_id, finder_id, reward_amount)
# Update item location
current_location = await get_user_location(owner_id)
await update_object_location(item_id, current_location)
# Send confirmations
await send_recovery_confirmation(owner_id, item_id)
await send_reward_confirmation(finder_id, reward_amount)
# Record recovery event
await record_recovery_event(item_id, owner_id, finder_id)
Technical Implementation
Database Schema Extensions
Lost Items Table:
CREATE TABLE lost_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
item_id UUID NOT NULL REFERENCES object_instances(id),
owner_id UUID NOT NULL REFERENCES auth.users(id),
reported_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
last_known_location GEOGRAPHY(POINT),
reward_amount DECIMAL(10,2) NOT NULL,
contact_info JSONB NOT NULL,
status lost_item_status DEFAULT 'active',
found_at TIMESTAMP WITH TIME ZONE,
finder_id UUID REFERENCES auth.users(id),
recovery_location GEOGRAPHY(POINT),
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE TYPE lost_item_status AS ENUM ('active', 'found', 'expired', 'cancelled');
Finder Rewards Table:
CREATE TABLE finder_rewards (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
lost_item_id UUID NOT NULL REFERENCES lost_items(id),
finder_id UUID NOT NULL REFERENCES auth.users(id),
amount DECIMAL(10,2) NOT NULL,
status reward_status DEFAULT 'pending',
claimed_at TIMESTAMP WITH TIME ZONE,
paid_at TIMESTAMP WITH TIME ZONE,
payment_method payment_method_type,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE TYPE reward_status AS ENUM ('pending', 'claimed', 'paid', 'expired');
CREATE TYPE payment_method_type AS ENUM ('stripe', 'paypal', 'crypto', 'credits');
GraphQL Schema Extensions
Lost Item Types:
type LostItem {
id: ID!
item: ObjectInstance!
owner: User!
reportedAt: String!
lastKnownLocation: Location
rewardAmount: Float!
contactInfo: ContactInfo!
status: LostItemStatus!
foundAt: String
finder: User
recoveryLocation: Location
scanEvents: [ScanEvent!]!
timeSinceLost: String!
}
type ScanEvent {
id: ID!
lostItem: LostItem!
scannedAt: String!
location: Location!
deviceInfo: DeviceInfo
finderContact: ContactInfo
}
type ContactInfo {
phone: String
email: String
name: String
preferredContact: ContactMethod!
}
enum LostItemStatus {
ACTIVE
FOUND
EXPIRED
CANCELLED
}
enum ContactMethod {
PHONE
EMAIL
APP_ONLY
}
# Lost Item Queries
type Query {
getMyLostItems(status: LostItemStatus): [LostItem!]!
getLostItem(id: ID!): LostItem
searchLostItemsNearby(
location: LatLngInput!
radiusKm: Float = 10.0
category: String
): [LostItem!]!
getFinderRewards: [FinderReward!]!
}
# Lost Item Mutations
type Mutation {
reportLostItem(
itemId: ID!
rewardAmount: Float!
lastKnownLocation: LatLngInput
contactInfo: ContactInfoInput!
): LostItem!
updateLostItem(
id: ID!
rewardAmount: Float
contactInfo: ContactInfoInput
): LostItem!
cancelLostItem(id: ID!): Boolean!
scanLostItem(
itemId: ID!
location: LatLngInput!
contactInfo: ContactInfoInput
): ScanEvent!
completeRecovery(
lostItemId: ID!
finderId: ID!
location: LatLngInput!
): RecoveryResult!
claimFinderReward(
lostItemId: ID!
paymentMethod: PaymentMethodInput!
): FinderReward!
}
input ContactInfoInput {
phone: String
email: String
name: String
preferredContact: ContactMethod!
}
type RecoveryResult {
success: Boolean!
lostItem: LostItem
reward: FinderReward
message: String
}
Notification System Integration
Email Templates:
// Lost item scan notification
const lostItemScanTemplate = {
subject: "🚨 Your was found!",
body: `
<h2>Great news! Your was found!</h2>
<p><strong>Scanned at:</strong> </p>
<p><strong>Time:</strong> </p>
<p><strong>Reward:</strong> $</p>
<p>The finder can contact you at: </p>
<a href="" class="button">View Recovery Details</a>
`
};
// Recovery confirmation
const recoveryConfirmationTemplate = {
subject: "✅ recovered successfully!",
body: `
<h2>Recovery Complete!</h2>
<p>Your has been marked as found and the reward has been released.</p>
<p><strong>Recovery location:</strong> </p>
<p><strong>Reward paid:</strong> $</p>
<p>Thank you for using Plings!</p>
`
};
User Experience Design
Mobile App Workflows
Report Lost Item Flow:
1. Open App → Objects → [Select Item] → "Report Lost"
2. Set Reward Amount → "Continue"
3. Confirm Contact Info → "Report Lost"
4. Success: "Item reported as lost. We'll notify you when found."
Recovery Flow:
1. Receive Notification → "View Details"
2. Contact Finder → Arrange Meeting
3. Meet & Verify → Scan Item → "Confirm Recovery"
4. Success: "Item recovered! Reward released."
Public Web Interface
Finder Experience:
1. Scan QR Code → Public Web Page
2. Discover Plings: "Oh, this is a lost & found system!"
3. See Item Status: "LOST - $20 Reward"
4. View Owner Contact → Call/Email
5. Arrange Return → Install App (Optional)
6. Claim Reward → Receive Payment
7. Consider: "I should tag my own items with Plings"
Business Rules
Reward System
- Minimum Reward: $5.00 (encourages participation)
- Maximum Reward: $500.00 (prevents abuse)
- Escrow Period: 30 days (automatic refund if not claimed)
- Payment Methods: Stripe, PayPal, Plings credits, crypto
- Tax Handling: Finder responsible for tax reporting
Privacy Protection
- Owner Contact: Phone/email only shared when item is lost
- Location Data: Generalized to protect privacy
- Finder Info: Optional, can remain anonymous
- Data Retention: Lost item records deleted after 1 year
Community Guidelines
- No False Reports: Penalties for fraudulent lost item reports
- Respectful Contact: Guidelines for finder-owner communication
- Fair Rewards: Suggested reward amounts based on item value
- Community Rating: Both parties can rate each other
Success Metrics
Recovery Success
- Recovery Rate: Percentage of lost items successfully recovered
- Average Recovery Time: Time from loss to recovery
- Community Participation: Number of unique finders
- Reward Effectiveness: Correlation between reward amount and recovery speed
User Engagement
- App Adoption: New users from finder experiences
- User Acquisition: Conversion rate from finder to registered user
- Retention: Users who report multiple lost items
- Community Growth: Active users in lost & found network
- Satisfaction: User ratings and feedback
- Viral Coefficient: Finders who recommend Plings to others
Business Impact
- Revenue: Finder’s fee processing fees
- Brand Recognition: Plings as go-to lost & found solution
- Data Value: Location and usage patterns
- Partnerships: Integration with venues and events
Future Enhancements
Advanced Features
- AI Matching: Automatic matching of found items to lost reports
- Community Alerts: Push notifications to nearby users
- Venue Integration: Partner with venues for lost & found desks
- Insurance Integration: Connect with item insurance providers
Technology Integration
- IoT Tracking: Real-time location tracking for high-value items
- Blockchain Rewards: Decentralized reward distribution
- AR Scanning: Augmented reality for item identification
- Voice Commands: Voice-activated lost item reporting
Community Features
- Lost & Found Groups: Local community groups for item recovery
- Volunteer Network: Dedicated volunteers for item recovery
- Educational Content: Tips for preventing item loss
- Success Stories: Community sharing of recovery experiences
Related Documentation
Core System Dependencies
- Use Case: notification-system.md - Email and push notifications
- Use Case: assign-status.md - Lost/found status management
- Use Case: geographical-location-tracking.md - Location services
Complementary Features
- Use Case: tag-scanning-integration.md - QR/NFC scanning
- Use Case: consumer-product-authentication.md - Item verification
- Use Case: personal-organization.md - Item management
Use Case Created: Mån 7 Jul 2025 13:15:22 CEST - Comprehensive lost item workflow with community-based recovery and incentivized return system