Zemen Booking public API

JSON API for the guest mobile app and partner integrations. All money values are Ethiopian Birr (ETB).

Production: https://zemenbooking.com/api/v1/mobile

This server: http://196.188.249.180/zemenbooking/api/v1/mobile

Format: JSON envelope { "status", "message", "timestamp", "data" }

1. Create account and sign in

Register sends a verification email. The guest must open the website link before login works.

POST https://zemenbooking.com/api/v1/mobile/auth/register
Content-Type: application/json

{ "first_name": "Abebe", "last_name": "Kebede", "email": "abebe@example.com", "phone": "0911223344", "password": "secret12" }

POST https://zemenbooking.com/api/v1/mobile/auth/login
{ "email": "abebe@example.com", "password": "secret12" }

Protected calls send: Authorization: Bearer <token>

2. Find hotels and rooms

  • GET /home — featured hotels and cities
  • GET /hotels — search (query: city, dates, guests)
  • GET /hotels/{id} — hotel detail
  • GET /hotels/{id}/availability — rooms for dates
  • POST /bookings/quote — price before pay

3. Book and pay

  • POST /bookings — create booking (guest checkout allowed)
  • GET /bookings — my bookings (JWT)
  • POST /payments/initialize — start DeboPay / card
  • GET /payments/verify — confirm payment
  • POST /bookings/{id}/cancel — cancel (JWT)

4. Account extras

  • GET /auth/me — profile
  • POST /auth/resend-verification — send email again
  • GET /hotels/{id}/reviews — list approved reviews
  • POST /hotels/{id}/reviews — review after stay

Hotel verify / unverify (admin website)

Super admin does not add database columns in phpPgAdmin. Hotels already have hotel_status and verified_at.

  1. Sign in at /admin-panel
  2. Open Hotels
  3. Set status to Verified or Active (live) or Pending verification / Inactive (unverified)

17 Aug 2026 updates Unified login, reviews list, notifications, hotel-admin writes

Police partner API (external hotels): partner docs. Mobile app engineers: use docs/API-UPDATES-FOR-DEVELOPERS.md and docs/MOBILE-API-HANDOFF.md in the repository.