SwiftUI App Intent throws error when using requestDisambiguation with @Parameter property wrapper

I'm implementing an App Intent for my iOS app that helps users plan trip activities. It only works when run as a shortcut but not using voice through Siri. There are 2 issues:

  1. The ShortcutsTripEntity will only accept a voice input for a specific trip but not others.

  2. I'm stuck with a throwing error when trying to use requestDisambiguation() on the activity day @Parameter property.

How do I rectify these issues. This is blocking me from completing a critical feature that lets users quickly plan activities through Siri and Shortcuts.

Expected behavior for trip input: The intent should make Siri accept the spoken trip input from any of the options.

Actual behavior for trip input: Siri only accepts the same trip when spoken but accepts any when selected by click/touch.

Expected behavior for day input: Siri should accept the spoken selected option.

Actual behavior for day input: Siri only accepts an input by click/touch but yet throws an error at runtime I'm happy to provide more code. But here's the relevant code:

     struct PlanActivityTestIntent: AppIntent {
  
    @Parameter(title: "Activity Day")
    var activityDay: ShortcutsItineraryDayEntity

     @Parameter(
        title: "Trip",
        description: "The trip to plan an activity for",
        default: ShortcutsTripEntity(id: UUID().uuidString, title: "Untitled trip"),
        requestValueDialog: "Which trip would you like to add an activity to?"
    )
    var tripEntity: ShortcutsTripEntity
    
    @Parameter(title: "Activity Title", description: "The title of the activity", requestValueDialog: "What do you want to do or see?")
    var title: String
    
    @Parameter(title: "Activity Day", description: "Activity Day", default:  ShortcutsItineraryDayEntity(itineraryDay: .init(itineraryId: UUID(), date: .now), timeZoneIdentifier: "UTC"))
    var activityDay: ShortcutsItineraryDayEntity

    func perform() async throws -> some ProvidesDialog {
        // ...other code...
         let tripsStore = TripsStore()
        
            // load trips and map them to entities
            try? await tripsStore.getTrips()
            let tripsAsEntities = tripsStore.trips.map { trip in
                let id = trip.id ?? UUID()
                let title = trip.title
                return ShortcutsTripEntity(id: id.uuidString, title: title, trip: trip)
            }
            
            // Ask user to select a trip. This line would doesn't accept a voice       // answer. Why?
            let selectedTrip = try await $tripEntity.requestDisambiguation(
                among: tripsAsEntities,
                dialog: .init(
                    full: "Which of the \(tripsAsEntities.count) trip would you like to add an activity to?",
                    supporting: "Select a trip",
                    systemImageName: "safari.fill"
                )
            )

        // This line throws an error
        let selectedDay = try await $activityDay.requestDisambiguation(
            among: daysAsEntities,
            dialog:"Which day would you like to plan an activity for?"
        )
    }
}

Here are some related images that might help:

SwiftUI App Intent throws error when using requestDisambiguation with @Parameter property wrapper
 
 
Q