Cooking Class de Pastel de Nata com a Isabel e o Jorge no Terraço

Num pequeno apartamento com terraço na cidade do Porto, você em conjunto com a família anfitriã farão do inicio até à degustação do famoso Pastel de Nata.

Porto, Portugal

Select Experience Option

Choose the option that fits your plan. Pricing and availability update automatically.

Duration
1 hour
Accessibility
Not Available
Languages
English, Portuguese

Num pequeno apartamento com terraço na cidade do Porto, você em conjunto com a família anfitriã farão do inicio até à degustação do famoso Pastel de Nata.

Depois da chegada À morada da atividade, é feita uma receção de boas vindas com notas introdutórias da atividade que se vai realizar. è apresentada a família residente, os ingredientes e utensílios que são necessários para a realização da tarefa.

damos inicio onde o convidado é que vai fazer o Pastel de Nata com adição de todos os ingredientes, pesagens, medidas, temperaturas e modos de manuseamento do produto, tudo em perfeita segurança e harmonia no espaço envolvente. Depois de cozidas no forno, vamos fazer uma degustação com uma bebida à sua escolha, um café ou um chá ou Vinho do Porto para maiores de idade.

Traveller Requirements

  • Minimum age: Not specified
  • Passport required: No
  • Dress code required: No

Health & Accessibility

  • Supported accessibility: Not available

Guide & Languages

Guidance

Guided

Languages

English, Portuguese

Cancellation Policy

  • No refund if cancelled less than 24 hours before start.
  • Free cancellation up to 24 hours before start.

Porto, Porto, Portugal

  • Area: Porto, Portugal
  • Time zone: Europe/Lisbon

Before You Book

Meeting & Pickup

  • Meeting type: Meet On Location
  • Pickup service: No
  • Start point: PAstel de Nata no Terraço, Rua do Amial 723, Porto, Porto, 4200-055, PT
  • Time zone: Europe/Lisbon

Languages & Experience

  • Languages: English, Portuguese
  • Guidance: Guided
  • Difficulty: Easy
  • Type: Day Tour Or Activity
  • Categories: Classes And Workshops, Culinary

Booking Rules

  • Booking type: Date And Time
  • Schedule: Recurring
  • Request deadline: 2 day(s)
  • Private activity: Yes
  • Capacity type: Limited

Supplier & Contact

  • Supplier: Final Touch Cooking Class´s
  • Supplier currency: EUR
  • Required customer fields: firstName, lastName, email, language

Pricing Categories

  • Adult (15 - 111) (ADULT)
  • Children (CHILD)
  • Infant (0 - 2) (INFANT)

Know Before You Go

Not available.

Developer Data

Booking API status: 200 | Experience API status: 200

Booking requestId: bokun_1776105309974_thzl7p | Experience requestId: bokun_1776105310089_ixhfnh

Booking API payload (`/activity.json/`)
{
  "id": 1100216,
  "externalId": null,
  "productGroupId": 0,
  "productCategory": "ACTIVITIES",
  "box": false,
  "inventoryLocal": true,
  "inventorySupportsPricing": false,
  "inventorySupportsAvailability": true,
  "creationDate": "Sun Oct 12 12:47:24 UTC 2025",
  "lastModified": "Sun Feb 15 22:08:11 UTC 2026",
  "lastPublished": "2026-02-15T22:08:28.252Z",
  "published": false,
  "title": "Cooking Class de Pastel de Nata com a Isabel e o Jorge no Terraço ",
  "description": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Depois da chegada À morada da atividade, é feita uma receção de boas vindas com notas introdutórias da atividade que se vai realizar. è apresentada a família residente, os ingredientes e utensílios que são necessários para a realização da tarefa. damos inicio onde o convidado é que vai fazer o Pastel de Nata com adição de todos os ingredientes, pesagens, medidas, temperaturas e modos de manuseamento do produto, tudo em perfeita segurança e harmonia no espaço envolvente. Depois de cozidas no forno, vamos fazer uma degustação com uma bebida à sua escolha, um café ou um chá ou Vinho do Porto para maiores de idade.</p>",
  "excerpt": "Num pequeno apartamento com terraço na cidade do Porto, você em conjunto com a família anfitriã farão do inicio até à degustação do famoso Pastel de Nata.",
  "cancellationPolicy": {
    "id": 242331,
    "title": "Standard Viator policy",
    "penaltyRules": [
      {
        "id": 251219,
        "cutoffHours": 24,
        "charge": 100,
        "chargeType": "percentage",
        "percentage": 100
      },
      {
        "id": 251218,
        "cutoffHours": 24000,
        "charge": 0,
        "chargeType": "percentage",
        "percentage": 0
      }
    ],
    "tax": null,
    "defaultPolicy": true,
    "policyType": "ADVANCED",
    "simpleCutoffHours": null,
    "policyTypeEnum": "ADVANCED"
  },
  "overrideBarcodeFormat": false,
  "barcodeType": "QR_CODE",
  "timeZone": "Europe/Lisbon",
  "mainContactFields": [
    {
      "field": "FIRST_NAME",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "field": "LAST_NAME",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "field": "EMAIL",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "field": "LANGUAGE",
      "required": true,
      "requiredBeforeDeparture": false
    }
  ],
  "requiredCustomerFields": [
    "firstName",
    "lastName",
    "email",
    "language"
  ],
  "keywords": [],
  "flags": [],
  "slug": null,
  "baseLanguage": "en_GB",
  "languages": [
    "EN_GB"
  ],
  "paymentCurrencies": [],
  "customFields": [],
  "tagGroups": [],
  "categories": [],
  "keyPhoto": {
    "id": 9857938,
    "originalUrl": "https://bokun.s3.amazonaws.com/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
    "description": null,
    "alternateText": null,
    "height": "1440",
    "width": "1080",
    "fileName": "/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
    "flags": [],
    "derived": [
      {
        "name": "thumbnail",
        "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=80&h=80&mode=crop",
        "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=80&h=80&mode=crop"
      },
      {
        "name": "preview",
        "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=300&h=300",
        "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=300&h=300"
      },
      {
        "name": "large",
        "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=660&h=660",
        "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=660&h=660"
      }
    ]
  },
  "photos": [
    {
      "id": 9857938,
      "originalUrl": "https://bokun.s3.amazonaws.com/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
      "description": null,
      "alternateText": null,
      "height": "1440",
      "width": "1080",
      "fileName": "/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857939,
      "originalUrl": "https://bokun.s3.amazonaws.com/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg",
      "description": null,
      "alternateText": null,
      "height": "2592",
      "width": "4608",
      "fileName": "/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857940,
      "originalUrl": "https://bokun.s3.amazonaws.com/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg",
      "description": null,
      "alternateText": null,
      "height": "4640",
      "width": "2088",
      "fileName": "/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857941,
      "originalUrl": "https://bokun.s3.amazonaws.com/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857942,
      "originalUrl": "https://bokun.s3.amazonaws.com/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857943,
      "originalUrl": "https://bokun.s3.amazonaws.com/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg",
      "description": null,
      "alternateText": null,
      "height": "4000",
      "width": "3000",
      "fileName": "/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857944,
      "originalUrl": "https://bokun.s3.amazonaws.com/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg",
      "description": null,
      "alternateText": null,
      "height": "2048",
      "width": "1536",
      "fileName": "/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857945,
      "originalUrl": "https://bokun.s3.amazonaws.com/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg",
      "description": null,
      "alternateText": null,
      "height": "2048",
      "width": "1536",
      "fileName": "/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857946,
      "originalUrl": "https://bokun.s3.amazonaws.com/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg",
      "description": null,
      "alternateText": null,
      "height": "1500",
      "width": "2000",
      "fileName": "/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9857947,
      "originalUrl": "https://bokun.s3.amazonaws.com/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg",
      "description": null,
      "alternateText": null,
      "height": "1536",
      "width": "2048",
      "fileName": "/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg?w=660&h=660"
        }
      ]
    }
  ],
  "videos": [],
  "vendor": {
    "id": 127079,
    "title": "Final Touch Cooking Class´s",
    "currencyCode": "EUR",
    "showInvoiceIdOnTicket": false,
    "showAgentDetailsOnTicket": false,
    "showPaymentsOnInvoice": false,
    "companyEmailIsDefault": false
  },
  "boxedVendor": null,
  "storedExternally": false,
  "pluginId": null,
  "reviewRating": 0,
  "reviewCount": 0,
  "activityType": "DAY_TOUR_OR_ACTIVITY",
  "bookingType": "DATE_AND_TIME",
  "scheduleType": "RECURRING",
  "cutoffType": "RELATIVE_TO_START_TIME",
  "cutoffReferenceHour": 0,
  "cutoffReferenceMinute": 0,
  "earlyBookingLimitType": "UNLIMITED",
  "earlyBookingLimitSpecificDateTime": [
    2025,
    10,
    31,
    0,
    0
  ],
  "earlyBookingLimitDaysBefore": null,
  "earlyBookingLimitMonthsBefore": null,
  "earlyBookingLimitTime": null,
  "capacityType": "LIMITED",
  "passExpiryType": null,
  "fixedPassExpiryDate": null,
  "meetingType": "MEET_ON_LOCATION",
  "privateActivity": true,
  "passCapacity": 10,
  "passValidForDays": 0,
  "passesAvailable": 0,
  "affiliateHubProduct": false,
  "dressCode": false,
  "passportRequired": false,
  "supportedAccessibilityTypes": [],
  "startPoints": [
    {
      "id": 661555,
      "type": null,
      "title": "PAstel de Nata no Terraço",
      "code": null,
      "address": {
        "id": 16999754,
        "created": [
          2025,
          10,
          13,
          13,
          58,
          20
        ],
        "addressLine1": "Rua do Amial 723",
        "addressLine2": "",
        "addressLine3": "",
        "city": "Porto",
        "state": "Porto",
        "postalCode": "4200-055",
        "countryCode": "PT",
        "mapZoomLevel": 14,
        "geoPoint": {
          "latitude": 41.1792502,
          "longitude": -8.6140577
        },
        "unLocode": {
          "country": "",
          "city": ""
        },
        "origin": "GOOGLE_PLACES",
        "originId": "ChIJuXE2YzVkJA0RZZUUlf38vjM",
        "googlePlaceId": null
      },
      "pickupTicketDescription": null,
      "dropoffTicketDescription": null,
      "labels": []
    }
  ],
  "bookingQuestions": [],
  "passengerFields": [],
  "inclusions": [
    "FOOD_AND_DRINKS",
    "WIFI"
  ],
  "included": "",
  "exclusions": [],
  "excluded": null,
  "requirements": null,
  "knowBeforeYouGoItems": [],
  "attention": null,
  "locationCode": {
    "country": "PT",
    "location": "Porto",
    "name": "Porto"
  },
  "googlePlace": {
    "country": "Portugal",
    "countryCode": "PT",
    "city": "Porto",
    "cityCode": "Porto",
    "name": "Porto, Portugal",
    "geoLocationCenter": {
      "lat": 41.1579438,
      "lng": -8.629105299999999
    },
    "addressTypes": []
  },
  "tripadvisorReview": {
    "url": "https://www.tripadvisor.com.br/Attraction_Review-g189180-d32827882-Reviews-Final_Touch-Porto_Porto_District_Northern_Portugal.html",
    "name": "Final Touch",
    "rating": 5,
    "ranking": "#42 of 130 Classes & Workshops in Porto",
    "numReviews": 2
  },
  "resourceSlots": null,
  "bookingCutoffMinutes": 0,
  "bookingCutoffHours": 0,
  "bookingCutoffDays": 1,
  "bookingCutoffWeeks": 0,
  "requestDeadlineMinutes": 0,
  "requestDeadlineHours": 0,
  "requestDeadlineDays": 2,
  "requestDeadlineWeeks": 0,
  "boxedActivityId": 0,
  "comboActivity": false,
  "comboParts": null,
  "returnProduct": null,
  "offers": null,
  "ticketPerComboComponent": false,
  "ticketComboComponents": null,
  "pickupActivityId": null,
  "allowCustomizedBookings": false,
  "reservationTimeout": null,
  "vendorReservationTimeout": null,
  "dayBasedAvailability": false,
  "selectFromDayOptions": false,
  "dayOptions": [],
  "activityCategories": [
    "CLASSES_AND_WORKSHOPS",
    "CULINARY"
  ],
  "activityAttributes": [
    "FAMILY_FRIENDLY",
    "PRIVATE_ACTIVITY"
  ],
  "guidanceTypes": [
    {
      "id": null,
      "created": [
        2026,
        4,
        13,
        18,
        35,
        10,
        30829014
      ],
      "guidanceType": "GUIDED",
      "languages": [
        "en",
        "pt"
      ],
      "displayLanguages": [
        "English",
        "Portuguese"
      ]
    }
  ],
  "defaultRateId": 2184879,
  "rates": [
    {
      "id": 2184879,
      "title": "Session in English",
      "description": "",
      "index": 0,
      "rateCode": null,
      "pricedPerPerson": true,
      "minPerBooking": 1,
      "maxPerBooking": 0,
      "cancellationPolicy": {
        "id": 242331,
        "title": "Standard Viator policy",
        "penaltyRules": [
          {
            "id": 251219,
            "cutoffHours": 24,
            "charge": 100,
            "chargeType": "percentage",
            "percentage": 100
          },
          {
            "id": 251218,
            "cutoffHours": 24000,
            "charge": 0,
            "chargeType": "percentage",
            "percentage": 0
          }
        ],
        "tax": null,
        "defaultPolicy": true,
        "policyType": "ADVANCED",
        "simpleCutoffHours": null,
        "policyTypeEnum": "ADVANCED"
      },
      "fixedPassExpiryDate": null,
      "passValidForDays": 0,
      "pickupSelectionType": "UNAVAILABLE",
      "pickupPricingType": "INCLUDED_IN_PRICE",
      "pickupPricedPerPerson": false,
      "dropoffSelectionType": "UNAVAILABLE",
      "dropoffPricingType": "INCLUDED_IN_PRICE",
      "dropoffPricedPerPerson": false,
      "extraConfigs": [],
      "startTimeIds": [
        4359909,
        4359910
      ],
      "allStartTimes": false,
      "tieredPricingEnabled": false,
      "tiers": [],
      "pricingCategoryIds": [
        1060189,
        1059117,
        1059118
      ],
      "allPricingCategories": false,
      "details": [],
      "textItems": []
    },
    {
      "id": 2204483,
      "title": "Session in French",
      "description": "",
      "index": 1,
      "rateCode": null,
      "pricedPerPerson": true,
      "minPerBooking": 1,
      "maxPerBooking": 8,
      "cancellationPolicy": {
        "id": 242331,
        "title": "Standard Viator policy",
        "penaltyRules": [
          {
            "id": 251219,
            "cutoffHours": 24,
            "charge": 100,
            "chargeType": "percentage",
            "percentage": 100
          },
          {
            "id": 251218,
            "cutoffHours": 24000,
            "charge": 0,
            "chargeType": "percentage",
            "percentage": 0
          }
        ],
        "tax": null,
        "defaultPolicy": true,
        "policyType": "ADVANCED",
        "simpleCutoffHours": null,
        "policyTypeEnum": "ADVANCED"
      },
      "fixedPassExpiryDate": null,
      "passValidForDays": 0,
      "pickupSelectionType": "UNAVAILABLE",
      "pickupPricingType": "INCLUDED_IN_PRICE",
      "pickupPricedPerPerson": false,
      "dropoffSelectionType": "UNAVAILABLE",
      "dropoffPricingType": "INCLUDED_IN_PRICE",
      "dropoffPricedPerPerson": false,
      "extraConfigs": [],
      "startTimeIds": [
        4359909,
        4359910
      ],
      "allStartTimes": false,
      "tieredPricingEnabled": false,
      "tiers": [],
      "pricingCategoryIds": [
        1060189,
        1059117,
        1059118
      ],
      "allPricingCategories": false,
      "details": [],
      "textItems": []
    }
  ],
  "ticketPerPerson": false,
  "durationType": "HOURS",
  "duration": 1,
  "durationMinutes": 0,
  "durationHours": 1,
  "durationDays": 0,
  "durationWeeks": 0,
  "durationText": "1 hour",
  "minAge": 0,
  "originalDefaultPrice": null,
  "nextDefaultPrice": 45,
  "nextDefaultPriceMoney": {
    "amount": 45,
    "currency": "EUR"
  },
  "pickupService": false,
  "pickupAllotment": false,
  "pickupAllotmentType": null,
  "useComponentPickupAllotments": false,
  "pickupFlags": [],
  "customPickupAllowed": false,
  "pickupMinutesBefore": 0,
  "pickupTimeWindowInMinutes": 0,
  "pickupTimeLocationBased": false,
  "pickupTimeByLocations": [],
  "noPickupMsg": null,
  "ticketMsg": null,
  "showGlobalPickupMsg": false,
  "showNoPickupMsg": false,
  "pickupPlaceGroups": [],
  "dropoffService": false,
  "dropoffFlags": [],
  "customDropoffAllowed": false,
  "useSameAsPickUpPlaces": false,
  "dropoffPlaceGroups": [],
  "difficultyLevel": "EASY",
  "pricingCategories": [
    {
      "id": 1060189,
      "title": "Adult",
      "ticketCategory": "ADULT",
      "occupancy": 1,
      "groupSize": 0,
      "ageQualified": true,
      "minAge": 15,
      "maxAge": 111,
      "dependent": false,
      "masterCategoryId": 0,
      "maxPerMaster": 0,
      "sumDependentCategories": false,
      "maxDependentSum": 0,
      "internalUseOnly": false,
      "flags": [],
      "defaultCategory": true,
      "fullTitle": "Adult (15 - 111)"
    },
    {
      "id": 1059117,
      "title": "Children",
      "ticketCategory": "CHILD",
      "occupancy": 1,
      "groupSize": 0,
      "ageQualified": false,
      "minAge": 0,
      "maxAge": 0,
      "dependent": false,
      "masterCategoryId": 0,
      "maxPerMaster": 0,
      "sumDependentCategories": false,
      "maxDependentSum": 0,
      "internalUseOnly": false,
      "flags": [],
      "defaultCategory": false,
      "fullTitle": "Children"
    },
    {
      "id": 1059118,
      "title": "Infant",
      "ticketCategory": "INFANT",
      "occupancy": 1,
      "groupSize": 0,
      "ageQualified": true,
      "minAge": 0,
      "maxAge": 2,
      "dependent": false,
      "masterCategoryId": 0,
      "maxPerMaster": 0,
      "sumDependentCategories": false,
      "maxDependentSum": 0,
      "internalUseOnly": false,
      "flags": [],
      "defaultCategory": false,
      "fullTitle": "Infant (0 - 2)"
    }
  ],
  "activityPriceCatalogs": [
    {
      "catalog": {
        "id": 144433,
        "title": "Default",
        "defaultCurrency": "EUR",
        "isVendorDefaultCatalog": true,
        "currencies": [
          "EUR"
        ]
      },
      "catalogId": 144433,
      "currencies": [
        {
          "currency": "EUR",
          "currencyId": 2,
          "default": true
        }
      ]
    }
  ],
  "agendaItems": [],
  "startTimes": [
    {
      "id": 4359909,
      "label": null,
      "externalLabel": "English",
      "hour": 10,
      "minute": 30,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 1,
      "durationMinutes": 30,
      "durationHours": 1,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    },
    {
      "id": 4359910,
      "label": null,
      "externalLabel": "English",
      "hour": 14,
      "minute": 30,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 1,
      "durationMinutes": 30,
      "durationHours": 1,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    }
  ],
  "bookableExtras": [],
  "route": null,
  "widgetSettings": null,
  "hasOpeningHours": true,
  "defaultOpeningHours": {
    "id": 409978,
    "monday": {
      "id": 4204173,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "tuesday": {
      "id": 4204174,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "wednesday": {
      "id": 4204175,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "thursday": {
      "id": 4204176,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "friday": {
      "id": 4204177,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "saturday": {
      "id": 4204178,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    },
    "sunday": {
      "id": 4204179,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            10,
            30
          ],
          "openForHours": 1,
          "openForMinutes": 30,
          "frequency": null
        }
      ]
    }
  },
  "seasonalOpeningHours": [],
  "displaySettings": {
    "showPickupPlaces": false,
    "showRouteMap": false,
    "selectRateBasedOnStartTime": false,
    "customFields": []
  },
  "hasBoxes": false,
  "bookingLabels": [],
  "marketplaceVisibilityType": "PUBLIC",
  "createMethod": null,
  "requestDeadline": 172800000,
  "bookingCutoff": 1440,
  "actualId": 1100216,
  "nextDefaultPriceAsText": "EUR 45.00",
  "actualVendor": {
    "id": 127079,
    "title": "Final Touch Cooking Class´s",
    "currencyCode": "EUR",
    "showInvoiceIdOnTicket": false,
    "showAgentDetailsOnTicket": false,
    "showPaymentsOnInvoice": false,
    "companyEmailIsDefault": false
  }
}
Experience Components payload (`/restapi/v2.0/experience//components`)
{
  "lastModified": 1771193291000,
  "created": 1760273244000,
  "title": "Cooking Class de Pastel de Nata com a Isabel e o Jorge no Terraço ",
  "shortDescription": "Num pequeno apartamento com terraço na cidade do Porto, você em conjunto com a família anfitriã farão do inicio até à degustação do famoso Pastel de Nata.",
  "description": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Depois da chegada À morada da atividade, é feita uma receção de boas vindas com notas introdutórias da atividade que se vai realizar. è apresentada a família residente, os ingredientes e utensílios que são necessários para a realização da tarefa. damos inicio onde o convidado é que vai fazer o Pastel de Nata com adição de todos os ingredientes, pesagens, medidas, temperaturas e modos de manuseamento do produto, tudo em perfeita segurança e harmonia no espaço envolvente. Depois de cozidas no forno, vamos fazer uma degustação com uma bebida à sua escolha, um café ou um chá ou Vinho do Porto para maiores de idade.</p>",
  "keywords": [],
  "type": "DAY_TOUR_OR_ACTIVITY",
  "privateExperience": true,
  "timeZone": "Europe/Lisbon",
  "categories": [
    "CLASSES_AND_WORKSHOPS",
    "CULINARY"
  ],
  "themes": [
    "FAMILY_FRIENDLY",
    "PRIVATE_ACTIVITY"
  ],
  "difficultyLevel": "EASY",
  "minAge": 0,
  "duration": {
    "minutes": 0,
    "hours": 1,
    "days": 0,
    "weeks": 0
  },
  "location": {
    "id": 1151167,
    "countryCode": "PT",
    "city": "Porto",
    "state": "Porto District",
    "name": "Porto, Portugal",
    "placeId": "ChIJwVPhxKtlJA0RvBSxQFbZSKY",
    "latitude": 41.1579438,
    "longitude": -8.629105299999999
  },
  "itinerary": [],
  "photos": [
    {
      "id": 9857938,
      "originalUrl": "http://bokun.s3.amazonaws.com/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
      "url": "https://imgcdn.bokun.tools/59187a88-ab3f-491a-b5c3-320786cb8e2f.jpeg",
      "height": 1440,
      "width": 1080
    },
    {
      "id": 9857939,
      "originalUrl": "http://bokun.s3.amazonaws.com/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg",
      "url": "https://imgcdn.bokun.tools/5321b7cf-63dc-499c-b61f-ae52b3dbf9a1.jpeg",
      "height": 2592,
      "width": 4608
    },
    {
      "id": 9857940,
      "originalUrl": "http://bokun.s3.amazonaws.com/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg",
      "url": "https://imgcdn.bokun.tools/efdb8767-52aa-4651-a0fd-7c1487918dd6.jpeg",
      "height": 4640,
      "width": 2088
    },
    {
      "id": 9857941,
      "originalUrl": "http://bokun.s3.amazonaws.com/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg",
      "url": "https://imgcdn.bokun.tools/ab9bcc7b-aab8-40b0-b960-af190581b9bd.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9857942,
      "originalUrl": "http://bokun.s3.amazonaws.com/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg",
      "url": "https://imgcdn.bokun.tools/c3c17b08-dcd4-4610-8284-cd4f326ced51.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9857943,
      "originalUrl": "http://bokun.s3.amazonaws.com/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg",
      "url": "https://imgcdn.bokun.tools/2608fec4-c63c-4485-a6dd-dc6b6ff0b784.jpeg",
      "height": 4000,
      "width": 3000
    },
    {
      "id": 9857944,
      "originalUrl": "http://bokun.s3.amazonaws.com/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg",
      "url": "https://imgcdn.bokun.tools/6bf3da89-cb09-4432-a516-4ba5fd97ef54.jpeg",
      "height": 2048,
      "width": 1536
    },
    {
      "id": 9857945,
      "originalUrl": "http://bokun.s3.amazonaws.com/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg",
      "url": "https://imgcdn.bokun.tools/6f17d298-0877-4276-8378-88f977d1d6ec.jpeg",
      "height": 2048,
      "width": 1536
    },
    {
      "id": 9857946,
      "originalUrl": "http://bokun.s3.amazonaws.com/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg",
      "url": "https://imgcdn.bokun.tools/646883fc-7f72-4bbe-baf5-a80ec6f461fd.jpeg",
      "height": 1500,
      "width": 2000
    },
    {
      "id": 9857947,
      "originalUrl": "http://bokun.s3.amazonaws.com/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg",
      "url": "https://imgcdn.bokun.tools/3ce65fb9-1648-48e5-b42e-b93a312bb939.jpeg",
      "height": 1536,
      "width": 2048
    }
  ],
  "videos": [],
  "guidanceTypes": {
    "GUIDED": [
      "en",
      "pt"
    ]
  },
  "inclusions": [
    "WIFI",
    "FOOD_AND_DRINKS"
  ],
  "included": "",
  "exclusions": [],
  "knowBeforeYouGo": [],
  "extras": [],
  "bookingType": "DATE_AND_TIME",
  "defaultOpeningHours": {
    "id": 409978,
    "monday": {
      "open24Hours": true
    },
    "tuesday": {
      "open24Hours": true
    },
    "wednesday": {
      "open24Hours": true
    },
    "thursday": {
      "open24Hours": true
    },
    "friday": {
      "open24Hours": true
    },
    "saturday": {
      "open24Hours": true
    },
    "sunday": {
      "open24Hours": true
    }
  },
  "seasonalOpeningHours": [],
  "cutoff": {
    "type": "RELATIVE_TO_START_TIME",
    "minutes": 0,
    "hours": 0,
    "days": 1,
    "weeks": 0
  },
  "capacityType": "LIMITED",
  "startTimes": [
    {
      "id": 4359909,
      "externalId": "",
      "label": "English",
      "externalLabel": "English",
      "hour": 10,
      "minute": 30,
      "durationMinutes": 30,
      "durationHours": 1,
      "durationDays": 0,
      "durationWeeks": 0
    },
    {
      "id": 4359910,
      "externalId": "",
      "label": "English",
      "externalLabel": "English",
      "hour": 14,
      "minute": 30,
      "durationMinutes": 30,
      "durationHours": 1,
      "durationDays": 0,
      "durationWeeks": 0
    }
  ],
  "availabilityRules": [
    {
      "id": 10007248,
      "recurrenceRule": {
        "byWeekday": [
          "MONDAY",
          "TUESDAY",
          "WEDNESDAY",
          "THURSDAY",
          "FRIDAY",
          "SATURDAY",
          "SUNDAY"
        ],
        "byMonth": []
      },
      "maxCapacity": 8,
      "maxCapacityForPickup": 0,
      "minTotalPax": 1,
      "allStartTimes": true,
      "guidedLanguages": []
    }
  ],
  "pricingCategories": {
    "defaultId": 1060189,
    "ids": [
      1060189,
      1059117,
      1059118
    ]
  },
  "rates": {
    "defaultRate": {
      "id": 2184879
    },
    "rates": [
      {
        "id": 2184879,
        "title": "Session in English",
        "description": "",
        "created": 1760273244000,
        "lastModified": 1770559285000,
        "minPerBooking": 1,
        "pickupSelectionType": "UNAVAILABLE",
        "dropoffSelectionType": "UNAVAILABLE",
        "cancellationPolicyId": 242331,
        "pricedPerPerson": true,
        "tieredPricingEnabled": false,
        "allStartTimes": false,
        "startTimes": [
          {
            "id": 4359909,
            "externalId": ""
          },
          {
            "id": 4359910,
            "externalId": ""
          }
        ],
        "allPricingCategories": true
      },
      {
        "id": 2204483,
        "title": "Session in French",
        "description": "",
        "created": 1762171237000,
        "lastModified": 1770557684000,
        "minPerBooking": 1,
        "maxPerBooking": 8,
        "pickupSelectionType": "UNAVAILABLE",
        "dropoffSelectionType": "UNAVAILABLE",
        "cancellationPolicyId": 242331,
        "pricedPerPerson": true,
        "tieredPricingEnabled": false,
        "allStartTimes": true,
        "allPricingCategories": true
      }
    ]
  },
  "pricing": {
    "experiencePriceRules": [
      {
        "id": 438435024,
        "rate": {
          "id": 2184879
        },
        "created": 1770559314000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "45.000000",
        "pricingCategoryId": 1060189
      },
      {
        "id": 358427967,
        "rate": {
          "id": 2204483
        },
        "created": 1762171272000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "25.000000",
        "pricingCategoryId": 1059117
      },
      {
        "id": 358427969,
        "rate": {
          "id": 2204483
        },
        "created": 1762171272000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "0.000000",
        "pricingCategoryId": 1059118
      },
      {
        "id": 438435025,
        "rate": {
          "id": 2204483
        },
        "created": 1770559314000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "45.000000",
        "pricingCategoryId": 1060189
      },
      {
        "id": 341770550,
        "rate": {
          "id": 2184879
        },
        "created": 1760361558000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "25.000000",
        "pricingCategoryId": 1059117
      },
      {
        "id": 341795894,
        "rate": {
          "id": 2184879
        },
        "created": 1760364331000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "0.000000",
        "pricingCategoryId": 1059118
      },
      {
        "id": 341770552,
        "rate": {
          "id": 2184879
        },
        "created": 1760361558000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "0.000000",
        "priceScheduleId": 1104162,
        "pricingCategoryId": 1059118
      }
    ],
    "extraPriceRules": [],
    "pickupPriceRules": [],
    "dropoffPriceRules": [],
    "priceCatalogCurrencies": [
      {
        "priceCatalogId": 144433,
        "currencies": [
          "EUR"
        ],
        "defaultCurrency": "EUR"
      }
    ]
  },
  "mainPaxInfo": [
    {
      "type": "FIRST_NAME",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "type": "LAST_NAME",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "type": "EMAIL",
      "required": true,
      "requiredBeforeDeparture": false
    },
    {
      "type": "LANGUAGE",
      "required": true,
      "requiredBeforeDeparture": false
    }
  ],
  "otherPaxInfo": [],
  "bookingQuestions": [],
  "combo": {
    "isCombo": false
  },
  "ticket": {
    "barcodeFormat": "QR_CODE",
    "ticketPerPerson": false
  },
  "bookingLabels": [],
  "flags": [],
  "customInputFieldValues": [],
  "inventorySettings": {
    "enabled": false
  },
  "allowCustomizedBookings": false,
  "boxSettings": {
    "isBox": false
  },
  "activation": {
    "activated": true,
    "lastActivationDate": 1771193308000
  },
  "meetingType": {
    "type": "MEET_ON_LOCATION",
    "meetingPointAddresses": [
      {
        "id": 661555,
        "title": "PAstel de Nata no Terraço",
        "address": {
          "id": 16999754,
          "addressLine1": "Rua do Amial 723",
          "addressLine2": "",
          "addressLine3": "",
          "city": "Porto",
          "state": "Porto",
          "postalCode": "4200-055",
          "countryCode": "PT",
          "latitude": 41.1792502,
          "longitude": -8.6140577
        }
      }
    ],
    "dropoffService": false
  },
  "id": 1100216,
  "earlyBookingLimit": {
    "limitType": "UNLIMITED"
  }
}

Complete Product Data Map

Every top-level field is shown as its own section with nested sub-sections for planning.

Id

1100216

External Id

null

Product Group Id

0

Product Category

ACTIVITIES

Box

false

Inventory Local

true

Inventory Supports Pricing

false

Inventory Supports Availability

true

Creation Date

Sun Oct 12 12:47:24 UTC 2025

Last Modified

Sun Feb 15 22:08:11 UTC 2026

Last Published

2026-02-15T22:08:28.252Z

Published

false

Title

Cooking Class de Pastel de Nata com a Isabel e o Jorge no Terraço

Description

<p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">Depois da chegada À morada da atividade, é feita uma receção de boas vindas com notas introdutórias da atividade que se vai realizar. è apresentada a família residente, os ingredientes e utensílios que são necessários para a realização da tarefa. damos inicio onde o convidado é que vai fazer o Pastel de Nata com adição de todos os ingredientes, pesagens, medidas, temperaturas e modos de manuseamento do produto, tudo em perfeita segurança e harmonia no espaço envolvente. Depois de cozidas no forno, vamos fazer uma degustação com uma bebida à sua escolha, um café ou um chá ou Vinho do Porto para maiores de idade.</p>

Excerpt

Num pequeno apartamento com terraço na cidade do Porto, você em conjunto com a família anfitriã farão do inicio até à degustação do famoso Pastel de Nata.

Cancellation Policy

Id

242331

Title

Standard Viator policy

Penalty Rules (2 items)

Item 1

Id

251219

Cutoff Hours

24

Charge

100

Charge Type

percentage

Percentage

100

Item 2

Id

251218

Cutoff Hours

24000

Charge

0

Charge Type

percentage

Percentage

0

Tax

null

Default Policy

true

Policy Type

ADVANCED

Simple Cutoff Hours

null

Policy Type Enum

ADVANCED

Override Barcode Format

false

Barcode Type

QR_CODE

Time Zone

Europe/Lisbon

Main Contact Fields (4 items)

Item 1

Field

FIRST_NAME

Required

true

Required Before Departure

false

Item 2

Field

LAST_NAME

Required

true

Required Before Departure

false

Item 3

Field

EMAIL

Required

true

Required Before Departure

false

Item 4

Field

LANGUAGE

Required

true

Required Before Departure

false

Required Customer Fields (4 items)

firstName

lastName

email

language

Keywords (0 items)

[]

Flags (0 items)

[]

Slug

null

Base Language

en_GB

Languages (1 items)

EN_GB

Payment Currencies (0 items)

[]

Custom Fields (0 items)

[]

Tag Groups (0 items)

[]

Categories (0 items)

[]

Videos (0 items)

[]

Vendor

Id

127079

Title

Final Touch Cooking Class´s

Currency Code

EUR

Show Invoice Id On Ticket

false

Show Agent Details On Ticket

false

Show Payments On Invoice

false

Company Email Is Default

false

Boxed Vendor

null

Stored Externally

false

Plugin Id

null

Review Rating

0

Review Count

0

Activity Type

DAY_TOUR_OR_ACTIVITY

Booking Type

DATE_AND_TIME

Schedule Type

RECURRING

Cutoff Type

RELATIVE_TO_START_TIME

Cutoff Reference Hour

0

Cutoff Reference Minute

0

Early Booking Limit Type

UNLIMITED

Early Booking Limit Specific Date Time (5 items)

2025

10

31

0

0

Early Booking Limit Days Before

null

Early Booking Limit Months Before

null

Early Booking Limit Time

null

Capacity Type

LIMITED

Pass Expiry Type

null

Fixed Pass Expiry Date

null

Meeting Type

MEET_ON_LOCATION

Private Activity

true

Pass Capacity

10

Pass Valid For Days

0

Passes Available

0

Affiliate Hub Product

false

Dress Code

false

Passport Required

false

Supported Accessibility Types (0 items)

[]

Start Points (1 items)

Item 1

Id

661555

Type

null

Title

PAstel de Nata no Terraço

Code

null

Address

Id

16999754

Created (6 items)

2025

10

13

13

58

20

Address Line1

Rua do Amial 723

Address Line2

Address Line3

City

Porto

State

Porto

Postal Code

4200-055

Country Code

PT

Map Zoom Level

14

Geo Point

Latitude

41.1792502

Longitude

-8.6140577

Un Locode

Country

City

Origin

GOOGLE_PLACES

Origin Id

ChIJuXE2YzVkJA0RZZUUlf38vjM

Google Place Id

null

Pickup Ticket Description

null

Dropoff Ticket Description

null

Labels (0 items)

[]

Booking Questions (0 items)

[]

Passenger Fields (0 items)

[]

Inclusions (2 items)

FOOD_AND_DRINKS

WIFI

Included

Exclusions (0 items)

[]

Excluded

null

Requirements

null

Know Before You Go Items (0 items)

[]

Attention

null

Location Code

Country

PT

Location

Porto

Name

Porto

Google Place

Country

Portugal

Country Code

PT

City

Porto

City Code

Porto

Name

Porto, Portugal

Geo Location Center

Lat

41.1579438

Lng

-8.629105299999999

Address Types (0 items)

[]

Tripadvisor Review

Url

https://www.tripadvisor.com.br/Attraction_Review-g189180-d32827882-Reviews-Final_Touch-Porto_Porto_District_Northern_Portugal.html

Name

Final Touch

Rating

5

Ranking

#42 of 130 Classes & Workshops in Porto

Num Reviews

2

Resource Slots

null

Booking Cutoff Minutes

0

Booking Cutoff Hours

0

Booking Cutoff Days

1

Booking Cutoff Weeks

0

Request Deadline Minutes

0

Request Deadline Hours

0

Request Deadline Days

2

Request Deadline Weeks

0

Boxed Activity Id

0

Combo Activity

false

Combo Parts

null

Return Product

null

Offers

null

Ticket Per Combo Component

false

Ticket Combo Components

null

Pickup Activity Id

null

Allow Customized Bookings

false

Reservation Timeout

null

Vendor Reservation Timeout

null

Day Based Availability

false

Select From Day Options

false

Day Options (0 items)

[]

Activity Categories (2 items)

CLASSES_AND_WORKSHOPS

CULINARY

Activity Attributes (2 items)

FAMILY_FRIENDLY

PRIVATE_ACTIVITY

Guidance Types (1 items)

Item 1

Id

null

Created (7 items)

2026

4

13

18

35

10

30829014

Guidance Type

GUIDED

Languages (2 items)

en

pt

Display Languages (2 items)

English

Portuguese

Default Rate Id

2184879

Rates (2 items)

Item 1

Id

2184879

Title

Session in English

Description

Index

0

Rate Code

null

Priced Per Person

true

Min Per Booking

1

Max Per Booking

0

Cancellation Policy

Id

242331

Title

Standard Viator policy

Penalty Rules (2 items)

Item 1

Id

251219

Cutoff Hours

24

Charge

100

Charge Type

percentage

Percentage

100

Item 2

Id

251218

Cutoff Hours

24000

Charge

0

Charge Type

percentage

Percentage

0

Tax

null

Default Policy

true

Policy Type

ADVANCED

Simple Cutoff Hours

null

Policy Type Enum

ADVANCED

Fixed Pass Expiry Date

null

Pass Valid For Days

0

Pickup Selection Type

UNAVAILABLE

Pickup Pricing Type

INCLUDED_IN_PRICE

Pickup Priced Per Person

false

Dropoff Selection Type

UNAVAILABLE

Dropoff Pricing Type

INCLUDED_IN_PRICE

Dropoff Priced Per Person

false

Extra Configs (0 items)

[]

Start Time Ids (2 items)

4359909

4359910

All Start Times

false

Tiered Pricing Enabled

false

Tiers (0 items)

[]

Pricing Category Ids (3 items)

1060189

1059117

1059118

All Pricing Categories

false

Details (0 items)

[]

Text Items (0 items)

[]

Item 2

Id

2204483

Title

Session in French

Description

Index

1

Rate Code

null

Priced Per Person

true

Min Per Booking

1

Max Per Booking

8

Cancellation Policy

Id

242331

Title

Standard Viator policy

Penalty Rules (2 items)

Item 1

Id

251219

Cutoff Hours

24

Charge

100

Charge Type

percentage

Percentage

100

Item 2

Id

251218

Cutoff Hours

24000

Charge

0

Charge Type

percentage

Percentage

0

Tax

null

Default Policy

true

Policy Type

ADVANCED

Simple Cutoff Hours

null

Policy Type Enum

ADVANCED

Fixed Pass Expiry Date

null

Pass Valid For Days

0

Pickup Selection Type

UNAVAILABLE

Pickup Pricing Type

INCLUDED_IN_PRICE

Pickup Priced Per Person

false

Dropoff Selection Type

UNAVAILABLE

Dropoff Pricing Type

INCLUDED_IN_PRICE

Dropoff Priced Per Person

false

Extra Configs (0 items)

[]

Start Time Ids (2 items)

4359909

4359910

All Start Times

false

Tiered Pricing Enabled

false

Tiers (0 items)

[]

Pricing Category Ids (3 items)

1060189

1059117

1059118

All Pricing Categories

false

Details (0 items)

[]

Text Items (0 items)

[]

Ticket Per Person

false

Duration Type

HOURS

Duration

1

Duration Minutes

0

Duration Hours

1

Duration Days

0

Duration Weeks

0

Duration Text

1 hour

Min Age

0

Original Default Price

null

Next Default Price

45

Next Default Price Money

Amount

45

Currency

EUR

Pickup Service

false

Pickup Allotment

false

Pickup Allotment Type

null

Use Component Pickup Allotments

false

Pickup Flags (0 items)

[]

Custom Pickup Allowed

false

Pickup Minutes Before

0

Pickup Time Window In Minutes

0

Pickup Time Location Based

false

Pickup Time By Locations (0 items)

[]

No Pickup Msg

null

Ticket Msg

null

Show Global Pickup Msg

false

Show No Pickup Msg

false

Pickup Place Groups (0 items)

[]

Dropoff Service

false

Dropoff Flags (0 items)

[]

Custom Dropoff Allowed

false

Use Same As Pick Up Places

false

Dropoff Place Groups (0 items)

[]

Difficulty Level

EASY

Pricing Categories (3 items)

Item 1

Id

1060189

Title

Adult

Ticket Category

ADULT

Occupancy

1

Group Size

0

Age Qualified

true

Min Age

15

Max Age

111

Dependent

false

Master Category Id

0

Max Per Master

0

Sum Dependent Categories

false

Max Dependent Sum

0

Internal Use Only

false

Flags (0 items)

[]

Default Category

true

Full Title

Adult (15 - 111)

Item 2

Id

1059117

Title

Children

Ticket Category

CHILD

Occupancy

1

Group Size

0

Age Qualified

false

Min Age

0

Max Age

0

Dependent

false

Master Category Id

0

Max Per Master

0

Sum Dependent Categories

false

Max Dependent Sum

0

Internal Use Only

false

Flags (0 items)

[]

Default Category

false

Full Title

Children

Item 3

Id

1059118

Title

Infant

Ticket Category

INFANT

Occupancy

1

Group Size

0

Age Qualified

true

Min Age

0

Max Age

2

Dependent

false

Master Category Id

0

Max Per Master

0

Sum Dependent Categories

false

Max Dependent Sum

0

Internal Use Only

false

Flags (0 items)

[]

Default Category

false

Full Title

Infant (0 - 2)

Activity Price Catalogs (1 items)

Item 1

Catalog

Id

144433

Title

Default

Default Currency

EUR

Is Vendor Default Catalog

true

Currencies (1 items)

EUR

Catalog Id

144433

Currencies (1 items)

Item 1

Currency

EUR

Currency Id

2

Default

true

Agenda Items (0 items)

[]

Start Times (2 items)

Item 1

Id

4359909

Label

null

External Label

English

Hour

10

Minute

30

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

1

Duration Minutes

30

Duration Hours

1

Duration Days

0

Duration Weeks

0

Flags (0 items)

[]

Item 2

Id

4359910

Label

null

External Label

English

Hour

14

Minute

30

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

1

Duration Minutes

30

Duration Hours

1

Duration Days

0

Duration Weeks

0

Flags (0 items)

[]

Bookable Extras (0 items)

[]

Route

null

Widget Settings

null

Has Opening Hours

true

Default Opening Hours

Id

409978

Monday

Id

4204173

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Tuesday

Id

4204174

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Wednesday

Id

4204175

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Thursday

Id

4204176

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Friday

Id

4204177

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Saturday

Id

4204178

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Sunday

Id

4204179

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

10

30

Open For Hours

1

Open For Minutes

30

Frequency

null

Seasonal Opening Hours (0 items)

[]

Display Settings

Show Pickup Places

false

Show Route Map

false

Select Rate Based On Start Time

false

Custom Fields (0 items)

[]

Has Boxes

false

Booking Labels (0 items)

[]

Marketplace Visibility Type

PUBLIC

Create Method

null

Request Deadline

172800000

Booking Cutoff

1440

Actual Id

1100216

Next Default Price As Text

EUR 45.00

Actual Vendor

Id

127079

Title

Final Touch Cooking Class´s

Currency Code

EUR

Show Invoice Id On Ticket

false

Show Agent Details On Ticket

false

Show Payments On Invoice

false

Company Email Is Default

false

Cooking Class de Pastel de Nata com a Isabel e o Jorge no Terraço | Rebrid