Responding to a time-based booking request

How a piercing, permanent makeup, or laser booking request lands on your side, when (and how) you confirm the deposit, when the booking auto-confirms on its own, and what to do once the appointment has passed — the practitioner's playbook for time-based work, much shorter than the project-based one because the client picked the slot up front.

Applies toPiercersPMU practitionersLaser practitioners

A time-based booking request lands on your side as a fully-specified appointment. The client already picked a service from your menu, a date from your agenda, and a specific time slot — you don't propose anything back. Your job is mostly to make sure the deposit clears (or to wait for Stripe to do it) and to let the booking onto your calendar; if you don't want the booking, the Drop Booking button at the bottom of the booking detail page rejects it cleanly (and triggers any required refund flow if money is in motion). There's no per-field negotiation, no proposal back-and-forth.

This guide is for piercers, permanent makeup practitioners, and laser practitioners. If you're a tattoo artist or a body modification practitioner, your bookings work differently — see Responding to a project-based booking request instead.

Step by step

  1. 1

    A request lands in your Pending or Confirmed tab

    When a client submits a request to you, you get a push notification. Tap it to land on the booking detail page. If you missed the push or want to look later, the request lives under Bookings → Requests as a compact card — one slim row per request. Where it lands depends on the deposit:

    • No deposit on any of the picked services — the booking is already confirmed the moment the client submits. It lands directly under Confirmed, the slot is on your calendar, nothing else is required of you.
    • Deposit on at least one service — the booking lands under Pending until the deposit clears. The slot is held for you while you and the client work that out.

    The compact card is one slim row, dense by design. Left to right it shows the client's avatar and @username, the date and time of the slot, the city if a location is set, and on the right a strip of two icons in coloured pill backgrounds:

    • Datecalendar-outline
    • Depositcash-outline

    (Project-based bookings show six icons on this strip — date, time, duration, location, price, and deposit. Time-based only shows two because everything else was pinned at submit and isn't negotiated.)

    The background colour of each icon is how you read the card:

    • 🟠 Orangeyour turn to act. Most often: the client marked their manual deposit as sent and you need to confirm or reject it.
    • 🟡 Yellowthe client's turn. You're waiting on something from them — usually for the deposit to clear (Stripe payment in progress, or they haven't sent the manual deposit yet).
    • 🟢 Greenagreed and locked. Date is set, deposit is received (or wasn't required to begin with).

    If any field on a card is orange, a small orange stripe also lights up on the left edge of the row — a fast way to scan the whole list and spot the requests that need you, without checking each icon individually.

    If a booking is currently in a refund flow (the client cancelled, or you dropped the booking and are issuing a refund), the icon strip is replaced by a small Cancelling badge — same colour rules apply (orange = your move next, yellow = waiting on the other party).

    Two banners may sit above the whole list:

    • Calendar Closed. If your Availability & Schedule info card has your calendar set to closed, a banner appears across every Requests sub-tab telling you new requests are paused. Existing requests stay actionable; closed just means no new ones come in. The Update Availability Settings link in the banner deep-links to the right screen.
    • Activate the Booking module to receive new requests. If you're on the practitioner side without the Booking module active (typically post-trial), the banner blocks new incoming requests but leaves your historical ones visible. Tapping it routes you to the upgrade flow.

    If you have nothing pending, the tab shows a friendly All Clear! empty state.

  2. 2

    Open the booking detail page

    Tap the card to open the full detail page. Unlike project-based bookings, there are no Management / Request Details tabs — time-based has one screen with all of it stacked:

    • Services — what the client booked, with the price and duration of each line. The total at the bottom is what you'll be paid (less any platform fee shown in your settings).
    • Date and time — the slot the client picked, plus the location it's tied to (your shop, or the address from your independent profile).
    • Reference Images (laser practitioners and permanent makeup practitioners only) — photos the client uploaded of the area to work on. Tap one for a full-screen viewer.
    • Additional Notes — any free-text the client added at submission (jewellery preferences, medical context, prior sessions elsewhere, etc.). Skipped at submit time if they had nothing to add, in which case this section won't appear.
    • Deposit — the section where you'll act if a deposit is in play (covered in Step 3).
    • Policies snapshot — the policies the client agreed to at submit. These are frozen onto the booking; even if you update your policies later, this booking's policies stay what they were on submission day.

    The header has a Message button — tap it to open or create the conversation with the client. Use it for anything the form didn't capture (jewellery sourcing, parental-consent paperwork, scheduling clarifications) or to coordinate the manual deposit (see Step 3).

  3. 3

    The deposit clears the booking

    For time-based bookings the deposit is the gate between Pending and Confirmed. Three paths, depending on what the client picked:

    • Stripe (card / Apple Pay / Google Pay) — when the client pays through the in-app Payment Sheet, Stripe confirms the payment and InkMap's webhook auto-confirms the booking within seconds. You get a Deposit Sent push; the booking flips from Pending to Confirmed on its own. There's nothing to confirm manually.
    • Manual deposit (cash, bank transfer, Revolut, etc.) — the client pays you outside the app and then taps I've paid outside the app in the booking. You get a Deposit Sent push, and the deposit section on your booking detail page now shows two buttons:
    • Confirm Deposit — you'll first pick who received it (you, or the studio if your shop collects deposits centrally), then tap to confirm. The booking flips to Confirmed and the client gets a Deposit Confirmed + Booking Confirmed push.
    • Not Received — flips the deposit back to a pending state. Use this only if the client tapped I've paid outside the app but you actually haven't received the money yet. The client doesn't get a notification when you tap this; you'll need to message them.
    • No deposit on any of the picked services — the booking landed as Confirmed at submit (see Step 1). Nothing to confirm.

    InkMap doesn't relay payment instructions for the manual path (your IBAN, Revolut tag, or other details for the client to send to). Use the booking's DM thread to tell the client where to send the money — the Message button in the header opens the same thread the client uses on their side. If you've set a free-text "Payment details" field under your Settings → Payment Settings, that text is visible to the client today on their side; if you haven't, the DM is the only path.

    When the booking flips to Confirmed, the slot is locked on your calendar. The day-by-day timeline on Bookings → Calendar shows it immediately, and the month view counts it in the per-day density.

  4. 4

    The booking is on your calendar — what happens next

    Once Confirmed, a time-based booking sits in Bookings → Requests → Confirmed until the appointment passes. The compact card stays the same (date + deposit icons, both green). Tapping it opens the same detail page as before — there's no separate "confirmed booking" view.

    When the slot's end-time passes, the booking moves out of Confirmed and into the Review tab — the post-appointment workspace. There you'll see two affordances:

    • Mark Complete — flips the booking into the completed state. Frees the booking up for the client to leave a review.
    • Drop Booking — opens a reason picker (no-show, client cancelled last minute, you cancelled, not interested, emergency, health, other) plus an optional note. The picker is the same one the project-based side uses, so it includes a few options that fit a confirmed-and-completed appointment more than a fresh request — pick the closest fit.

    If a deposit was received and the appointment passes without anyone marking it complete, the booking lingers in the Review tab waiting for you. Dropping a past-event booking with a deposit lets you keep the deposit by default — the system treats a no-show on the day as the client's accountability, not yours. The full refund-eligibility rules are spelled out in Deposit rules and refund eligibility.

  5. 5

    When you want to walk away

    There's no per-field rejection on time-based bookings (no fields to reject), but every state where the booking is still alive has a one-tap Drop Booking affordance at the bottom of the booking detail page. Tapping it opens a reason picker (no-show, client cancelled last minute, you cancelled, not interested, emergency, health, other) plus an optional notes field. What happens after you confirm depends on where the deposit is in its cycle:

    • A pending request with no deposit in motion — you can drop manually by picking a reason and confirming (the booking moves to your Review tab as Dropped, the client gets a Request Rejected push, no money changes hands). Or, if you simply don't respond, the system auto-cancels the request shortly after the slot's end time passes and notifies the client — you don't have to actively reject every request you can't take. You can also message the client first if you want to explain rather than reject silently — all three options are valid.
    • A pending booking where the client has marked their manual deposit as sent — confirming the drop opens the manual refund flow. The booking enters Cancelling state, the Mark Refund Sent button appears once you've returned the money, and the client confirms receipt from their side. If you don't actually believe the client paid, tap Not Received in the deposit section first (it flips the deposit back to pending) and then drop, which skips the refund step entirely.
    • A confirmed booking where the appointment hasn't happened yet — refund eligibility is governed by the policies snapshotted on the booking at submit, not your current ones. The behaviour after you confirm the drop branches on how the deposit was paid:
    • Manual deposit (cash, bank transfer, Revolut) — the booking enters Cancelling, you send the money back, then tap Mark Refund Sent. The client confirms receipt or disputes it.
    • Stripe deposit (card, Apple Pay, Google Pay) — the platform issues the refund automatically to the client's card. You don't need to log into Stripe or take any further action; the client gets a Refund Completed push once Stripe confirms (usually 5–10 business days).
    • On a manual offline booking that you created yourself, the modal also offers a Keep Deposit option for cases where the client's behaviour gives you cause not to refund. Use this carefully — see the deposit-rules concept article for the policy.
    • A confirmed booking after the slot has passedDrop Booking is also available in the Review tab. By default the deposit is kept (the system reads a no-show on the day as the client's accountability, not yours). See Step 4.

    The Message button is always available regardless of state, and is often a good first step before dropping — many situations resolve in DM without either side needing to drop or cancel formally.

Frequently asked questions

I just received a request and the booking is already in my Confirmed tab. Did the client already pay something?

Either there was no deposit configured on the services they picked (so the booking auto-confirms at submit), or they paid through Stripe and the webhook auto-confirmed it before you opened the app. Look at the deposit row on the booking detail page — if it reads "Not required" the booking was no-deposit; if it reads "Received via Stripe" they paid by card and you don't need to do anything.

The client tapped **I've paid outside the app** but I haven't actually received the money. What now?

Tap Not Received in the deposit section on the booking detail page. The deposit flips back to pending, the booking stays in your Pending tab, and the client doesn't get a push (you'll want to message them). Don't tap Confirm Deposit until the money is in your account / hand — Confirm Deposit moves the booking to Confirmed and locks the slot.

Can I propose a different time slot to the client like project-based bookings can?

No. Time-based bookings work on a "client picks, you confirm" basis — there's no proposal back-and-forth on the time-based side. If the slot the client picked doesn't work, message them and ask them to cancel and re-book a different one.

I just opened a request and my calendar is closed. Can I still respond?

Yes. The Calendar Closed banner only blocks new incoming requests; it doesn't freeze in-flight bookings. Existing requests stay actionable — you can confirm deposits, message, drop after the slot passes, the lot. To stop the banner from showing, re-open your calendar from your Availability & Schedule info card.

How do I know which of my deposits are Stripe vs manual?

The deposit section on the booking detail page tells you. A Stripe deposit reads "Received via Stripe" once the webhook clears; a manual deposit reads "Sent" while waiting on you, and "Received" with a "Collected by you / by your studio" note once you confirm. You only get the Confirm Deposit / Not Received buttons on manual deposits — Stripe doesn't need them because Stripe's webhook handles the confirmation directly.

A client paid the Stripe deposit but the booking is still showing Pending. What's going on?

If it's been more than a minute or two, something is unusual — the webhook should have flipped the booking to Confirmed within seconds of the payment succeeding. Pull-to-refresh on the booking detail page; if it still shows Pending, message the client to confirm their card was actually charged (the Stripe Payment Sheet sometimes shows "Success" even if the card was declined on the bank's side a few seconds later). If the charge is real and the booking still hasn't flipped, that's a platform issue worth flagging.

Where does my booking go after the appointment is over?

Confirmed bookings whose end-time has passed move out of the Confirmed sub-tab and into the Review sub-tab on the same Bookings page. From Review you can Mark Complete (the appointment happened, end of story) or Drop Booking (something went wrong — pick a reason, the system handles deposit-keep-vs-refund based on whether the slot was past). See Step 4.

What happens if a client sends me a request, I never respond, and the appointment date passes?

The system auto-cancels the request on your behalf shortly after the slot's end time passes. The client gets a push letting them know the appointment was auto-cancelled because the deposit wasn't confirmed in time, and the booking moves to your Review tab as Dropped. You don't need to do anything. If the client had marked their manual deposit as Sent but you never confirmed receipt, the auto-cancel opens a refund flow instead of dropping silently — money in motion always needs to be returned to the client, and you'll get a notification to send the refund.

Related concepts

Was this helpful?

Get InkMap on your phone

Available on iOS and Android

© 2026InkMap  ·  All rights reserved