---
title: "Select a trip variant."
method: PUT
path: "/v1/trips/{id}/variants/{variantId}/select"
tags: ["Public API v1"]
---

# Select a trip variant.

`PUT /v1/trips/{id}/variants/{variantId}/select`

## Request

- Base URL: `https://api.mynextadventure.cloud` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mynextadventure.cloud/v1/trips/{id}/variants/{variantId}/select`
- Auth: API key in header `X-API-Key`

Returns the variant as it now stands, so the caller can confirm the selection took effect.

## Path parameters

- `id` string, required
- `variantId` string, required

## Response `200`

- TripVariantV1Dto
  - `id` string, required
  - `name` string, required
  - `dates` union: Either an exact-dates or flexi-dates structure for this variant.
    - ExactDatesV1Dto
      - `startDate` string, date-time, required
      - `endDate` string, date-time, required
    - FlexiDatesV1Dto
      - `departLeavingNotBeforeDate` string, date-time, required
      - `departArrivingNotAfterDate` string, date-time, required
      - `returnLeavingNotBeforeDate` string, date-time, required
      - `returnArrivingNotAfterDate` string, date-time, required
      - `minNights` number, required
      - `maxNights` number, required
  - `minNights` number
  - `maxNights` number
  - `participants` TripVariantParticipantsV1Dto, required
    - `adults` number, required
    - `children` TripVariantChildV1Dto[], required
      - `age` number, required
    - `numberOfRooms` number
  - `destinations` TripDestinationV1Dto[], required
    - `destination` string, required
    - `destinationKey` string, required
    - `isReturnToHome` boolean
    - `startDate` string, date-time: Arrival date at this destination.
    - `endDate` string, date-time: Departure date from this destination.
    - `accommodationOptions` AccommodationOptionV1Dto[], required
      - `key` string, required
      - `name` string
      - `type` 'hotel' | 'hostel' | 'apartment' | 'house' | 'camping' | 'other': Type of accommodation.
      - `totalCost` number, required
      - `currency` string, required
      - `location` OptionLocationOutV1Dto, required
        - `name` string
        - `formattedAddress` string
        - `coordinates` OptionPlaceCoordinatesV1Dto
          - `lat` number, required
          - `lng` number, required
        - `googlePlaceId` string
        - `locationiqPlaceId` string
      - `checkIn` string, date-time
      - `checkOut` string, date-time
      - `freeCancellationUntil` string, date-time
      - `checkInTime` string
      - `checkOutTime` string
      - `roomDetails` RoomDetailsOutV1Dto
        - `numberOfRooms` number
        - `sizeInM2` number
      - `sourceUrl` string
      - `notes` string
      - `imageUrl` string: URL of a photo of the accommodation.
      - `description` string: Short description of the accommodation.
      - `url` string: Link to the listing or the property website.
      - `features` string[]: Facilities this accommodation offers.
      - `externalRating` ExternalRatingV1Dto
        - `score` number, required: Rating score as published by the source (e.g. 8.8).
        - `scale` number, required: Maximum of the rating scale (e.g. 10 for Booking.com, 5 for Google). Required whenever score is set.
        - `count` number: Number of reviews behind the score.
        - `source` string: Where the rating came from (e.g. "booking.com").
      - `createdBy` UserInfoV1Dto
        - `email` string, required
        - `userId` string, required
        - `name` string, required
        - `avatar` string
        - `isCurrentUser` boolean
    - `selectedAccommodation` string
    - `transportOptions` TransportOptionV1Dto[], required
      - `key` string, required
      - `transportType` 'car' | 'plane' | 'train' | 'bus' | 'ship' | 'motorbike' | 'bike' | 'other'
      - `from` OptionLocationOutV1Dto
        - `name` string
        - `formattedAddress` string
        - `coordinates` OptionPlaceCoordinatesV1Dto
          - `lat` number, required
          - `lng` number, required
        - `googlePlaceId` string
        - `locationiqPlaceId` string
      - `to` OptionLocationOutV1Dto
        - `name` string
        - `formattedAddress` string
        - `coordinates` OptionPlaceCoordinatesV1Dto
          - `lat` number, required
          - `lng` number, required
        - `googlePlaceId` string
        - `locationiqPlaceId` string
      - `departAt` string, date-time
      - `arriveAt` string, date-time
      - `durationHours` number
      - `durationMinutes` number
      - `roundTrip` boolean, required
      - `roundTripReturn` boolean
      - `outboundIncludesReturnCost` boolean
      - `returnTransportOptionKey` string
      - `totalCost` number
      - `notes` string
      - `link` string
      - `currency` string
      - `createdBy` UserInfoV1Dto
        - `email` string, required
        - `userId` string, required
        - `name` string, required
        - `avatar` string
        - `isCurrentUser` boolean
    - `selectedTransportOption` string
    - `gettingAroundOptions` GettingAroundOptionV1Dto[], required
      - `key` string, required
      - `type` 'walk' | 'publicTransport' | 'rideShare' | 'ownCar' | 'rentalCar' | 'ownMotor' | 'rentalMotor' | 'bike' | 'rentalBike' | 'other'
      - `totalCost` number
      - `currency` string
      - `notes` string
      - `link` string
      - `createdBy` UserInfoV1Dto
        - `email` string, required
        - `userId` string, required
        - `name` string, required
        - `avatar` string
        - `isCurrentUser` boolean
    - `selectedGettingAroundOption` string
    - `notes` string
  - `eventsToAttend` EventToAttendV1Dto[], required
    - `key` string, required
    - `name` string, required
    - `start` string, date-time
    - `end` string, date-time
    - `location` EventLocationV1Dto
      - `googlePlaceId` string
      - `name` string
      - `formattedAddress` string
      - `coordinates` EventLocationCoordinatesV1Dto
        - `lat` number, required
        - `lng` number, required
    - `eventType` string
    - `totalCost` number
    - `currency` string
    - `link` string
    - `notes` string
    - `userUploadedImageUrl` string: Photo of the place, shown on the map popup.
    - `selected` boolean, required
    - `createdBy` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `notes` string

---

[API](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api.md) · [All operations](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mynextadventure/apis/mynextadventure-public-api/revisions/a246114e73a0?raw)
