3. Open a section

GET/api/v1/public/booking-sessions/6e5e5b33-ab5c-40da-b9f0-19bec7da55dd?section_id=49
Explanation

In plain words: “show seats in this area.” Pick a section on the map, then ask for its seats. Only take seats marked available.

Payload / request

Pass section_id (the section number from the map).

(no body)
Response

Seats in that section — places-restantes-style details (no qr_code: QR only after purchase). Use id / place_id for the hold.

{
  "success": true,
  "message": "Booking session",
  "data": {
    "session_id": "6e5e5b33-ab5c-40da-b9f0-19bec7da55dd",
    "event_id": "8",
    "owner_ref": "YOUR_PARTNER_CODE-user-42",
    "status": "ACTIVE",
    "expires_at": "2026-09-04T13:30:00.000Z",
    "requires_access_code": true,
    "event": { "id": "8", "title": "Horoya AC — Hafia FC", "currency": "GNF" },
    "map": {
      "event_id": "8",
      "zones": [{ "id": "7", "name": "Tribune Ouest", "code": "TRIB-OUEST", "display_color": "#8B4513" }],
      "sections": [{ "id": "49", "zone_id": "7", "code": "To-03", "price": 40000 }],
      "seats": [
        {
          "id": "75977",
          "zone_id": "7",
          "section_id": "49",
          "seat_code": "W13",
          "row": 23,
          "number": 13,
          "status": "available",
          "price": 40000,
          "place_id": 75977,
          "place": "W13",
          "numero_place": 13,
          "rangee": "W",
          "secteur": "To-03",
          "porte": { "code": "T01", "nom": "Tribune Ouest 1", "libelle": "Ouest 1" },
          "tribune": { "code": "TRIB-OUEST", "nom": "Tribune Ouest", "couleur": "#8B4513" },
          "route": ["Tribune Ouest 1", "To-03", "W", "W13"],
          "route_texte": "Tribune Ouest 1 → To-03 → W → W13",
          "code_litige": "STD-8-S75977"
        }
      ]
    },
    "availability": {
      "event_id": "8",
      "scope": "section",
      "section_id": "49",
      "generated_at": "2026-09-04T13:01:00.000Z",
      "revision": "2026-09-04T13:01:00.000Z",
      "sold_out": false,
      "remaining": 260,
      "zones": [],
      "sections": [{ "id": "49", "zone_id": "7", "remaining": 260 }],
      "seats": [
        { "id": "75977", "status": "available", "seat_code": "W13" },
        { "id": "75978", "status": "available", "seat_code": "W14" },
        { "id": "75979", "status": "held", "seat_code": "W15" },
        { "id": "75980", "status": "sold", "seat_code": "W16" }
      ]
    },
    "holds": []
  }
}
Code example
const res = await fetch("https://book.stadepassgn.com/api/v1/public/booking-sessions/6e5e5b33-ab5c-40da-b9f0-19bec7da55dd?section_id=49", {
  method: "GET",
  headers: {
    "x-partner-code": process.env.PARTNER_CODE || "YOUR_PARTNER_CODE",
  },
});
const json = await res.json();

Try this API (demo)

Local playground — sample GNF response. No real network call.

Demo only. In production, sign every request (see Auth on the home page).