UseLodger API
RESTful JSON API. Base URL: https://api.uselodger.com/api/v1
23 modules · 208 endpoints · JWT authentication
Authentication header
Authorization: Bearer <your-jwt-token>Auth
JWT authentication with email OTP verification, 2FA (TOTP), session management, and profile updates.
Base: /api/v1/authSearch
Public property discovery powered by Meilisearch. No authentication required.
Base: /api/v1/searchProperties
Property listing, management, media uploads, availability, and reviews.
Base: /api/v1/propertiesRooms
Physical room management, status board, housekeeping, and media uploads.
Base: /api/v1/roomsBookings
Complete booking lifecycle — create, modify, cancel, check-in, check-out, and pricing.
Base: /api/v1/bookingsPayments
Paystack and Flutterwave payment initialization with automatic 5% platform split via subaccounts.
Base: /api/v1/paymentsBank Accounts
Property owner bank account setup for Paystack subaccount creation and automatic payouts.
Base: /api/v1/bank-accountsRestaurant & F&B
Menu management, real-time order queue, QR table ordering, and table reservations.
Base: /api/v1/restaurantsInventory
Stock tracking, low-stock alerts, and purchase order management across all departments.
Base: /api/v1/inventoryStaff Management
Staff profiles, 12-role access control, digital attendance, shift scheduling, and task management.
Base: /api/v1/staffFinance
Double-entry accounts, expense management, revenue reports, and profit & loss with 7.5% Nigerian VAT.
Base: /api/v1/financeDrivers & Rides
Hotel fleet management, ride requests, and live driver location tracking.
Base: /api/v1/driversAI Features
Groq + Llama 3 powered features — smart pricing, fraud detection, chat assistant, and operational intelligence.
Base: /api/v1/aiReports
Occupancy, booking analytics, staff performance, customer insights, and AI-generated insights.
Base: /api/v1/reportsSubscriptions
Plan management and tenant subscription status. Note: core platform is free — 5% commission model applies.
Base: /api/v1/subscriptionsSuper Admin
Platform administration — tenant management, subscription plans, audit logs, and commission reporting.
Base: /api/v1/super-adminAdmin Properties
Super admin property moderation — approval, verification, and takedown.
Base: /api/v1/adminLandlord & Leasing
Long-term rental management — units, tenants, leases, rent collection, and maintenance requests. A separate vertical from the hotel/shortlet booking model.
Base: /api/v1/landlordAdvertising
Sponsored placements across the platform — featured listings, banners, homepage hero. Gated behind the 'advertising' module subscription.
Base: /api/v1/adsReferrals
Refer-a-friend program with a shared wallet balance that doubles as store credit for bookings.
Base: /api/v1/referralsWaitlist
Pre-launch email capture, shown via the site-wide coming-soon modal.
Base: /api/v1/waitlistResponse format
All responses use a consistent envelope:
Success
{
"success": true,
"message": "Success",
"data": { ... }
}Paginated
{
"success": true,
"data": [ ... ],
"meta": {
"current_page": 1,
"last_page": 5,
"per_page": 10,
"total": 48,
"from": 1,
"to": 10
}
}Validation error (422)
{
"success": false,
"message": "Validation failed",
"errors": {
"email": ["The email field is required."],
"password": ["Min 8 characters."]
}
}Error
{
"success": false,
"message": "Booking cannot be modified",
"code": "booking_locked"
}Roles reference
Roles are assigned via Spatie/laravel-permission. The JWT payload includesrolesarray. The frontend reads this from the Zustand auth store via hasRole().
| Role | Description |
|---|---|
super_admin | Full platform access including tenant management |
hotel_owner | Full access to their properties, staff, finance, and bookings |
branch_manager | Full operational access excluding billing and tenant admin |
property_manager | Property, rooms, bookings, maintenance |
receptionist | Bookings, check-in/out, rooms (view only) |
housekeeping | Room status updates, housekeeping dashboard |
restaurant_manager | Restaurant, menu, orders, inventory (F&B) |
accountant | Finance dashboard, expenses, reports |
auditor | Read-only access to finance and reports |
inventory_officer | Inventory management and purchase orders |
driver | Driver profile, availability, rides |
customer | Public guest — bookings, profile, wishlist |
Error codes
Bad Request
Invalid request format
Unauthorized
Missing or invalid JWT token
Forbidden
Authenticated but insufficient role/permission
Not Found
Resource does not exist
Conflict
Duplicate record (e.g. room_number already exists)
Unprocessable
Validation failed — errors object included in response
Too Many Requests
Rate limit exceeded
Server Error
Internal error — check Laravel logs
Unavailable
Payment gateway or third-party service unreachable

Social & Engagement
Likes, bookmarks, shares, follows, view tracking, and threaded comments on properties.
Base: /api/v1/social