📄️ Agent property detail page
Everything the agent PDP renders for one selection, in one call: the gallery, the properties they picked and the rest of the resort, transport distances, nearby attractions, the resort overview — and the money, which is exactly what `POST /api/v1/search/pricing` returns for the same selection, because that is what computes it. Pass the `encodedId` from a search result or from a previous pricing call; it carries the dates, the party, the units, the meals, the VAS, the plan and the offer codes, so nothing has to be re-sent. Returns 400 for a missing or unreadable id, or when neither the id nor `channelId` names a channel; 404 for an unknown or inactive listing, or one not visible on that channel.