Manual Booking (Desk)

The front desk and customer support team need a fast way to create bookings during a phone call or a walk-in. This is the same booking model — just a different door in — optimised for someone who is typing while talking.

Designed for speed

Target: a competent agent should close a manual booking in under 90 seconds end-to-end. Every field has a keyboard shortcut; the most common payment method is one click.

Who can create one

RoleCan create manual booking?Notes
OwnerAcross all owned properties
ManagerAcross assigned properties
Front-desk / Customer SupportOnly at their assigned property
Read-onlyCan view but not create
Public user / GuestUses the public flow

The manual booking form

app.abc.com/bookings/new
New booking
Manual · Phone
Room subtotal (3 nights × ₹4,200 × 2)₹25,200
GST @ 12 %₹3,024
City tax @ 2 %₹504

Total₹28,728
Payment
Booking will be marked Partial: ₹10,000 received (cash), ₹18,728 due by 14 Jun 2026.

Flow under the hood

  1. Agent picks property + dates + room type

    Availability + price quote rendered live as fields change.

  2. Inventory hold

    The form opens with a 10-min server-side hold on the room type / dates. Prevents two agents (or an OTA sync) from competing for the same inventory.

  3. Guest match-or-create

    As phone is typed, we search existing guest records. If matched, autofill name + email + notes. If not, create a new guest on save.

  4. Payment captured (any method)

    One click per common path: cash, UPI ref, card swipe receipt number, or generate a Razorpay link.

  5. Booking confirmed

    Status set to confirmed (or partial if not paid in full). Confirmation email + SMS fired. Inventory updated. Audit log entry written.

Special agent abilities

Manual price override

Agent can override the auto-calculated total ± 20 %. Above that, a manager has to approve. Always logs the original price + override.

Audited

Walk-in same-day

Skip guest email if not provided. Use phone as the only contact. Booking still gets a confirmation SMS.

Block dates for a guest

Create a "house use" or "complimentary" booking that consumes inventory but has zero amount. Tagged distinctly.

Manager+

Group booking

One guest, multiple rooms, single bill. Each room can be a different type. Acts as a parent booking with children.

Add to existing stay

Extend a current guest's stay by N nights. Re-prices the extension, creates a child booking linked to the original.

Phone OTP capture

For first-time guest with email — optional "send OTP to guest's email to confirm reservation". Reduces no-show rate.

API contract

POST /api/bookings/manual
{
  "property_id": "prp_…",
  "room_type_id": "rt_…",
  "rooms": 2,
  "check_in": "2026-06-15",
  "check_out": "2026-06-18",
  "guests": { "adults": 2, "children": 2 },
  "guest": {
    "name": "Ramesh Kumar",
    "phone": "+919911223344",
    "email": "ramesh@example.com"
  },
  "source": { "channel": "phone", "agent_id": "usr_…" },
  "price_override": null,
  "initial_payment": {
    "method": "cash",
    "amount": 10000,
    "reference": "Receipt #4421"
  },
  "due_by": "2026-06-14",
  "notes": "Requested a high-floor room. Anniversary stay.",
  "idempotency_key": "ux_local_4421"
}

// Response — 201 Created
{
  "booking": { "id": "bk_…", "reference": "ABC-24806", "status": "partial" },
  "emails_queued": ["booking_confirmed_guest"],
  "sms_queued": ["booking_confirmed_sms"]
}

Best practices

  • Always capture phone. Email is optional but phone is the lifeline for guest comms in India.
  • Always tag the channel. "Phone vs walk-in vs WhatsApp" — owners want this for marketing attribution.
  • Default to "send confirmation". The agent must explicitly opt out. Reduces "I never got my confirmation" complaints.
  • Don't accept ₹1 bookings. The total must be ≥ a configured minimum, or the manager must approve.