diff --git a/src/modules/user/services/itinerary.service.ts b/src/modules/user/services/itinerary.service.ts index 5f609d3..920e692 100644 --- a/src/modules/user/services/itinerary.service.ts +++ b/src/modules/user/services/itinerary.service.ts @@ -2880,18 +2880,28 @@ export class ItineraryService { if (!itineraryActivity) { throw new ApiError( 404, - `Itinerary activity not found for item ${index}.`, + `activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} was not found.`, ); } - if ( - itineraryActivity.itineraryType !== 'ACTIVITY' || - !itineraryActivity.activityXid || - !itineraryActivity.activity - ) { + if (itineraryActivity.itineraryType !== 'ACTIVITY') { throw new ApiError( 400, - 'Selections can only be stored for itinerary items linked to an activity.', + `activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} is not an ACTIVITY row. Actual itineraryType=${itineraryActivity.itineraryType}.`, + ); + } + + if (!itineraryActivity.activityXid) { + throw new ApiError( + 400, + `activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} is missing activityXid.`, + ); + } + + if (!itineraryActivity.activity) { + throw new ApiError( + 400, + `activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} could not load linked activity details.`, ); }