Multi-location Business

A business with multiple schedules (locations). The customer picks a location first, then sees only the staff and services available there.

Demo Barbershop has 2 locations in NYC. Click the info icon next to a staff member to see an example host-supplied mini-profile modal.

React code
import { useState } from "react";
import { BookingWidget } from "@openings-link/react-ui";
import type { MemberOpenings } from "@openings-link/react";

function MyBookingPage() {
  // Pass `onStaffInfoClick` to opt into the info icon next to each
  // staff member. When the user clicks it, you render your own
  // mini-profile UI — bio, photos, reviews, etc.
  //
  // Omit the prop and no info icon is rendered.
  const [infoMember, setInfoMember] = useState<MemberOpenings | null>(null);

  return (
    <>
      <BookingWidget
        business="demo"
        appointmentMetadata={{ demo: "multi-location" }}
        theme={{ accent: "#8B5CF6", radius: 10 }}
        onStaffInfoClick={setInfoMember}
        on={{
          onBookingComplete: (result) => {
            console.log("Booked!", result);
          },
        }}
      />
      {infoMember && (
        <MyStaffProfileModal
          member={infoMember}
          onClose={() => setInfoMember(null)}
        />
      )}
    </>
  );
}