Help Me Get Data From Multi-Reference Field using Wix Booking Timetable

I’m trying to add more data to my Wix Booking Services by creating a custom data collection with a multi-reference field.

I know the Wix Booking API is limited and the data collection is read-only, but by creating a multi-reference field in my custom collection the 2 collections have been linked.

Everything is working up until I try and call the reference field data from my page code.

While the referenced collection is showing in the booking services content manager, the field key doesn’t appear in the page code JSON.

{
  "_id": "5f59643e-b8e1-4016-8c0c-4b90e0384535",
  "serviceName": "CBF101B",
  "description": "Abbotsford",
  "tagLine": "Campbell River",
  "serviceType": "CLASS",
  "slug": "cbf101b",
  "bookingsFlowEntryUrl": "/bookings-checkout/cbf101b/book",
  "servicePageUrl": "/service-page/cbf101b",
  "paymentType": "FREE",
  "priceAmount": 0,
  "depositAmount": 0,
  "form": {
    "fields": [
      {
        "_id": "e36f6e0f-198a-413f-821b-34b3b3b58808",
        "type": "email",
        "label": "Email",
        "link": null,
        "constraints": {
          "required": true
        }
      },
      {
        "_id": "10d924a4-9155-4022-ae66-b8dae9123f92",
        "type": "tel",
        "label": "Phone Number",
        "link": null,
        "constraints": {}
      },
      {
        "_id": "cbfa6ee2-e43b-445b-b579-d38650531031",
        "type": "text",
        "label": "Name",
        "link": null,
        "constraints": {
          "required": true
        }
      },
      {
        "_id": "132c844e-a6d0-4d45-8957-458e07e839f1",
        "type": "text",
        "label": "Add Your Message",
        "link": null,
        "constraints": {}
      }
    ]
  },
  "partOfPricingPlan": false,
  "maxSessionCapacity": 6,
  "maxNumberOfParticipantsPerReservation": 6,
  "requiresApproval": false
}

My page code for the repeater data

// Setup each item in the slot repeater as it is loaded.
export function slotRepeater_itemReady($item, itemData, index) {
    // Get the services price from the global services map using the items price
    const slotPrice = servicesMap[itemData.serviceId].AdditionalSession.baseFare
    
    // Populate the item's display fields.
    $item("#slotPrice").text = slotPrice;
}

The error

Please help.

I think I figured it out. For anyone that needs help in the future;

My getAllClasses() function needed to include the multi-reference field

// Get all services of type class from the Services Collection.
async function getAllClasses() {
    const data = await wixData.query("Bookings/Services").include("AdditionalSession").find();
    console.log(data)
    return data.items;
}

Now my page code JSON was showing the Additional Session field

{
  "_id": "5f59643e-b8e1-4016-8c0c-4b90e0384535",
  "serviceName": "CBF101B",
  "description": "Abbotsford",
  "tagLine": "Campbell River",
  "serviceType": "CLASS",
  "slug": "cbf101b",
  "bookingsFlowEntryUrl": "/bookings-checkout/cbf101b/book",
  "servicePageUrl": "/service-page/cbf101b",
  "paymentType": "FREE",
  "priceAmount": 0,
  "depositAmount": 0,
  "form": {
    "fields": [
      {
        "_id": "e36f6e0f-198a-413f-821b-34b3b3b58808",
        "type": "email",
        "label": "Email",
        "link": "null",
        "constraints": "[Object]"
      },
      {
        "_id": "10d924a4-9155-4022-ae66-b8dae9123f92",
        "type": "tel",
        "label": "Phone Number",
        "link": "null",
        "constraints": "[Object]"
      },
      {
        "_id": "cbfa6ee2-e43b-445b-b579-d38650531031",
        "type": "text",
        "label": "Name",
        "link": "null",
        "constraints": "[Object]"
      },
      {
        "_id": "132c844e-a6d0-4d45-8957-458e07e839f1",
        "type": "text",
        "label": "Add Your Message",
        "link": "null",
        "constraints": "[Object]"
      }
    ]
  },
  "partOfPricingPlan": false,
  "maxSessionCapacity": 6,
  "maxNumberOfParticipantsPerReservation": 6,
  "requiresApproval": false,
  "AdditionalSession": [
    {
      "originAirportCode": "YXX",
      "displayFare": 266.51,
      "terminalFee": 0,
      "refId": "5f59643e-b8e1-4016-8c0c-4b90e0384535",
      "_id": "32078bb2-3111-4287-a6c5-86f5494aebf5",
      "_owner": "453df4ba-f8ef-43b7-b7c7-79b12c502c22",
      "_createdDate": "Thu Apr 14 2022 15:39:02 GMT-0700 (Pacific Daylight Time)",
      "securityFee": 0,
      "baseFare": 239.81,
      "destinationAirportCode": "YBL",
      "destinationCity": "Campbell River",
      "_updatedDate": "Sat Apr 16 2022 10:11:11 GMT-0700 (Pacific Daylight Time)",
      "navCanadaFee": 5,
      "landingFee": 0,
      "fuelSurcharge": 9,
      "airportImprovementFee": 0,
      "departure": "Abbotsford International Airport (YXX)",
      "route": "CBF101B",
      "arrival": "Campbell River Airport (YBL)",
      "originCity": "Abbotsford"
    }
  ]
}

And I needed to specify array position in my repeater data call

// Setup each item in the slot repeater as it is loaded.
export function slotRepeater_itemReady($item, itemData, index) {
    // Get the services price from the global services map using the items price
    const slotPrice = servicesMap[itemData.serviceId].AdditionalSession[0].baseFare
    // Populate the item's display fields.
    $item("#slotPrice").text = formatMoney(slotPrice);
}

Result