Referrals program
Share this article
Overview
The Referrals page in your Mallard Bay dashboard is where you work booking referrals: one outfitter (the referring party, or “sender”) sends a referral to another outfitter (the “recipient”), often including guest-oriented details and sometimes linking an existing booking. Recipients accept or decline pending referrals when they are willing or unable to host the referred guest opportunity.
Referrals tie into quotes and booking invites so that when you convert the opportunity into a formal offer, Mallard Bay can preserve booking attribution. That helps keep the referral aligned with whichever booking is eventually confirmed, including context for referral fees.
This is intentionally separate from leads. In the Leads area, fields like referral source describe how you classified where a prospect came from. Booking referrals are a partnership workflow between outfitters, not lead-source labels.
Prerequisites
Outfitter selected — The referrals experience is scoped to whichever outfitter you’re managing in the dashboard. Certain internal admin workflows see an empty “select an outfitter” message until one is chosen (
NotAvailableForAllOutfitterson the referrals route).Feature access by tab — The dashboard distinguishes two capabilities tied to referrals:
- Receive referrals gates the content you see while on the received participant view (incoming referrals for your outfitter).
- Send referrals gates the sent tab, the primary Create Referral action, and referral creation flows. If sending is unavailable or limited, creation may resolve to Mallard Bay’s standard feature upsell experience instead of the form.
What your plan includes (exact limits, tiers, or add-ons) is determined outside this screen; treat locked tabs or blocked creation as signals to contact Mallard Bay or adjust your subscription.
Step-by-step: Using referrals in the dashboard
Open the Referrals area
Go to
/referralsin your admin dashboard (the product also supports/referrals/receivedand/referrals/sentfor direct links).Use two participant perspectives presented as tabs:
- Received — referrals where your outfitter is the recipient (another outfitter—or Mallard Bay in admin-originated cases—sent you the opportunity).
- Sent — referrals you created from your outfitter to a chosen recipient outfitter. This tab shows a lock state when sending referrals is disabled for your account.
Filter by status using the status control on the page. Behind the scenes, referrals use standard workflow states (Pending, Accepted, Declined, Cancelled) so you can focus on active items.
Browse the paginated table (10 rows per page in the dashboard). Columns include creation date, the other outfitter (labeled Sent to or Received from, depending on the tab), booking total, referral fee (special rules apply before a booking exists—see below), and status.
Open referral details from the list
Clicking a row updates the URL query string with
referral_idand sometimesbooking_id.If the referral is tied to a booking, the dashboard opens your booking details drawer scoped to focus on referral context (payments and similar sections are narrowed for this view).
If there is no booking,you get a side panel containing the standard referral summary card (
BookingReferralDetails/BookingReferralCard).
Create a referral (sender)
Select Create Referral from the referrals page header. The button respects send referrals access and stays disabled until an outfitter context exists.
Walk through the step-by-step form (internal Mallard Bay administrators may see an extra optional Admin referral step first; ordinary outfitter users skip it):
- Booking — Choose whether this referral corresponds to an existing booking (
is_with_booking) or introduces a prospective guest without a booking yet. - Outfitter — Pick the receiving outfitter (
recipient_outfitter). - Description — Explain what the recipient needs (dates, quarry, lodging expectations, logistics, anything material to their decision). If you skipped selecting a booking earlier, enter the guest name and email Mallard Bay will carry with the referral.
- Review — Confirm choices. Unless it’s an explicit admin referral (
$0fee messaging in-product), you'll see an on-screen preview of referral fee line items sourced fromgetBookingReferralFeePreview.
- Booking — Choose whether this referral corresponds to an existing booking (
Submit to create the referral; the dashboard refetches listings on success (
createBookingReferralsmutation).
Inline copy explains behavioral differences—for example referrals without a booking note that the fee is calculated once a trip becomes a booking.
Respond to referrals you receive (recipient)
- Locate a pending inbound referral (
BookingReferralCardButtons). - Accept confirms through a modal. If the referral already has an associated booking, acceptance simply closes—you continue working inside that booking. If there is still no booking, acceptance routes you straight into Mallard Bay’s booking invite / quote builder (
navigateToBookingInviteFormwith referral context) so outbound sales work stays tethered for downstream attribution once a booking confirms. - Decline opens a modal where you choose a predefined reason from Mallard Bay’s denial-reason picker for booking referrals—you cannot finalize the decline until a reason selection is supplied.
- For accepted referrals that still lack both bookings and booking invites, the referral card’s overflow menu exposes Send quote, which reruns that same attributed booking-invite entry point.
Cancel a referral you originally sent
- Open a referral you issued while it remains pending.
- If allowed, choose Cancel from the referral card’s overflow (
CancelReferralConfirmationModal). Administrative referrals require an internal Mallard Bay admin persona to execute cancellation—the general recipient sender cannot cancelis_by_adminreferrals.
Referrals from a booking record
When a booking has related referral rows, Booking Details surfaces one or both sections (Sent booking referrals and Received booking referrals, or Booking referrals when only one direction exists). Interaction patterns match the referrals page (BookingReferralsSection). You can evaluate status, contacts, descriptive context, referral fee presentation, menus, accept/decline, send-quote, etc., straight from booking context whenever you’re juggling operations.
Understanding referral fees in the dashboard
Creating — Sender-oriented review previews fee via API-driven line items whenever it’s not a zero-fee administrative referral (
ReferralFeePreview). Form copy sets expectations that outbound fees crystallize differently when no booking accompanies the referral initially.Table view (
getReferralFee) — Displays “TBD” when there is no booking yet, and the referral is not an admin referral—which avoids implying a finalized dollar amount prematurely. Once a booking total exists sofee_amountcan surface, Mallard Bay shows the formatted referral fee dollar figure.Detail cards (
BookingReferralCardFee) — If the payout amount is pending (non-admin and no monetary amount yet), the UI prioritizes labeling referral fee rate with a formatted percentage pulled fromfee_rate.Payout wording (
REFERRAL_FEE_NOTE/ACCEPTED_REFERRAL_FEE_NOTE) explains that issuing your referral compensation depends on the recipient accepting, the guest booking, and Mallard Bay collecting adequate guest funds—a customer-facing synopsis of timing/conditions surfaced in-dashboard.
Anything beyond visible fees—such as when funds move, bookkeeping integration, detailed reporting keyed off fields like was_fee_transfered, or contractual configuration of percentages—is not specified in customer-facing flows inspected here.
Common pitfalls
Confusing lead “referral source” with outfitter referrals — Lead ingestion uses internal referral-source classifications for analytics/import; booking referrals live under Referrals.
“TBD” in the referrals table without panic — It’s intentional when there isn’t confirmed booking-backed pricing tied to non-admin referrals.
Locked sent participant tab but visible received view — You may ingest partner referrals automatically while outbound referral creation waits on entitlement or quota.
Feature upsell intercepting creation — Hitting referral send limits invokes the standardized upsell path instead of the referral wizard.
Decline confirmations — You must intentionally pick Mallard Bay’s structured decline rationale; don’t rush past that guardrail thinking it’s optional commentary.
Related workflows that connect from the codebase
| Workflow | Relation |
|---|---|
| Quotes & booking invites | Accept flow or Send quote routes into outbound invite authoring with bookingReferralId, aligning prospect work with attribution when the funnel closes. Referrals optionally track booking_invite_id. |
| Bookings | Referrals optionally reference an established booking (booking { id total }). Booking detail merges sent/received cards for consolidated operations. Drawer deep-links highlight referral context alongside trip logistics. |
| Clients / Guests | Non-booking referrals require sportsman/contact fields so downstream invite emails align with whoever you’re introducing. |
What this article cannot confirm from the repository alone
Exact pricing tiers, send limits, and business rules behind feature flags reside in Mallard Bay’s subscription or backend policy engines rather than surfaced UI constants. Automated notifications keyed specifically to referrals are not enumerated in searchable dashboard configuration examined here beyond general feature gating mechanisms.