# Mobile App Pages & Endpoints Reference
This document provides a comprehensive cross-reference between mobile app pages (screens) and their required API endpoints for implementation by Rork.
**API contract version:** v1.22.0
**Last updated:** September 13, 2026
**Base URL:** `https://api.zapazime.bg`
## v1.20 Screen Changes
- The B2C initial screen now has explicit sections for popular destinations, recommended venues, and current deals.
- Added public Deals list and detail screens.
- Added Company Admin Deals catalog, list, create, detail, edit, image, publishing, and delete screens.
- Added native POS new-order, order-history, and order-detail screens.
- Expanded Company Admin settings into individual screens for every non-Filament settings tab.
## B2C Client Mobile App
### Authentication Flow
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Login Screen | - | `POST /api/auth/login` | - | - |
| Registration Screen | - | `POST /api/auth/register` | - | - |
| Forgot Password Screen | - | `POST /api/auth/forgot-password` | - | - |
| Reset Password Screen | - | `POST /api/auth/reset-password` | - | - |
| Email Verification Screen | - | `POST /api/auth/verify-email/{token}` | - | - |
| Google Auth | - | `POST /api/auth/google` | - | - |
| Apple Auth | - | `POST /api/auth/apple` | - | - |
| B2B Owner Registration | - | `POST /api/auth/register/b2b` | - | - |
| Available Roles | `GET /api/auth/roles` | - | - | - |
| Switch Active Role | - | `POST /api/auth/switch-role` | - | - |
| Role-aware Navigation | `GET /api/auth/navigation` | - | - | - |
| Authentication 2FA | - | `POST /api/auth/2fa/enable`, `POST /api/auth/2fa/verify`, `POST /api/auth/2fa/disable` | - | - |
> **Note (v1.21.0):** All auth responses include an `access` context with `capabilities` filtered by the stacked subscription ∩ role ∩ department model, plus a `departments` array listing the employee's departments in the active company.
### Main Navigation
#### Initial Screen Composition
The public initial screen should load its independent sections in parallel. `GET /api/user/dashboard` is optional personalized content and must only be requested after authentication.
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Initial Screen — Popular Destinations Section | `GET /api/venues/popular-destinations` | - | - | - |
| Initial Screen — Recommended Venues Section | `GET /api/venues/recommended` | - | - | - |
| Initial Screen — Deals Section | `GET /api/deals?limit=6` | - | - | - |
| Authenticated Home — Personal Dashboard | `GET /api/user/dashboard` | - | - | - |
| Venues Discovery Screen | `GET /api/venues` | - | - | - |
| Search Screen | `GET /api/venues/search` | - | - | - |
| Venue Details Screen | `GET /api/venues/{id}` | - | - | - |
| Venue Availability Screen | - | `POST /api/venues/{id}/availability` | - | - |
| Popular Destinations Browse Screen | `GET /api/venues/popular-destinations?booking_type={type}` | - | - | - |
| Recommended Venues Browse Screen | `GET /api/venues/recommended?booking_type={type}&location_id={id}&limit={1-20}` | - | - | - |
### Deals
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Deals List Screen | `GET /api/deals?deal_type={type}&page={page}&limit={1-50}` | - | - | - |
| Deal Details Screen | `GET /api/deals/{slug-or-id}` | - | - | - |
Only published, active, currently valid, and available deals appear in B2C screens. Opening a deal from the initial screen navigates to Deal Details; booking continues with the returned deal ID.
### Booking Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Create Booking Screen | - | `POST /api/bookings` | - | - |
| My Bookings Screen | `GET /api/user/bookings` | - | - | - |
| Booking Details Screen | `GET /api/bookings/{id}` | - | - | - |
| Booking Edit Screen | - | - | `PUT /api/bookings/{id}` | - |
| Booking Cancel Screen | - | `POST /api/bookings/{id}/cancel` | - | - |
| Booking Refund Screen | - | `POST /api/bookings/{id}/refund` | - | - |
| QR Code Scanner Screen | `GET /api/bookings/qr/{qrCode}` | - | - | - |
| Check-in Screen | - | `POST /api/bookings/{booking}/check-in` | - | - |
| Check-out Screen | - | `POST /api/bookings/{booking}/check-out` | - | - |
### Profile & Settings
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Profile Screen | `GET /api/user/profile` | - | `PUT /api/user/profile` | - |
| Change Password Screen | - | `POST /api/user/change-password` | - | - |
| Preferences Screen | `GET /api/user/preferences` | - | `PUT /api/user/preferences` | - |
| Security Settings Screen | `GET /api/user/security/settings` | - | `PUT /api/user/security/settings` | - |
| 2FA Enable Screen | - | `POST /api/user/security/2fa/enable` | - | - |
| 2FA Disable Screen | - | `POST /api/user/security/2fa/disable` | - | - |
| Notification Preferences Screen | `GET /api/user/notification-preferences` | - | `PUT /api/user/notification-preferences` | - |
| Notification Preferences Summary | `GET /api/user/notification-preferences/summary` | - | - | - |
| Quiet Hours Settings | - | `POST /api/user/notification-preferences/quiet-hours` | - | - |
| Location Preferences Screen | `GET /api/user/location/status` | - | `PUT /api/user/location/preferences` | - |
### Favorites & Reviews
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Favorites Screen | `GET /api/user/favorites` | - | - | - |
| Toggle Venue Favorite | - | `POST /api/venues/{id}/favorite` | - | - |
| Toggle Location Favorite | - | `POST /api/locations/{id}/favorite` | - | - |
| Venue Reviews Screen | `GET /api/venues/{id}/reviews` | - | - | - |
| Write Review Screen | - | `POST /api/user/reviews` | - | - |
| My Reviews Screen | `GET /api/user/reviews` | - | - | - |
| Edit Review Screen | - | - | `PUT /api/user/reviews/{id}` | - |
| Delete Review Screen | - | - | - | `DELETE /api/user/reviews/{id}` |
### Payments & Invoices
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Payment Transactions Screen | `GET /api/user/transactions` | - | - | - |
| Transaction Details Screen | `GET /api/user/transactions/{id}` | - | - | - |
| Transaction Receipt Screen | Not available through the mobile API; use transaction details | - | - | - |
| MyPOS Payment Screen | - | `POST /api/mypos/payments/create` | - | - |
| MyPOS Confirm Payment | - | `POST /api/mypos/payments/confirm` | - | - |
| My Invoices Screen | `GET /api/user/invoices` | - | - | - |
| Invoice Details Screen | `GET /api/user/invoices/{id}` | - | - | - |
| Invoice Download Screen | Not available through the mobile API; web download is session-authenticated | - | - | - |
### Notifications
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Notifications Screen | `GET /api/user/notifications` | - | - | - |
| Mark Notification as Read | - | `POST /api/user/notifications/{id}/read` | - | - |
| Mark All as Read | - | `POST /api/user/notifications/read-all` | - | - |
| Delete Notification | - | - | - | `DELETE /api/user/notifications/{id}` |
| Toggle All Notifications | - | `POST /api/user/notification-preferences/toggle-all` | - | - |
| Reset Preferences | - | `POST /api/user/notification-preferences/reset` | - | - |
| Test Notification | - | `POST /api/user/notification-preferences/test` | - | - |
### Bonus Points
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Bonus Points Dashboard | `GET /api/bonus-points` | - | - | - |
| Bonus Points Statistics | `GET /api/bonus-points/statistics` | - | - | - |
| Bonus Points Transactions | `GET /api/bonus-points/transactions` | - | - | - |
| Spend Points Screen | - | `POST /api/bonus-points/spend` | - | - |
### Location Services
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Nearby Venues Screen | - | `POST /api/location/nearby` | - | - |
| Location Recommendations | - | `POST /api/location/recommendations` | - | - |
| Location Search Screen | `GET /api/locations/suggest` | - | - | - |
| Advanced Location Search | `GET /api/locations/advanced-search` | - | - | - |
| Location Search Criteria | `GET /api/locations/search-criteria` | - | - | - |
### Device Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Device Tokens Screen | `GET /api/user/device-tokens` | - | - | - |
| Register Device Token | - | `POST /api/user/device-tokens/register` | - | - |
| Unregister Device Token | - | `POST /api/user/device-tokens/unregister` | - | - |
### User Feedback
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Feedback History Screen | `GET /api/user/feedback` | - | - | - |
| Submit Feedback Screen | - | `POST /api/user/feedback` | - | - |
---
### Additional B2C Endpoints
#### Authentication & Session
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Auth Ping | `GET /api/auth/ping` | - | - | - |
| Logout | - | `POST /api/auth/logout` | - | - |
| Refresh Token | - | `POST /api/auth/refresh` | - | - |
| Resend Verification | - | `POST /api/auth/resend-verification` | - | - |
#### Categories & Venue Discovery
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Categories List | `GET /api/categories` | - | - | - |
| Categories by Booking Type | `GET /api/categories/{bookingType}` | - | - | - |
| Venue Objects | `GET /api/venues/{venue_id}/objects` | - | - | - |
| Venue Spots | `GET /api/venues/{venue_id}/spots` | - | - | - |
| Write Venue Review (Venue-scoped) | - | `POST /api/venues/{id}/reviews` | - | - |
#### Location & Geocoding
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Location Search | `GET /api/locations/search` | - | - | - |
| Geocode Address | - | `POST /api/geocode/address` | - | - |
| Reverse Geocode | - | `POST /api/geocode/reverse` | - | - |
| Validate Coordinates | - | `POST /api/geocode/validate` | - | - |
#### Payments & Invoices
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| MyPOS Cancel Payment | - | `POST /api/mypos/payments/cancel` | - | - |
| MyPOS Refund Payment | - | `POST /api/mypos/payments/refund` | - | - |
| MyPOS Void Payment | - | `POST /api/mypos/payments/void` | - | - |
#### Booking Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Refund Info | `GET /api/bookings/{booking}/refund-info` | - | - | - |
#### Favorites & Reviews
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Review Details | `GET /api/user/reviews/{id}` | - | - | - |
#### Profile & Documents
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Current User | `GET /api/user` | - | - | - |
| My Documents | `GET /api/documents` | - | - | - |
#### System & Public Helpers
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| API Health Check | `GET /api/test` | - | - | - |
---
## Company Admin Mobile App
### Authentication Flow
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Admin Login Screen | - | `POST /api/auth/login` | - | - |
| Admin/B2B Registration Screen | - | `POST /api/auth/register/b2b` | - | - |
### Dashboard
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Admin Dashboard Screen | `GET /api/company-admin/dashboard/stats` | - | - | - |
### Venue Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Venues List Screen | `GET /api/company-admin/venues` | - | - | - |
| Venue Create Screen | - | `POST /api/company-admin/venues` | - | - |
| Venue Edit Screen | - | - | `PUT /api/company-admin/venues/{venue}` | - |
| Venue Details Screen | Use the venue item returned by `GET /api/company-admin/venues` | - | - | - |
| Venue Delete Screen | - | - | - | `DELETE /api/company-admin/venues/{venue}` |
| Venue Objects Screen | `GET /api/company-admin/venue-objects` | - | - | - |
| Venue Objects Create Screen | - | `POST /api/company-admin/venue-objects` | - | - |
| Venue Objects Edit Screen | - | - | `PUT /api/company-admin/venue-objects/{object}` | - |
| Venue Facilities Screen | Not currently exposed through the mobile API | - | - | - |
| Venue Translations | `GET /api/venues/{venue}/translations`, `GET /api/venues/{venue}/translations/{locale}`, `GET /api/venues/{venue}/translations/status`, `GET /api/venues/{venue}/translations/export` | `POST /api/venues/{venue}/translations`, `POST /api/venues/{venue}/translations/bulk`, `POST /api/venues/{venue}/translations/copy`, `POST /api/venues/{venue}/translations/import` | `PUT /api/venues/{venue}/translations/{locale}` | `DELETE /api/venues/{venue}/translations/{locale}` |
| Translation Search & Analytics | `GET /api/translations/search`, `GET /api/translations/analytics` | - | - | - |
### Booking Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Bookings List Screen | `GET /api/company-admin/bookings` | - | - | - |
| Booking Create Screen | - | `POST /api/company-admin/bookings` | - | - |
| Booking Details Screen | `GET /api/company-admin/bookings/{booking}` | - | - | - |
| Booking Edit Screen | - | - | `PUT /api/company-admin/bookings/{booking}` | - |
| Booking Cancel Screen | - | `POST /api/company-admin/bookings/{booking}/cancel` (requires `booking.manage`) | - | - |
| Booking Check-in Screen | - | `POST /api/company-admin/bookings/{booking}/check-in` (requires `booking.check_in`) | - | - |
| Booking Check-out Screen | - | `POST /api/company-admin/bookings/{booking}/check-out` (requires `booking.check_out`; runs the atomic CheckOutService workflow, accepts optional `overrides` and `check_out_notes`) | - | - |
| QR Scanner Screen | - | `POST /api/company-admin/scan-qr` | - | - |
| Booking Lookup Screen | `GET /api/company-admin/bookings/lookup/{uniqueBookingId}` | - | - | - |
### Client Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Clients List Screen | `GET /api/company-admin/clients` | - | - | - |
| Client Create Screen | - | `POST /api/company-admin/clients` (requires `company.manage_bookings`) | - | - |
| Client Details Screen | `GET /api/company-admin/clients/{client}` | - | - | - |
| Client Edit Screen | - | - | `PUT /api/company-admin/clients/{client}` (requires `company.manage_bookings`; validated `name`, `email`, `phone`, `address`) | - |
### User & Employee Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Users List Screen | `GET /api/company-admin/users` | - | - | - |
| User Create Screen | - | `POST /api/company-admin/users` | - | - |
| User Edit Screen | - | - | `PUT /api/company-admin/users/{user}` | - |
| User Delete Screen | - | - | - | `DELETE /api/company-admin/users/{user}` |
| Employees List Screen | `GET /api/company-admin/employees` | - | - | - |
| Employee Create Screen | - | `POST /api/company-admin/employees` | - | - |
| Employee Edit Screen | - | - | `PUT /api/company-admin/employees/{user}` | - |
| Active User Roles | `GET /api/auth/roles` | `POST /api/auth/switch-role` | - | - |
### Inventory & Products
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Inventory List Screen | `GET /api/company-admin/inventory` | - | - | - |
| Inventory Create Screen | - | `POST /api/company-admin/inventory` (requires `company.manage_workspaces`) | - | - |
| Inventory Stock Update | - | `POST /api/company-admin/inventory/inventory/{inventory}/update-stock` (requires `company.manage_workspaces`) | - | - |
| Products List Screen | `GET /api/company-admin/products` | - | - | - |
| Product Create Screen | - | `POST /api/company-admin/products` (requires `company.manage_workspaces`) | - | - |
| Product Edit Screen | - | - | `PUT /api/company-admin/products/{product}` (requires `company.manage_workspaces`) | - |
| Product Delete Screen | - | - | - | `DELETE /api/company-admin/products/{product}` |
### Services & Packages
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Services List Screen | `GET /api/company-admin/services` | - | - | - |
| Service Create Screen | - | `POST /api/company-admin/services` (requires `company.manage_workspaces`) | - | - |
| Service Edit Screen | Not currently exposed through the mobile API | - | - | - |
| Packages List Screen | `GET /api/company-admin/packages` | - | - | - |
| Package Create Screen | - | `POST /api/company-admin/packages` (requires `company.manage_workspaces`) | - | - |
| Package Edit Screen | - | - | `PUT /api/company-admin/packages/{package}` (requires `company.manage_workspaces`) | - |
| Package Delete Screen | - | - | - | `DELETE /api/company-admin/packages/{package}` |
### Point of Sale (POS)
These routes belong to Zapazime's native POS module. They are separate from myPOS payment and cash-register integrations.
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| POS New Order Screen | `GET /api/company-admin/pos/catalog` | `POST /api/company-admin/pos/orders` | - | - |
| POS Order History Screen | `GET /api/company-admin/pos/orders?page={page}&per_page={1-100}` | - | - | - |
| POS Order Details Screen | `GET /api/company-admin/pos/orders/{order}` | - | - | - |
The New Order screen loads products, services, and eligible stays from the catalog. It sends selected catalog IDs and quantities; displayed prices must be refreshed from the server response. Room-charge checkout requires an eligible stay with an open folio.
### Deals
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Deals List Screen | `GET /api/company-admin/deals?deal_type={type}&status={status}&search={text}&per_page={1-100}` | - | - | - |
| Create Deal Screen | `GET /api/company-admin/deals/catalog` | `POST /api/company-admin/deals` | - | - |
| Deal Details Screen | `GET /api/company-admin/deals/{deal}` | `POST /api/company-admin/deals/{deal}/toggle-publish` | - | `DELETE /api/company-admin/deals/{deal}` |
| Edit Deal Screen | `GET /api/company-admin/deals/catalog`, `GET /api/company-admin/deals/{deal}` | - | `PUT /api/company-admin/deals/{deal}` | - |
| Deal Image Screen | `GET /api/company-admin/deals/{deal}` | `POST /api/company-admin/deals/{deal}/image` | - | - |
Create and Edit must use the company catalog instead of accepting arbitrary venue-object, service, or product IDs. Image replacement is a separate multipart request. The public preview should only be offered when the deal is published, active, within its validity dates, and not sold out.
### Financial Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Invoices List Screen | `GET /api/company-admin/invoices` | - | - | - |
| Invoice Create Screen | - | `POST /api/company-admin/invoices` | - | - |
| Invoice Details Screen | `GET /api/company-admin/invoices/{invoice}` | - | - | - |
| Invoice Edit Screen | Not currently exposed through the mobile API | - | - | - |
| Invoice Mark Paid | - | - | `PUT /api/company-admin/invoices/{invoice}/mark-paid` | - |
| Invoice Delete Screen | - | - | - | `DELETE /api/company-admin/invoices/{invoice}` |
| Transactions List Screen | `GET /api/company-admin/transactions` | - | - | - |
| Transaction Details Screen | `GET /api/company-admin/transactions/{payment}` | - | - | - |
| Fiscal Settings | `GET /api/company-admin/fiscal/settings` | - | `PUT /api/company-admin/fiscal/settings` | - |
| Fiscal Test Plan | - | `POST /api/company-admin/fiscal/test` | - | - |
| Fiscal Receipt Jobs | `GET /api/company-admin/fiscal/receipts` | - | - | - |
| Record In-person Payment | - | `POST /api/company-admin/fiscal/payments` | - | - |
| Fiscal Receipt Lifecycle | - | `POST /api/company-admin/fiscal/receipts/{id}/claim`, `POST /api/company-admin/fiscal/receipts/{id}/complete`, `POST /api/company-admin/fiscal/receipts/{id}/uncertain`, `POST /api/company-admin/fiscal/receipts/{id}/reconcile` | - | - |
### Front Desk Operations
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Front Desk Operations | Use company-admin booking list, lookup, check-in, and check-out endpoints | - | - | - |
### Housekeeping
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Housekeeping Tasks List | `GET /api/company-admin/housekeeping/tasks` (requires `housekeeping.tasks`; filters: `status`, `venue_id`, `assigned_to`) | - | - | - |
| Housekeeping Task Detail/Edit | - | - | `PUT /api/company-admin/housekeeping/tasks/{task}` (requires `housekeeping.tasks`) | - |
### Messaging
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Conversations List Screen | `GET /api/company-admin/messaging/conversations` | - | - | - |
| Conversation Detail Screen | `GET /api/company-admin/messaging/conversations/{conversation}` | - | - | - |
| Create Conversation | - | `POST /api/company-admin/messaging/conversations` | - | - |
| Send Message | - | `POST /api/company-admin/messaging/conversations/{conversation}/send` | - | - |
| Message Templates | Not currently exposed through the mobile API | - | - | - |
### Reports & Analytics
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Statistics Screen | `GET /api/company-admin/statistics` | - | - | - |
| Gantt Chart Screen | `GET /api/company-admin/gantt-chart/venue-occupation` | - | - | - |
### Settings
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Settings Overview Screen | `GET /api/company-admin/settings` | - | `PUT /api/company-admin/settings` | - |
| Company Profile | `GET /api/company-admin/settings` | `POST /api/company-admin/settings/profile/logo` | `PUT /api/company-admin/settings/profile` | - |
| Regional Settings | `GET /api/company-admin/settings` | - | `PUT /api/company-admin/settings/regional` | - |
| Venue, VAT & Tourist Tax | `GET /api/company-admin/settings` | - | `PUT /api/company-admin/settings/venue` | - |
| ESTI Settings | `GET /api/company-admin/settings` | - | `PUT /api/company-admin/settings/esti` | - |
| Booking Settings | `GET /api/company-admin/settings/booking` | - | `PUT /api/company-admin/settings/booking` | - |
| Financial Settings | `GET /api/company-admin/settings/financial` | - | `PUT /api/company-admin/settings/financial` | - |
| Notification Settings | `GET /api/company-admin/settings/notifications` | - | `PUT /api/company-admin/settings/notifications` | - |
| Discount Settings | `GET /api/company-admin/settings/discounts` | - | `PUT /api/company-admin/settings/discounts` | - |
| POS Settings | `GET /api/company-admin/settings/pos` | - | `PUT /api/company-admin/settings/pos` | - |
| Policy Settings | `GET /api/company-admin/settings/policies` | - | `PUT /api/company-admin/settings/policies` | - |
| PWA Settings | `GET /api/company-admin/settings/pwa` | - | `PUT /api/company-admin/settings/pwa` | - |
| Cancellation Settings | `GET /api/company-admin/settings/cancellation` | - | `PUT /api/company-admin/settings/cancellation` | - |
| Fiscal Settings | `GET /api/company-admin/fiscal/settings` | - | `PUT /api/company-admin/fiscal/settings` | - |
The overview supplies initial values for profile, regional, venue, ESTI, cancellation, and all configurable groups. Group screens submit `{ "settings": { ... } }`. Masked secrets must remain blank unless the user intentionally replaces them.
### Documents
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| Documents List Screen | `GET /api/company-admin/documents` | - | - | - |
| Document Upload | - | `POST /api/company-admin/documents` | - | - |
| Document Details | `GET /api/company-admin/documents/{document}` | - | - | - |
| Document Delete | - | - | - | `DELETE /api/company-admin/documents/{document}` |
### B2B Features
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|-------------|-------------|---------------|--------------|----------------|
| B2B Invoices, Subscriptions, Settlements | Not currently exposed through the mobile API | - | - | - |
---
### Additional Company Admin Endpoints
#### B2B Company Management
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Create Company | - | `POST /api/company` | - | - |
| Company Bookings | `GET /api/company/bookings` | `POST /api/company/bookings` | - | - |
| Complete B2B Registration | - | `POST /api/company/complete-registration` | - | - |
| Company Invoices | `GET /api/company/invoices` | - | - | - |
| Company Profile | `GET /api/company/profile` | - | `PUT /api/company/profile` | - |
| Company Users | `GET /api/company/users` | - | - | - |
| Invite Company User | - | `POST /api/company/users/invite` | - | - |
| Remove Company User | - | - | - | `DELETE /api/company/users/{id}` |
| Create Venue Object | - | `POST /api/company/venue-objects` | - | - |
| Create Venue | - | `POST /api/company/venues` | - | - |
| Company Workspaces | `GET /api/company/workspaces` | `POST /api/company/workspaces` | - | - |
#### Venue Fiscal Receipts
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Venue Fiscal Receipts | `GET /api/venues/{venueId}/fiscal-receipts` | - | - | - |
#### Fiscal Receipts
| Page/Screen | GET Endpoint | POST Endpoint | PATCH Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Pending Fiscal Receipts | `GET /api/fiscal-receipts/pending` | - | - | - |
| Fiscal Receipt Status | `GET /api/fiscal-receipts/status` | - | - | - |
| Mark Receipt Processing | - | - | `PATCH /api/fiscal-receipts/{receipt}/processing` | - |
| Mark Receipt Printed | - | - | `PATCH /api/fiscal-receipts/{receipt}/printed` | - |
| Mark Receipt Failed | - | - | `PATCH /api/fiscal-receipts/{receipt}/failed` | - |
#### MyPOS Cash Register
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Init Cash Register | - | `POST /api/mypos/cash-register/init` | - | - |
| Subscribe Device | - | `POST /api/mypos/cash-register/subscribe` | - | - |
| Device Status | `GET /api/mypos/cash-register/get-device-status` | - | - | - |
| Purchase | - | `POST /api/mypos/cash-register/purchase` | - | - |
| Cancel | - | `POST /api/mypos/cash-register/cancel` | - | - |
| Void Last Transaction | - | `POST /api/mypos/cash-register/void` | - | - |
| Refund | - | `POST /api/mypos/cash-register/refund` | - | - |
| Get Transaction | - | `POST /api/mypos/cash-register/get-transaction` | - | - |
| Get Transaction Status | - | `POST /api/mypos/cash-register/get-transaction-status` | - | - |
| Get Transaction History | - | `POST /api/mypos/cash-register/get-transaction-history` | - | - |
| Transaction Status (GET) | `GET /api/mypos/cash-register/transaction-status` | - | - | - |
| Notifications | - | `POST /api/mypos/cash-register/notifications` | - | - |
| Create Receipt | - | `POST /api/mypos/cash-register/create-receipt` | - | - |
| Get Receipt | - | `POST /api/mypos/cash-register/get-receipt` | - | - |
| Get Receipts | - | `POST /api/mypos/cash-register/get-receipts` | - | - |
| Get Receipt by ID | - | `POST /api/mypos/cash-register/get-receipt-by-id` | - | - |
| Get Receipt by Date | - | `POST /api/mypos/cash-register/get-receipt-by-date` | - | - |
| Get Receipt by Date Range | - | `POST /api/mypos/cash-register/get-receipt-by-date-range` | - | - |
| Get Receipt by Payment Method | - | `POST /api/mypos/cash-register/get-receipt-by-payment-method` | - | - |
#### ESTI Integration
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Configuration Status | `GET /api/esti/configuration` | - | - | - |
| Export Bookings CSV | `GET /api/esti/export/csv` | - | - | - |
| Export Booking CSV | `GET /api/esti/export/booking/{id}/csv` | - | - | - |
| Validate Booking | `GET /api/esti/validate/booking/{id}` | - | - | - |
| RegiX Insert | - | `POST /api/esti/regix/insert` | - | - |
| RegiX Update | - | `POST /api/esti/regix/update` | - | - |
| RegiX Cancel | - | `POST /api/esti/regix/cancel` | - | - |
| RegiX Test Connection | `GET /api/esti/regix/test-connection` | - | - | - |
`Configuration Status` is ready only when the accommodation UIN, HTTPS RegiX endpoint, consumer OID, client certificate path/password and certificate file are present. `RegiX Test Connection` is a non-submitting diagnostic: success means the WSDL loaded with the configured certificate and advertised `SendInfoForAccomodationRegister`. Both range and single-booking CSV exports require a completed stay checkout and validate the official 19-column ESTI import contract.
#### Messaging
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Mark Conversation Read | - | `POST /api/company-admin/messaging/conversations/{conversation}/read` | - | - |
| Add Participant | - | `POST /api/company-admin/messaging/conversations/{conversation}/participants` | - | - |
| Remove Participant | - | - | - | `DELETE /api/company-admin/messaging/conversations/{conversation}/participants/{user}` |
| Delete Conversation | - | - | - | `DELETE /api/company-admin/messaging/conversations/{conversation}` |
#### Registration & Utility Helpers
| Page/Screen | GET Endpoint | POST Endpoint | PUT Endpoint | DELETE Endpoint |
|---|---|---|---|---|
| Timezones | `GET /api/timezones` | - | - | - |
| Locations by Country | `GET /api/locations-by-country` | - | - | - |
| Places by Location | `GET /api/places-by-location` | - | - | - |
| Channex Booking Webhook | - | `POST /api/channex/webhooks/bookings` | - | - |
## Summary Statistics
### B2C Client App
- **Screen groups:** Authentication, initial discovery, deals, venues, bookings, account, payments, notifications, loyalty, and location services
- **Initial-screen public sources:** Popular destinations, recommended venues, and deals
- **Coverage:** Rows containing an HTTP method and `/api/` path are callable operations
### Company Admin App
- **Screen groups:** Dashboard, venues, bookings, clients, staff, inventory, services, POS, Deals, finance, messaging, analytics, settings, and documents
- **Coverage:** Only rows containing an HTTP method and `/api/` path are currently callable mobile operations.
### Implementation Notes
1. All endpoints follow RESTful conventions
2. Authentication required for all protected endpoints (Bearer token)
3. Pagination parameters differ by endpoint; use the parameters shown in each screen row
4. Comprehensive error handling with proper HTTP status codes
5. Consume the response schema documented in `openapi.yaml`; not every paginator uses the `{ success, data, message }` envelope
6. API version: 1.22.0
7. Base URL: `https://api.zapazime.bg`
### Priority Implementation Order
1. **Phase 1:** Authentication & Profile Management
2. **Phase 2:** Venue Discovery & Booking Management
3. **Phase 3:** Payments & Invoices
4. **Phase 4:** Notifications & Bonus Points
5. **Phase 5:** Company Admin Dashboard & Core Operations
6. **Phase 6:** Deals, POS, and Company Settings
7. **Phase 7:** Front Desk, Housekeeping, B2B, and Reports