Partner App · Booking flow · Design update

Coming back to an accepted booking

Once a partner has accepted a booking, every way back into it leads to the same place: the installation-day screen. Going back from that screen shows the booking card in an Accepted version, with new CTAs. Nothing in this flow undoes the acceptance.

At a glance

What changes

01 · Re-entry

Card tap opens the day screen

If the partner leaves the installation-day screen and later taps the booking on Home, the same day screen opens.

02 · Back

Back shows the Accepted card

Back from the day screen opens the booking card in its Accepted version. The booking stays accepted.

03 · CTAs

New CTAs on the card

इंस्टालेशन का दिन देखें and कनेक्शन नहीं लगा सकता replace accept/decline. The ✕ closes without a sheet.

Booking card before acceptance with CTAs 'यह कनेक्शन लगा सकता हूँ' and 'नहीं लगा सकता'.
Before acceptUnchanged
Booking card in Accepted version with CTAs 'इंस्टालेशन का दिन देखें →' and red 'कनेक्शन नहीं लगा सकता'.
AcceptedNew version

Flows

The two journeys

Flow 1 · Leave the day screen, come back from Home

Booking accepted→ Day screen→ Partner leaves (✕ / back / app closed)→ Home→ Taps the same booking card→ Same day screen
Installation day screen: 'किस दिन लगाना है?', '18 जुलाई (शनिवार)', 'इस दिन कनेक्शन लगाना ही है', 'दिन बदलें', customer row, CTA 'टीम को भेजें'.
ExistingDay screen
Home feed with booking card 'इंस्टॉल · राहुल शर्मा', 'टीम चुनना बाक़ी है'.
ExistingHome · card “टीम चुनना बाक़ी है”

Flow 2 · Back from the day screen

Day screen→ ← Booking card · Accepted version

From the Accepted card, there are three ways out:

Primary CTA

इंस्टालेशन का दिन देखें →

Opens the day screen again.

Tertiary CTA

कनेक्शन नहीं लगा सकता

Starts the post-acceptance cancel flow, same as today: day-change offer → still cancel → rejection reasons → each reason's own flow.

✕ close

Close directly

No bottom sheet. Return to where the partner came from (Home, in the normal case).

The state does not change. Going back from the day screen is just navigation. It makes no API call, the booking stays Accepted (AWAITING_TECHNICIAN_ASSIGNMENT, acceptanceReceived = true), and the partner never sees the accept/decline CTAs for it again.

Screen

Booking card · Accepted version

The card itself (map, ₹750 banner, landmark, address, audio, पता नहीं समझ आया ?) is identical to the version before acceptance. Only the bottom CTA bar and the ✕ behave differently.

When to show it

CTA bar

ElementBefore acceptAccepted version
Primary CTAयह कनेक्शन लगा सकता हूँइंस्टालेशन का दिन देखें + 20dp → trailing icon · bg/brand #D9008D, label type/label/lg 16/24 SemiBold, text/onbrand · 48dp · radius 16
Tertiary CTAनहीं लगा सकता (brand pink)कनेक्शन नहीं लगा सकता · text/critical #D92130 · type/label/lg · padding 16 H / 8 V (40dp tall)
BarSame as before accept: bg bg/default, 1dp top border stroke/default, padding 16 top / 24 bottom / 16 sides, 8dp between the CTAs

Close (✕) and system back

Before acceptAccepted version
✕Opens the dismiss sheet (यह कनेक्शन अभी नहीं देखना? · “कनेक्शन 4 घंटे तक आपके पास रहेगा…”)Closes directly. No sheet, no 4-hour warning, because the booking is already accepted. Goes back to the origin.
System backSame as ✕Same as ✕: closes directly to the origin

Behaviour

Today vs new

The current behaviour comes from the live code.

MomentTodayNew
Tap an accepted, team-pending booking on HomeThe day screen opens only when the booking-decision flag is on and the booking is customer-scheduled. Otherwise it opens the old install drilldown.Always the day screen
Day screen · ← back arrowBack to HomeBooking card · Accepted version
Day screen · system backBack to HomeBooking card · Accepted version (same as ←)
Day screen · ✕Back to Home (rollout cohort: dismiss sheet)Unchanged
Booking card after acceptNever shown againShown in its Accepted version, reached from the day screen's back
✕ on the booking cardDismiss sheet with the 4-hour messageBefore accept: unchanged · Accepted: closes directly
Cancel after acceptनहीं कर पाएँगे on the day screen → post-acceptance cancel flowUnchanged, and also reachable from कनेक्शन नहीं लगा सकता on the Accepted card (same flow)
After a team is assignedCard opens the acknowledgement screenUnchanged. The Accepted card is only for the stage where no team is assigned yet.

Post-acceptance cancel flow (reused as is)

The tertiary CTA calls the same entry point as नहीं कर पाएँगे on the day screen (BookingViewModel.requestExit()), so both cohorts behave exactly as they do today:

Strings

Copy

New keys for booking_labels_hi_en.json. The key names are suggestions.

KeyHindiEnglish
booking.accepted.view_day_ctaइंस्टालेशन का दिन देखेंSee installation day
booking.accepted.cant_install_ctaकनेक्शन नहीं लगा सकताCan't install this connection