Mobile App Pages & Endpoints Reference

📄 General
← Back to Documentation
# 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