# Get product-type details Retrieves the full details of a specific using its . This includes information about pricing, availability, and booking requirements. You can specify which to return and the for the response. Endpoint: GET /v2/product-types/{uuid} Version: 2.1 Security: Authorization ## Path parameters: - `uuid` (string, required) UUID of product type ## Query parameters: - `fields` (string) fields - comma separated list of fields to retrieve - `language` (string) language - UUID or code may be provided ## Response 200 fields (application/json): - `data` (object) The full ProductType Details information object - `data.uuid` (string) UUID of product-type - `data.title` (string) Title of product type, always in English - `data.titleTranslated` (string) Title of product type translated on requested language - `data.description` (string) Description of product type, always in English - `data.descriptionTranslated` (string) Description of product translated on requested language - `data.durationDays` (integer) Duration of activity in days - `data.durationHours` (integer) Duration of activity in hours - `data.durationMinutes` (integer) Duration of activity in minutes - `data.daysInAdvance` (integer,null) How many days in advance booking can be made. NULL if not applicable - `data.cutOffTime` (string,null) Booking can't be made after this time. NULL if not applicable - `data.isNonRefundable` (boolean) Product type non-refundable true/false - `data.allowChildren` (boolean) Is a child allowed to book this product type - `data.allowInfant` (boolean) Is an infant allowed for this product type (there is no pricing for infants!) - `data.minInfantAge` (integer,null) Minimum age allowed for an infant - `data.maxInfantAge` (integer,null) Maximum age allowed for an infant - `data.maxGroup` (integer,null) Maximum number of group: sum of adults, children and senior or null when not applicable - `data.minGroup` (integer,null) Minimum number of group: sum of adults, children and senior or null when not applicable - `data.instantConfirmation` (boolean) TRUE then confirmed booking this product should return new Booking status = approved, but if we're out of stock of e-tickets it can still return a 'Waiting' status - `data.nonInstantVoucher` (boolean) TRUE = voucher needs manual processing - `data.directAdmission` (boolean) TRUE, the voucher allows direct admission, otherwise customer needs to redeem vouchers. Information about voucher redemption is showed in voucherUse and voucherRedemptionAddress - `data.voucherUse` (string,null) Instruction on how to use the voucher - `data.voucherUseTranslated` (string,null) voucherUser translated on request language - `data.voucherRedemptionAddress` (string,null) Voucher redemption address if client needs to redeem a voucher. - `data.voucherRedemptionAddressTranslated` (string,null) voucherRedemptionAddress translated on requested language. - `data.voucherRequiresPrinting` (boolean) TRUE voucher needs to be printed. Otherwise, it can be presented eg. on mobile device - `data.meetingTime` (string,null) Meeting time - `data.meetingAddress` (string,null) Meeting location address - `data.meetingLocation` (string,null) Instructions about meeting location - `data.meetingLocationTranslated` (string,null) Translated version of meetingLocation on requested language - `data.cancellationPolicies` (array) Cancellation Policies only applicable for refundable product - `data.cancellationPolicySummary` (string,null) Summary of Cancellation Policies for refundable product - `data.ticketTypes` (array) List of all ticket types for this product type - `data.ticketTypes.type` (string, required) - `data.ticketTypes.label` (string, required) - `data.ticketTypes.allowed` (boolean, required) - `data.ticketTypes.min` (integer, required) - `data.ticketTypes.max` (integer, required) - `data.ticketTypes.minAge` (integer, required) - `data.ticketTypes.maxAge` (integer, required) - `data.ticketTypes.recommendedMarkup` (number, required) - `data.ticketTypes.parityPrice` (number, required) - `data.ticketTypes.gateRatePrice` (integer, required) - `data.validity` (object) Four validity types of the e-tickets/vouchers currently available: - `data.timeslots` (array) Available timeslots for product, might be null. If the ProductType has timeslots, the timeslotUUID of the product is REQUIRED in Check a Booking and Create a new booking methods - `data.timezone` (string) Timezone of the product type - `data.options` (object) Booking options - `data.options.perBooking` (array) Options per booking array - `data.options.perBooking.uuid` (string, required) - `data.options.perBooking.name` (string, required) - `data.options.perBooking.nameTranslated` (string, required) - `data.options.perBooking.description` (string, required) - `data.options.perBooking.descriptionTranslated` (string, required) - `data.options.perBooking.required` (boolean, required) - `data.options.perBooking.addOn` (boolean, required) - `data.options.perBooking.formatRegex` (string, required) - `data.options.perBooking.inputType` (integer, required) - `data.options.perBooking.minNumber` (integer, required) - `data.options.perBooking.maxNumber` (integer, required) - `data.options.perBooking.validFrom` (string, required) - `data.options.perBooking.validTo` (string, required) - `data.options.perPax` (array) Options that are required/available for each person on the booking - `data.hasOptions` (boolean) true/false, indicate whether product type has booking options. - `data.hasFileUploadOptions` (boolean) true/false, indicate whether product type has booking option that require file upload - `data.hasPriceOptions` (boolean) true/false, indicate whether product type has booking option which has a price. - `data.hasRequiredPriceOptions` (boolean) true/false, indicate whether product type has booking option which has a price and required is TRUE - `data.isBmgVoucher` (boolean) true/false, indicate whether product type using BMG own voucher code - `data.firstAvailabilityDate` (string) First date that is available for booking. 'False' if there is no availability date - `data.allowAdults` (boolean) Is an adult allowed to book this product type true/false. - `data.minPax` (integer,null) Minimum number of adults. NULL if not applicable. - `data.maxPax` (integer,null) Maximum number of adults. NULL if not applicable. - `data.minAdultAge` (integer,null) Minimum age allowed for an adult. NULL if not applicable. - `data.maxAdultAge` (integer,null) Maximum age allowed for an adult. NULL if not applicable. - `data.hasChildPrice` (boolean) Does product has child price - `data.minChildren` (integer,null) Minimum number of children or null when not allowed. NULL if not applicable. - `data.maxChildren` (integer,null) Maximum number of children or null when not allowed. NULL if not applicable. - `data.minChildAge` (integer,null) Minimum age allowed for a child. NULL if not applicable. - `data.maxChildAge` (integer,null) Maximum age allowed for a child. NULL if not applicable. - `data.allowSeniors` (boolean) Is a senior allowed to book this product type. - `data.minSeniors` (integer,null) Minimum number of seniors. NULL if not applicable. - `data.maxSeniors` (integer,null) Maximum number of senior. NULL if not applicable. - `data.minSeniorAge` (integer,null) Minimum age allowed for a senior. NULL if not applicable. - `data.maxSeniorAge` (integer,null) Maximum age allowed for a senior. NULL if not applicable. - `data.recommendedMarkup` (number,null) Recommended markup to adult prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. - `data.childRecommendedMarkup` (number,null) Recommended markup for child prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. - `data.seniorRecommendedMarkup` (number,null) Recommended markup for senior prices if you want to match with BMG's recommended prices (RRP). Null if not applicable. - `data.adultParityPrice` (number,null) Minimal retail price for adult. Null if not applicable. - `data.childParityPrice` (number,null) Minimal retail price for child. Null if not applicable. - `data.seniorParityPrice` (number,null) Minimal retail price for senior. Null if not applicable. - `data.adultGateRatePrice` (number,null) The rate that an adult get directly at the attraction website or gate. Null if not applicable. - `data.childGateRatePrice` (number,null) The rate that a child get directly at the attraction website or gate. Null if not applicable. - `data.seniorGateRatePrice` (number,null) The rate that a senior get directly at the attraction website or gate. Null if not applicable. - `data.isSrvEligible` (boolean) true/false. indicate whether this product type is available for Singapore Rediscover Vouchers Promo. ## Response 400 fields (application/json): - `message` (string) A human-readable error message. - `code` (string) An internal error code. - `http_code` (integer) Http Status Code ## Response 401 fields (application/json): - `message` (string) A human-readable error message. - `code` (string) An internal error code. - `http_code` (integer) Http Status Code ## Response 404 fields (application/json): - `message` (string) A human-readable error message. - `code` (string) An internal error code. - `http_code` (integer) Http Status Code ## Response 405 fields (application/json): - `message` (string) A human-readable error message. - `code` (string) An internal error code. - `http_code` (integer) Http Status Code