Upgrade or Downgrade Plan
How to change your subscription plan and manage feature access
Upgrade or Downgrade Plan
You can upgrade or downgrade your LobbyFlight plan at any time to adjust to your needs. This article explains the entire process.
Overview: Plan Changes
Upgrade vs. Downgrade
Upgrade (e.g., Basic → Pro or Pro → Premium):
Downgrade (e.g., Premium → Pro or Pro → Basic):
Available Plans
Basic - €69/month:
Pro - €149/month ⭐ Most Popular:
Premium - €199/month:
Upgrading Your Plan
Step-by-Step: Performing an Upgrade
- Log in to the hotel portal
- Click "Billing" in the navigation
- You'll see your current plan
- Click the "Manage Subscription" button
- You'll be redirected to Stripe
- Stripe portal opens in a new tab
- In Stripe portal: Click "Update plan"
- Choose the desired higher plan
- Review: New features and price
- Stripe shows pro-rata calculation
- You only pay the difference for remaining days
- Click "Confirm upgrade"
- Upgrade is active immediately
- Email confirmation received
- Back to portal: New plan displayed
Example: Basic to Pro Upgrade
Current plan: Basic (€69/month)
New plan: Pro (€149/month)
Remaining days: 15 of 30
Pro-rata calculation:
€149 - €69 = €20 difference
€20 × (15/30) = €10 due immediately
Next invoice: €149 in 15 daysWhat Happens Immediately After Upgrade?
Features are activated:
Basic → Pro:
✅ Max Airports: 1 → 3
✅ Weather Widget: Enabled
✅ Info Slides: 0 → 5
✅ Languages: 1 → 2
✅ Refresh Rate: 60 min → 30 minVisible in portal:
No action required:
Downgrading Your Plan
Step-by-Step: Performing a Downgrade
- Log in
- Click "Billing"
- Click "Manage Subscription"
- Stripe portal opens
- Click "Update plan"
- Choose lower plan
- Warning: Features will be restricted
Stripe offers 2 options:
Option A: At Period End (Recommended):
- Features remain available until billing end
- No refund
- Lower price starting next cycle
Option B: Immediately (Not recommended):
- Features are restricted immediately
- Partial refund (pro-rata)
- Risks display issues
- Choose desired timing
- Click "Confirm downgrade"
- Receive confirmation
Example: Pro to Basic Downgrade
Current plan: Pro (€149/month)
New plan: Basic (€69/month)
Remaining days: 20 of 30
Option A (Recommended): Downgrade at period end
- Pro features remain 20 days available
- Next invoice: €69 in 20 days
- No refund
Option B: Immediate downgrade
- Pro features locked immediately
- Refund: €20 × (20/30) = €13.33
- Risks feature lossWhat Happens at Downgrade?
Features are restricted (on downgrade date):
Pro → Basic:
❌ Max Airports: 3 → 1 (2 airports removed)
❌ Weather Widget: Disabled
❌ Info Slides: 5 → 0 (slides hidden)
❌ Languages: 2 → 1 (EN only)
❌ Refresh Rate: 30 min → 60 minImportant notes:
Downgrade Warning in Portal
When downgrade is scheduled:
⚠️ Your subscription will downgrade to Basic on [Date]
Your Pro features will remain available until then.
After [Date], your display will switch to Basic features.
[Cancel Downgrade] [Manage Subscription]Common Upgrade/Downgrade Scenarios
Scenario 1: Basic → Premium (Direct Upgrade)
Why?:
Process:
1. Open Stripe portal
2. Select Premium
3. Pro-rata payment: (€199 - €69) × days
4. Active immediately
5. Unlimited features availableScenario 2: Premium → Pro (Downgrade)
Why?:
Process:
1. Open Stripe portal
2. Select Pro
3. Choose downgrade at period end
4. Premium features until month end
5. Starting next cycle: Pro limitsPreparation:
Scenario 3: Pro → Premium → Pro (Testing)
Use Case: Test Premium, then back to Pro
Costs:
Month 1 (Pro): €149
Upgrade to Premium (mid-month): +€20 pro-rata
Month 2 (Premium): €199
Downgrade to Pro (at period end)
Month 3 (Pro): €149
Total: €149 + €20 + €199 + €149 = €327 for 3 monthsUnderstanding Pro-rata Billing
What is Pro-rata?
Definition: Proportional calculation based on remaining days
Formula:
Pro-rata amount = (New price - Old price) × (Remaining days / Days in month)Examples
Example 1: Basic → Pro (10 days remaining):
Difference: €149 - €69 = €20
Pro-rata: €20 × (10/30) = €6.67
Due immediately: €6.67
Next invoice: €149 in 10 daysExample 2: Pro → Premium (20 days remaining):
Difference: €199 - €149 = €99
Pro-rata: €99 × (20/30) = €26.67
Due immediately: €26.67
Next invoice: €199 in 20 daysExample 3: Premium → Basic (5 days remaining, immediate):
Difference: €69 - €199 = -€60
Pro-rata refund: €60 × (5/30) = €10
Credit: €10
Next invoice: €69 in 5 daysStripe Shows Calculation
In Stripe portal you'll see:
Current plan: Pro (€149.00/month)
New plan: Premium (€199.00/month)
Due today:
Prorated charge: €26.67
(For 20 days at Premium rate)
Next billing date: [Date in 20 days]
Amount: €199.00Feature Access After Plan Change
Feature Matrix
| Feature | Basic | Pro | Premium |
| --------- | ------- | ----- | --------- |
| Airports | 1 | 3 | Unlimited |
|---|---|---|---|
| Info Slides | 0 | 5 | Unlimited |
| Languages | 1 (EN) | 2 | 42 |
| Weather | ❌ | ✅ | ✅ |
| Analytics | ❌ | ❌ | ✅ |
| Push Notifications | ❌ | ❌ | ✅ |
| Refresh Rate | 60 min | 30 min | 5 min |
Feature Lock Behavior
When downgrading from Pro to Basic:
Settings → Airports:
"You can add up to 1 airport on the Basic plan.
Upgrade to Pro for 3 airports."
Content → Info Slides:
"Info slides are not available on the Basic plan.
Upgrade to Pro to create slides."
Settings → Languages:
"Multiple languages require Pro or Premium plan.
Upgrade to unlock."Upgrade Prompts in Portal
When feature is locked:
┌─────────────────────────────────┐
│ ⚠️ Feature Locked │
│ │
│ Weather Widget requires │
│ Pro plan or higher. │
│ │
│ [View Plans] [Upgrade Now] │
└─────────────────────────────────┘Error Handling
Error: "Unable to change plan"
Problem: Stripe cannot change plan
Possible causes:
Solution:
1. Check payment method in Stripe portal
2. Update credit card if needed
3. Wait 5 minutes and try again
4. Contact support if problem persistsError: "Payment failed"
Problem: Pro-rata payment failed
Solution:
1. Stripe shows error reason (e.g., "Insufficient funds")
2. Update payment method
3. Upgrade will automatically retry
4. Or: Try upgrade again manuallyWarning: "Features will be restricted"
At downgrade:
⚠️ Warning: Downgrading to Basic will restrict features
You currently have:
- 3 airports (Basic allows 1)
- 5 info slides (Basic allows 0)
- 2 languages (Basic allows 1)
Please adjust your settings before downgrade to avoid
display issues.
[Adjust Settings] [Cancel] [Continue Anyway]Best Practices
Before Upgrading
Checklist:
☐ Check which features you need
☐ Compare plans in pricing section
☐ Ensure payment method is valid
☐ Budget for higher price
☐ Read feature limitsBefore Downgrading
Checklist:
☐ Remove excess airports
☐ Delete or deactivate info slides
☐ Reduce languages to allowed limit
☐ Document current settings
☐ Inform your team
☐ Choose "At period end" for seamless transitionAfter Plan Change
Test:
1. Open display preview
2. Verify new features are available/removed
3. Test display on actual device
4. Check settings portal
5. Confirm email notification receivedFrequently Asked Questions
Can I upgrade/downgrade multiple times per month?
Technically yes, but not recommended. Each change creates pro-rata calculation. Better: Choose plan carefully.
Will I lose my settings when downgrading?
No. Settings remain saved. If you upgrade again later, all settings are still there.
Can I undo a downgrade?
Yes, as long as downgrade hasn't taken effect yet. In Stripe portal: "Cancel scheduled change".
What happens to my info slides when downgrading to Basic?
Slides remain saved in database but won't be displayed. When re-upgrading to Pro: Immediately available again.
Is there a discount for annual payment?
Yes! Annual billing gives you 2 months free (pay for 10 months instead of 12). Select annual billing when subscribing or contact info@lobbyflight.com to switch.
Can I upgrade directly from Basic to Premium?
Yes! You don't have to go through Pro. Direct upgrade is possible.
Technical Details
API Endpoint
Plan change occurs via:
POST /api/stripe/change-plan
Body: { targetPlan: 'basic' | 'pro' | 'premium' }
Response: {
success: true,
newPlan: 'pro',
effectiveDate: '2024-01-15'
}Database Updates
On plan change, the following are updated:
hotels table:
- subscription_tier: 'basic' | 'pro' | 'premium'
- max_airports: 1 | 3 | 999
- max_info_slides: 0 | 5 | 999
- languages_enabled: false | true | true
- weather_enabled: false | true | true
- analytics_enabled: false | false | true
- updated_at: current timestampWebhook Events
Stripe sends:
customer.subscription.updated
→ Trigger: Plan change
→ Action: Update database
→ Email: Send plan change confirmationNext Steps
After plan change:
Support
Questions about plan changes?