I'm going to make my Francesinha in Porto

From Our Kitchen: The Ultimate Francesinha Experience

Porto, Portugal

Select Experience Option

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

Duration
4 hours
Accessibility
As this is an outdoor activity, you should bring warm, comfortable clothing if the weather requires it.
Languages
Portuguese, English

From Our Kitchen: The Ultimate Francesinha Experience

Join our family for a cozy evening of hands-on cooking, local wine, and real Portuguese warmth. Step into our home in Porto and enjoy a truly authentic Portuguese experience.

Our family—parents and two sons—will welcome you to our terrace kitchen, where you’ll actively participate in preparing your own francesinha , Porto’s iconic sandwich, using our cherished family recipe. Learn step-by-step as you assemble the layers of bread, meats, and melted cheese, and finish it with our rich, homemade sauce. Sip local wines, share laughter and stories, and enjoy the thrill of creating this legendary dish in a relaxed, intimate setting.

This is more than a dinner—it’s a chance to cook, connect, and experience the heart of Porto’s culinary tradition with a welcoming family. A warm, unforgettable evening for travelers seeking authentic flavors, hands-on fun, and genuine hospitality .

Traveller Requirements

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

Health & Accessibility

  • Supported accessibility: Not available
  • As this is an outdoor activity, you should bring warm, comfortable clothing if the weather requires it.

Guide & Languages

Guidance

Guided

Languages

Portuguese, English

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

Itinerary

Map data unavailable for these stops.

Open map
Included
  • Food And Drinks
Excluded

Not specified.

Before You Book

Meeting & Pickup

  • Meeting type: Meet On Location
  • Pickup service: No
  • Start point: From Our Kitchen: The Ultimate Francesinha Experience, Rua do Amial 723, Porto, Porto, 4200-055, PT
  • Time zone: Europe/Lisbon

Languages & Experience

  • Languages: Portuguese, English
  • 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: No
  • Capacity type: Limited

Supplier & Contact

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

Pricing Categories

  • Adultsin (ADULT)
  • Children (CHILD)

Know Before You Go

  • Public Transportation Nearby

Developer Data

Booking API status: 200 | Experience API status: 200

Booking requestId: bokun_1776105270840_hefdwl | Experience requestId: bokun_1776105271022_kckua1

Booking API payload (`/activity.json/`)
{
  "id": 1094923,
  "externalId": null,
  "productGroupId": 0,
  "productCategory": "ACTIVITIES",
  "box": false,
  "inventoryLocal": true,
  "inventorySupportsPricing": false,
  "inventorySupportsAvailability": true,
  "creationDate": "Wed Oct 01 10:53:19 UTC 2025",
  "lastModified": "Mon Mar 02 21:01:59 UTC 2026",
  "lastPublished": "2026-03-02T21:02:00.595Z",
  "published": false,
  "title": "I'm going to make my Francesinha in Porto",
  "description": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\"><em>Join our family for a cozy evening of hands-on cooking, local wine, and real Portuguese warmth.</em></p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Step into our home in Porto and enjoy a truly authentic Portuguese experience. Our family—parents and two sons—will welcome you to our terrace kitchen, where <strong>you’ll actively participate in preparing your own francesinha</strong>, Porto’s iconic sandwich, using our cherished family recipe.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Learn step-by-step as you assemble the layers of bread, meats, and melted cheese, and finish it with our rich, homemade sauce. Sip local wines, share laughter and stories, and enjoy the thrill of creating this legendary dish in a relaxed, intimate setting.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">This is more than a dinner—it’s a chance to <strong>cook, connect, and experience the heart of Porto’s culinary tradition</strong> with a welcoming family.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">A warm, unforgettable evening for travelers seeking <strong>authentic flavors, hands-on fun, and genuine hospitality</strong>.</p>",
  "excerpt": "From Our Kitchen: The Ultimate Francesinha Experience",
  "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": "NATIONALITY",
      "required": true,
      "requiredBeforeDeparture": false
    }
  ],
  "requiredCustomerFields": [
    "firstName",
    "lastName",
    "email",
    "nationality"
  ],
  "keywords": [],
  "flags": [],
  "slug": null,
  "baseLanguage": "en_GB",
  "languages": [
    "EN_GB"
  ],
  "paymentCurrencies": [],
  "customFields": [],
  "tagGroups": [],
  "categories": [],
  "keyPhoto": {
    "id": 9895272,
    "originalUrl": "https://bokun.s3.amazonaws.com/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
    "description": null,
    "alternateText": null,
    "height": "1058",
    "width": "1432",
    "fileName": "/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
    "flags": [],
    "derived": [
      {
        "name": "thumbnail",
        "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=80&h=80&mode=crop",
        "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=80&h=80&mode=crop"
      },
      {
        "name": "preview",
        "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=300&h=300",
        "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=300&h=300"
      },
      {
        "name": "large",
        "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=660&h=660",
        "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=660&h=660"
      }
    ]
  },
  "photos": [
    {
      "id": 9895269,
      "originalUrl": "https://bokun.s3.amazonaws.com/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg",
      "description": null,
      "alternateText": null,
      "height": "2048",
      "width": "1152",
      "fileName": "/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895270,
      "originalUrl": "https://bokun.s3.amazonaws.com/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895272,
      "originalUrl": "https://bokun.s3.amazonaws.com/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
      "description": null,
      "alternateText": null,
      "height": "1058",
      "width": "1432",
      "fileName": "/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895273,
      "originalUrl": "https://bokun.s3.amazonaws.com/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg",
      "description": null,
      "alternateText": null,
      "height": "4000",
      "width": "3000",
      "fileName": "/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895274,
      "originalUrl": "https://bokun.s3.amazonaws.com/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895275,
      "originalUrl": "https://bokun.s3.amazonaws.com/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895276,
      "originalUrl": "https://bokun.s3.amazonaws.com/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3532",
      "width": "1941",
      "fileName": "/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895277,
      "originalUrl": "https://bokun.s3.amazonaws.com/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3264",
      "width": "2448",
      "fileName": "/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895278,
      "originalUrl": "https://bokun.s3.amazonaws.com/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895279,
      "originalUrl": "https://bokun.s3.amazonaws.com/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3572",
      "width": "2781",
      "fileName": "/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895280,
      "originalUrl": "https://bokun.s3.amazonaws.com/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895281,
      "originalUrl": "https://bokun.s3.amazonaws.com/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg",
      "description": null,
      "alternateText": null,
      "height": "9000",
      "width": "12000",
      "fileName": "/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895282,
      "originalUrl": "https://bokun.s3.amazonaws.com/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg",
      "description": null,
      "alternateText": null,
      "height": "4000",
      "width": "3000",
      "fileName": "/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895283,
      "originalUrl": "https://bokun.s3.amazonaws.com/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895284,
      "originalUrl": "https://bokun.s3.amazonaws.com/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg",
      "description": null,
      "alternateText": null,
      "height": "3000",
      "width": "4000",
      "fileName": "/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895285,
      "originalUrl": "https://bokun.s3.amazonaws.com/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg",
      "description": null,
      "alternateText": null,
      "height": "2048",
      "width": "1536",
      "fileName": "/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg?w=660&h=660"
        }
      ]
    },
    {
      "id": 9895286,
      "originalUrl": "https://bokun.s3.amazonaws.com/18e8d552-3658-4c40-af66-b98d501d171c.jpeg",
      "description": null,
      "alternateText": null,
      "height": "1500",
      "width": "2000",
      "fileName": "/18e8d552-3658-4c40-af66-b98d501d171c.jpeg",
      "flags": [],
      "derived": [
        {
          "name": "thumbnail",
          "url": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg?w=80&h=80&mode=crop",
          "cleanUrl": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg?w=80&h=80&mode=crop"
        },
        {
          "name": "preview",
          "url": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg?w=300&h=300",
          "cleanUrl": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg?w=300&h=300"
        },
        {
          "name": "large",
          "url": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg?w=660&h=660",
          "cleanUrl": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.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": null,
  "earlyBookingLimitDaysBefore": null,
  "earlyBookingLimitMonthsBefore": null,
  "earlyBookingLimitTime": null,
  "capacityType": "LIMITED",
  "passExpiryType": null,
  "fixedPassExpiryDate": null,
  "meetingType": "MEET_ON_LOCATION",
  "privateActivity": false,
  "passCapacity": 10,
  "passValidForDays": 0,
  "passesAvailable": 0,
  "affiliateHubProduct": false,
  "dressCode": false,
  "passportRequired": false,
  "supportedAccessibilityTypes": [],
  "startPoints": [
    {
      "id": 663536,
      "type": null,
      "title": "From Our Kitchen: The Ultimate Francesinha Experience",
      "code": null,
      "address": {
        "id": 17077449,
        "created": [
          2025,
          10,
          20,
          10,
          56,
          4
        ],
        "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"
  ],
  "included": "",
  "exclusions": [],
  "excluded": null,
  "requirements": null,
  "knowBeforeYouGoItems": [
    "PUBLIC_TRANSPORTATION_NEARBY"
  ],
  "attention": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">As this is an outdoor activity, you should bring warm, comfortable clothing if the weather requires it.</p>",
  "locationCode": {
    "country": "PT",
    "location": "Porto",
    "name": "Porto"
  },
  "googlePlace": {
    "country": "Portugal",
    "countryCode": "PT",
    "city": "Porto",
    "cityCode": "Porto",
    "name": "Oporto, 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",
    "GROUP_FRIENDLY",
    "PRIVATE_ACTIVITY"
  ],
  "guidanceTypes": [
    {
      "id": null,
      "created": [
        2026,
        4,
        13,
        18,
        34,
        30,
        957114711
      ],
      "guidanceType": "GUIDED",
      "languages": [
        "pt",
        "en"
      ],
      "displayLanguages": [
        "Portuguese",
        "English"
      ]
    }
  ],
  "defaultRateId": 2174854,
  "rates": [
    {
      "id": 2174854,
      "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": [
        4379705,
        4379706
      ],
      "allStartTimes": false,
      "tieredPricingEnabled": false,
      "tiers": [],
      "pricingCategoryIds": [
        1059115,
        1059117
      ],
      "allPricingCategories": false,
      "details": [],
      "textItems": []
    },
    {
      "id": 2204565,
      "title": "Session in French",
      "description": "",
      "index": 1,
      "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": [
        4406385,
        4406386
      ],
      "allStartTimes": false,
      "tieredPricingEnabled": false,
      "tiers": [],
      "pricingCategoryIds": [
        1059115,
        1059117
      ],
      "allPricingCategories": false,
      "details": [],
      "textItems": []
    }
  ],
  "ticketPerPerson": false,
  "durationType": "HOURS",
  "duration": 4,
  "durationMinutes": 0,
  "durationHours": 4,
  "durationDays": 0,
  "durationWeeks": 0,
  "durationText": "4 hours",
  "minAge": 0,
  "originalDefaultPrice": null,
  "nextDefaultPrice": 100,
  "nextDefaultPriceMoney": {
    "amount": 100,
    "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": 1059115,
      "title": "Adultsin",
      "ticketCategory": "ADULT",
      "occupancy": 1,
      "groupSize": 0,
      "ageQualified": false,
      "minAge": 0,
      "maxAge": 0,
      "dependent": false,
      "masterCategoryId": 0,
      "maxPerMaster": 0,
      "sumDependentCategories": false,
      "maxDependentSum": 0,
      "internalUseOnly": false,
      "flags": [],
      "defaultCategory": true,
      "fullTitle": "Adultsin"
    },
    {
      "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"
    }
  ],
  "activityPriceCatalogs": [
    {
      "catalog": {
        "id": 144433,
        "title": "Default",
        "defaultCurrency": "EUR",
        "isVendorDefaultCatalog": true,
        "currencies": [
          "EUR"
        ]
      },
      "catalogId": 144433,
      "currencies": [
        {
          "currency": "EUR",
          "currencyId": 2,
          "default": true
        }
      ]
    }
  ],
  "agendaItems": [
    {
      "id": 3269429,
      "index": 0,
      "title": "Welcome",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Let's welcome our friends, introduce the family, the house and the menu.&nbsp;</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299069,
      "index": 0,
      "title": "Presentation",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">welcome and introduction to the family, the house and the activity.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299104,
      "index": 0,
      "title": "Presentation of the activity and the menu to be prepared",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">We'll set out the menu from starters to dessert and main course, including ingredients and utensils.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299116,
      "index": 0,
      "title": "Lets Go",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Chop the onion, parsley and garlic, prepare the spices and drinks that will be part of the dressing and sauce. Let's prepare the meats for this wonderful sandwich</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299120,
      "index": 0,
      "title": "Pause to toast",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Now that everything is in place, let's pour a glass of your favorite drink and serve an aperitif to comfort your belly.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299152,
      "index": 0,
      "title": "Peel and cut the potatoes",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Vamos descascar as batatas para depois as cortar e podermos fritar, são um acompanhamento fabuloso para esta sanduíche.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299160,
      "index": 0,
      "title": "Fried Eggs and Hot Sauce",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Tempo de preparar tudo para finalizar . Está quase tudo pronto.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299163,
      "index": 0,
      "title": "Sit and eat",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Finally at the table, seated and with glasses full of our favorite drink, we're going to taste the fruits of our labor. We have time, we just can't make too much noise because the neighbors are working tomorrow, but we're not.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    },
    {
      "id": 3299164,
      "index": 0,
      "title": "Toast",
      "excerpt": "",
      "body": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">A toast, a speech, two toasts and see you next time.</p>",
      "day": 1,
      "flags": [],
      "location": {
        "address": null,
        "city": null,
        "countryCode": null,
        "postCode": null,
        "latitude": null,
        "longitude": null,
        "zoomLevel": 6,
        "origin": null,
        "originId": null,
        "wholeAddress": ""
      },
      "address": null,
      "keyPhoto": null,
      "photos": []
    }
  ],
  "startTimes": [
    {
      "id": 4379705,
      "label": null,
      "externalLabel": "English",
      "hour": 11,
      "minute": 0,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 4,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    },
    {
      "id": 4406385,
      "label": null,
      "externalLabel": "French",
      "hour": 11,
      "minute": 0,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 4,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    },
    {
      "id": 4379706,
      "label": null,
      "externalLabel": "English",
      "hour": 18,
      "minute": 0,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 4,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    },
    {
      "id": 4406386,
      "label": null,
      "externalLabel": "French",
      "hour": 18,
      "minute": 0,
      "overrideTimeWhenPickup": false,
      "pickupHour": 0,
      "pickupMinute": 0,
      "durationType": "H",
      "voucherPickupMsg": null,
      "externalId": null,
      "duration": 4,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0,
      "flags": []
    }
  ],
  "bookableExtras": [],
  "route": null,
  "widgetSettings": null,
  "hasOpeningHours": true,
  "defaultOpeningHours": {
    "id": 411488,
    "monday": {
      "id": 4223388,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "tuesday": {
      "id": 4223389,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "wednesday": {
      "id": 4223390,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "thursday": {
      "id": 4223391,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "friday": {
      "id": 4223392,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "saturday": {
      "id": 4223393,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    },
    "sunday": {
      "id": 4223394,
      "open24Hours": true,
      "open": false,
      "timeIntervals": [
        {
          "openFrom": [
            8,
            0
          ],
          "openForHours": 8,
          "openForMinutes": 0,
          "frequency": null
        }
      ]
    }
  },
  "seasonalOpeningHours": [],
  "displaySettings": {
    "showPickupPlaces": false,
    "showRouteMap": false,
    "selectRateBasedOnStartTime": false,
    "customFields": []
  },
  "hasBoxes": false,
  "bookingLabels": [],
  "marketplaceVisibilityType": "PUBLIC",
  "createMethod": null,
  "requestDeadline": 172800000,
  "bookingCutoff": 1440,
  "actualId": 1094923,
  "nextDefaultPriceAsText": "EUR 100.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": 1772485319000,
  "created": 1759315999000,
  "title": "I'm going to make my Francesinha in Porto",
  "shortDescription": "From Our Kitchen: The Ultimate Francesinha Experience",
  "description": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\"><em>Join our family for a cozy evening of hands-on cooking, local wine, and real Portuguese warmth.</em></p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Step into our home in Porto and enjoy a truly authentic Portuguese experience. Our family—parents and two sons—will welcome you to our terrace kitchen, where <strong>you’ll actively participate in preparing your own francesinha</strong>, Porto’s iconic sandwich, using our cherished family recipe.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">Learn step-by-step as you assemble the layers of bread, meats, and melted cheese, and finish it with our rich, homemade sauce. Sip local wines, share laughter and stories, and enjoy the thrill of creating this legendary dish in a relaxed, intimate setting.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">This is more than a dinner—it’s a chance to <strong>cook, connect, and experience the heart of Porto’s culinary tradition</strong> with a welcoming family.</p><p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">A warm, unforgettable evening for travelers seeking <strong>authentic flavors, hands-on fun, and genuine hospitality</strong>.</p>",
  "keywords": [],
  "type": "DAY_TOUR_OR_ACTIVITY",
  "privateExperience": false,
  "timeZone": "Europe/Lisbon",
  "categories": [
    "CLASSES_AND_WORKSHOPS",
    "CULINARY"
  ],
  "themes": [
    "FAMILY_FRIENDLY",
    "GROUP_FRIENDLY",
    "PRIVATE_ACTIVITY"
  ],
  "difficultyLevel": "EASY",
  "minAge": 0,
  "duration": {
    "minutes": 0,
    "hours": 4,
    "days": 0,
    "weeks": 0
  },
  "location": {
    "id": 1144440,
    "countryCode": "PT",
    "city": "Porto",
    "state": "Porto District",
    "name": "Oporto, Portugal",
    "placeId": "ChIJwVPhxKtlJA0RvBSxQFbZSKY",
    "latitude": 41.1579438,
    "longitude": -8.629105299999999
  },
  "itinerary": [
    {
      "id": 3269429,
      "title": "Welcome",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Let's welcome our friends, introduce the family, the house and the menu.&nbsp;</p>",
      "photos": []
    },
    {
      "id": 3299069,
      "title": "Presentation",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">welcome and introduction to the family, the house and the activity.</p>",
      "photos": []
    },
    {
      "id": 3299104,
      "title": "Presentation of the activity and the menu to be prepared",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">We'll set out the menu from starters to dessert and main course, including ingredients and utensils.</p>",
      "photos": []
    },
    {
      "id": 3299116,
      "title": "Lets Go",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Chop the onion, parsley and garlic, prepare the spices and drinks that will be part of the dressing and sauce. Let's prepare the meats for this wonderful sandwich</p>",
      "photos": []
    },
    {
      "id": 3299120,
      "title": "Pause to toast",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Now that everything is in place, let's pour a glass of your favorite drink and serve an aperitif to comfort your belly.</p>",
      "photos": []
    },
    {
      "id": 3299152,
      "title": "Peel and cut the potatoes",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Vamos descascar as batatas para depois as cortar e podermos fritar, são um acompanhamento fabuloso para esta sanduíche.</p>",
      "photos": []
    },
    {
      "id": 3299160,
      "title": "Fried Eggs and Hot Sauce",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Tempo de preparar tudo para finalizar . Está quase tudo pronto.</p>",
      "photos": []
    },
    {
      "id": 3299163,
      "title": "Sit and eat",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">Finally at the table, seated and with glasses full of our favorite drink, we're going to taste the fruits of our labor. We have time, we just can't make too much noise because the neighbors are working tomorrow, but we're not.</p>",
      "photos": []
    },
    {
      "id": 3299164,
      "title": "Toast",
      "excerpt": "",
      "description": "<p style=\"font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em\">A toast, a speech, two toasts and see you next time.</p>",
      "photos": []
    }
  ],
  "photos": [
    {
      "id": 9895269,
      "originalUrl": "http://bokun.s3.amazonaws.com/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg",
      "url": "https://imgcdn.bokun.tools/332eec9e-9086-4b79-a3b5-0854c1a5795e.jpeg",
      "height": 2048,
      "width": 1152
    },
    {
      "id": 9895270,
      "originalUrl": "http://bokun.s3.amazonaws.com/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg",
      "url": "https://imgcdn.bokun.tools/ed2540cc-0bbf-4120-a114-af90963cf081.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895272,
      "originalUrl": "http://bokun.s3.amazonaws.com/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
      "url": "https://imgcdn.bokun.tools/0428c8f8-efb0-4eae-840a-e059c876bb23.jpeg",
      "height": 1058,
      "width": 1432
    },
    {
      "id": 9895273,
      "originalUrl": "http://bokun.s3.amazonaws.com/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg",
      "url": "https://imgcdn.bokun.tools/ccd65909-6041-4f2a-b6a0-48caaccf669b.jpeg",
      "height": 4000,
      "width": 3000
    },
    {
      "id": 9895274,
      "originalUrl": "http://bokun.s3.amazonaws.com/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg",
      "url": "https://imgcdn.bokun.tools/7422fb5d-9c35-4f52-9b9f-008162e6417e.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895275,
      "originalUrl": "http://bokun.s3.amazonaws.com/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg",
      "url": "https://imgcdn.bokun.tools/23b4402f-59a2-4e7f-bdef-0bad6bc2bc87.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895276,
      "originalUrl": "http://bokun.s3.amazonaws.com/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg",
      "url": "https://imgcdn.bokun.tools/0987e760-3014-4dd2-8142-6c1c8c9a4ec3.jpeg",
      "height": 3532,
      "width": 1941
    },
    {
      "id": 9895277,
      "originalUrl": "http://bokun.s3.amazonaws.com/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg",
      "url": "https://imgcdn.bokun.tools/7fe3b379-4b5a-4cb5-be84-b77a91484a03.jpeg",
      "height": 3264,
      "width": 2448
    },
    {
      "id": 9895278,
      "originalUrl": "http://bokun.s3.amazonaws.com/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg",
      "url": "https://imgcdn.bokun.tools/6cc8c38d-1c73-4883-b2de-6041ee9b844c.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895279,
      "originalUrl": "http://bokun.s3.amazonaws.com/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg",
      "url": "https://imgcdn.bokun.tools/80528264-fb17-43d4-8cd9-4eda6f197bb0.jpeg",
      "height": 3572,
      "width": 2781
    },
    {
      "id": 9895280,
      "originalUrl": "http://bokun.s3.amazonaws.com/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg",
      "url": "https://imgcdn.bokun.tools/1505d7ac-fdc5-4e84-abfe-21f18a3296d4.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895281,
      "originalUrl": "http://bokun.s3.amazonaws.com/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg",
      "url": "https://imgcdn.bokun.tools/b46d7a93-4355-4af0-bc7c-8d5dbe49bab1.jpeg",
      "height": 9000,
      "width": 12000
    },
    {
      "id": 9895282,
      "originalUrl": "http://bokun.s3.amazonaws.com/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg",
      "url": "https://imgcdn.bokun.tools/eb097e99-fb9d-401f-aebd-a05abe6890d3.jpeg",
      "height": 4000,
      "width": 3000
    },
    {
      "id": 9895283,
      "originalUrl": "http://bokun.s3.amazonaws.com/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg",
      "url": "https://imgcdn.bokun.tools/11e2e574-88c1-4064-abe0-bb5a3c5d1695.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895284,
      "originalUrl": "http://bokun.s3.amazonaws.com/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg",
      "url": "https://imgcdn.bokun.tools/1bfd8670-5142-416f-a0bc-c6da51587ed9.jpeg",
      "height": 3000,
      "width": 4000
    },
    {
      "id": 9895285,
      "originalUrl": "http://bokun.s3.amazonaws.com/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg",
      "url": "https://imgcdn.bokun.tools/cf02d8e9-8baf-4192-9099-e20f6e0b13f7.jpeg",
      "height": 2048,
      "width": 1536
    },
    {
      "id": 9895286,
      "originalUrl": "http://bokun.s3.amazonaws.com/18e8d552-3658-4c40-af66-b98d501d171c.jpeg",
      "url": "https://imgcdn.bokun.tools/18e8d552-3658-4c40-af66-b98d501d171c.jpeg",
      "height": 1500,
      "width": 2000
    }
  ],
  "videos": [],
  "guidanceTypes": {
    "GUIDED": [
      "pt",
      "en"
    ]
  },
  "inclusions": [
    "FOOD_AND_DRINKS"
  ],
  "included": "",
  "exclusions": [],
  "knowBeforeYouGo": [
    "PUBLIC_TRANSPORTATION_NEARBY"
  ],
  "attention": "<p style=\"font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em\">As this is an outdoor activity, you should bring warm, comfortable clothing if the weather requires it.</p>",
  "extras": [],
  "bookingType": "DATE_AND_TIME",
  "defaultOpeningHours": {
    "id": 411488,
    "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": 4379705,
      "externalId": "",
      "label": "English",
      "externalLabel": "English",
      "hour": 11,
      "minute": 0,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0
    },
    {
      "id": 4406385,
      "externalId": "",
      "label": "French",
      "externalLabel": "French",
      "hour": 11,
      "minute": 0,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0
    },
    {
      "id": 4379706,
      "externalId": "",
      "label": "English",
      "externalLabel": "English",
      "hour": 18,
      "minute": 0,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0
    },
    {
      "id": 4406386,
      "externalId": "",
      "label": "French",
      "externalLabel": "French",
      "hour": 18,
      "minute": 0,
      "durationMinutes": 0,
      "durationHours": 4,
      "durationDays": 0,
      "durationWeeks": 0
    }
  ],
  "availabilityRules": [
    {
      "id": 10071211,
      "recurrenceRule": {
        "byWeekday": [
          "SUNDAY",
          "MONDAY",
          "TUESDAY",
          "WEDNESDAY",
          "THURSDAY",
          "FRIDAY",
          "SATURDAY"
        ],
        "byMonth": []
      },
      "maxCapacity": 7,
      "maxCapacityForPickup": 0,
      "minTotalPax": 1,
      "allStartTimes": false,
      "startTimes": [
        {
          "id": 4406386,
          "externalId": ""
        },
        {
          "id": 4406385,
          "externalId": ""
        },
        {
          "id": 4379706,
          "externalId": ""
        },
        {
          "id": 4379705,
          "externalId": ""
        }
      ],
      "guidedLanguages": [
        "pt",
        "en"
      ]
    }
  ],
  "pricingCategories": {
    "defaultId": 1059115,
    "ids": [
      1059115,
      1059117
    ]
  },
  "rates": {
    "defaultRate": {
      "id": 2174854
    },
    "rates": [
      {
        "id": 2174854,
        "title": "Session in English",
        "description": "",
        "created": 1759315999000,
        "lastModified": 1762174269000,
        "minPerBooking": 1,
        "pickupSelectionType": "UNAVAILABLE",
        "dropoffSelectionType": "UNAVAILABLE",
        "cancellationPolicyId": 242331,
        "pricedPerPerson": true,
        "tieredPricingEnabled": false,
        "allStartTimes": false,
        "startTimes": [
          {
            "id": 4379705,
            "externalId": ""
          },
          {
            "id": 4379706,
            "externalId": ""
          }
        ],
        "allPricingCategories": true
      },
      {
        "id": 2204565,
        "title": "Session in French",
        "description": "",
        "created": 1762174288000,
        "lastModified": 1762174288000,
        "minPerBooking": 1,
        "pickupSelectionType": "UNAVAILABLE",
        "dropoffSelectionType": "UNAVAILABLE",
        "cancellationPolicyId": 242331,
        "pricedPerPerson": true,
        "tieredPricingEnabled": false,
        "allStartTimes": false,
        "startTimes": [
          {
            "id": 4406385,
            "externalId": ""
          },
          {
            "id": 4406386,
            "externalId": ""
          }
        ],
        "allPricingCategories": true
      }
    ]
  },
  "pricing": {
    "experiencePriceRules": [
      {
        "id": 358448174,
        "rate": {
          "id": 2204565
        },
        "created": 1762174296000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "50.000000",
        "pricingCategoryId": 1059117
      },
      {
        "id": 358448173,
        "rate": {
          "id": 2204565
        },
        "created": 1762174296000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "100.000000",
        "pricingCategoryId": 1059115
      },
      {
        "id": 346944644,
        "rate": {
          "id": 2174854
        },
        "created": 1760957833000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "100.000000",
        "pricingCategoryId": 1059115
      },
      {
        "id": 346944645,
        "rate": {
          "id": 2174854
        },
        "created": 1760957833000,
        "priceCatalogId": 144433,
        "currency": "EUR",
        "amount": "50.000000",
        "pricingCategoryId": 1059117
      }
    ],
    "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": "NATIONALITY",
      "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": 1772485321000
  },
  "meetingType": {
    "type": "MEET_ON_LOCATION",
    "meetingPointAddresses": [
      {
        "id": 663536,
        "title": "From Our Kitchen: The Ultimate Francesinha Experience",
        "address": {
          "id": 17077449,
          "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": 1094923,
  "earlyBookingLimit": {
    "limitType": "UNLIMITED"
  }
}

Complete Product Data Map

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

Id

1094923

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

Wed Oct 01 10:53:19 UTC 2025

Last Modified

Mon Mar 02 21:01:59 UTC 2026

Last Published

2026-03-02T21:02:00.595Z

Published

false

Title

I'm going to make my Francesinha in Porto

Description

<p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em"><em>Join our family for a cozy evening of hands-on cooking, local wine, and real Portuguese warmth.</em></p><p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">Step into our home in Porto and enjoy a truly authentic Portuguese experience. Our family—parents and two sons—will welcome you to our terrace kitchen, where <strong>you’ll actively participate in preparing your own francesinha</strong>, Porto’s iconic sandwich, using our cherished family recipe.</p><p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">Learn step-by-step as you assemble the layers of bread, meats, and melted cheese, and finish it with our rich, homemade sauce. Sip local wines, share laughter and stories, and enjoy the thrill of creating this legendary dish in a relaxed, intimate setting.</p><p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">This is more than a dinner—it’s a chance to <strong>cook, connect, and experience the heart of Porto’s culinary tradition</strong> with a welcoming family.</p><p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">A warm, unforgettable evening for travelers seeking <strong>authentic flavors, hands-on fun, and genuine hospitality</strong>.</p>

Excerpt

From Our Kitchen: The Ultimate Francesinha Experience

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

NATIONALITY

Required

true

Required Before Departure

false

Required Customer Fields (4 items)

firstName

lastName

email

nationality

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

null

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

false

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

663536

Type

null

Title

From Our Kitchen: The Ultimate Francesinha Experience

Code

null

Address

Id

17077449

Created (6 items)

2025

10

20

10

56

4

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 (1 items)

FOOD_AND_DRINKS

Included

Exclusions (0 items)

[]

Excluded

null

Requirements

null

Know Before You Go Items (1 items)

PUBLIC_TRANSPORTATION_NEARBY

Attention

<p style="font-size:14px;line-height:1.6;color:#57646f;margin-top:0.5em;margin-bottom:0.5em">As this is an outdoor activity, you should bring warm, comfortable clothing if the weather requires it.</p>

Location Code

Country

PT

Location

Porto

Name

Porto

Google Place

Country

Portugal

Country Code

PT

City

Porto

City Code

Porto

Name

Oporto, 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 (3 items)

FAMILY_FRIENDLY

GROUP_FRIENDLY

PRIVATE_ACTIVITY

Guidance Types (1 items)

Item 1

Id

null

Created (7 items)

2026

4

13

18

34

30

957114711

Guidance Type

GUIDED

Languages (2 items)

pt

en

Display Languages (2 items)

Portuguese

English

Default Rate Id

2174854

Rates (2 items)

Item 1

Id

2174854

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)

4379705

4379706

All Start Times

false

Tiered Pricing Enabled

false

Tiers (0 items)

[]

Pricing Category Ids (2 items)

1059115

1059117

All Pricing Categories

false

Details (0 items)

[]

Text Items (0 items)

[]

Item 2

Id

2204565

Title

Session in French

Description

Index

1

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)

4406385

4406386

All Start Times

false

Tiered Pricing Enabled

false

Tiers (0 items)

[]

Pricing Category Ids (2 items)

1059115

1059117

All Pricing Categories

false

Details (0 items)

[]

Text Items (0 items)

[]

Ticket Per Person

false

Duration Type

HOURS

Duration

4

Duration Minutes

0

Duration Hours

4

Duration Days

0

Duration Weeks

0

Duration Text

4 hours

Min Age

0

Original Default Price

null

Next Default Price

100

Next Default Price Money

Amount

100

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 (2 items)

Item 1

Id

1059115

Title

Adultsin

Ticket Category

ADULT

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

true

Full Title

Adultsin

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

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 (9 items)

Item 1

Id

3269429

Index

0

Title

Welcome

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Let's welcome our friends, introduce the family, the house and the menu.&nbsp;</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 2

Id

3299069

Index

0

Title

Presentation

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">welcome and introduction to the family, the house and the activity.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 3

Id

3299104

Index

0

Title

Presentation of the activity and the menu to be prepared

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">We'll set out the menu from starters to dessert and main course, including ingredients and utensils.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 4

Id

3299116

Index

0

Title

Lets Go

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Chop the onion, parsley and garlic, prepare the spices and drinks that will be part of the dressing and sauce. Let's prepare the meats for this wonderful sandwich</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 5

Id

3299120

Index

0

Title

Pause to toast

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Now that everything is in place, let's pour a glass of your favorite drink and serve an aperitif to comfort your belly.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 6

Id

3299152

Index

0

Title

Peel and cut the potatoes

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Vamos descascar as batatas para depois as cortar e podermos fritar, são um acompanhamento fabuloso para esta sanduíche.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 7

Id

3299160

Index

0

Title

Fried Eggs and Hot Sauce

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Tempo de preparar tudo para finalizar . Está quase tudo pronto.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 8

Id

3299163

Index

0

Title

Sit and eat

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">Finally at the table, seated and with glasses full of our favorite drink, we're going to taste the fruits of our labor. We have time, we just can't make too much noise because the neighbors are working tomorrow, but we're not.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Item 9

Id

3299164

Index

0

Title

Toast

Excerpt

Body

<p style="font-size: 14px; line-height: 1.6; color: #57646f; margin-top: 0.5em; margin-bottom: 0.5em">A toast, a speech, two toasts and see you next time.</p>

Day

1

Flags (0 items)

[]

Location

Address

null

City

null

Country Code

null

Post Code

null

Latitude

null

Longitude

null

Zoom Level

6

Origin

null

Origin Id

null

Whole Address

Address

null

Key Photo

null

Photos (0 items)

[]

Start Times (4 items)

Item 1

Id

4379705

Label

null

External Label

English

Hour

11

Minute

0

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

4

Duration Minutes

0

Duration Hours

4

Duration Days

0

Duration Weeks

0

Flags (0 items)

[]

Item 2

Id

4406385

Label

null

External Label

French

Hour

11

Minute

0

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

4

Duration Minutes

0

Duration Hours

4

Duration Days

0

Duration Weeks

0

Flags (0 items)

[]

Item 3

Id

4379706

Label

null

External Label

English

Hour

18

Minute

0

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

4

Duration Minutes

0

Duration Hours

4

Duration Days

0

Duration Weeks

0

Flags (0 items)

[]

Item 4

Id

4406386

Label

null

External Label

French

Hour

18

Minute

0

Override Time When Pickup

false

Pickup Hour

0

Pickup Minute

0

Duration Type

H

Voucher Pickup Msg

null

External Id

null

Duration

4

Duration Minutes

0

Duration Hours

4

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

411488

Monday

Id

4223388

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Tuesday

Id

4223389

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Wednesday

Id

4223390

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Thursday

Id

4223391

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Friday

Id

4223392

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Saturday

Id

4223393

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

Frequency

null

Sunday

Id

4223394

Open24 Hours

true

Open

false

Time Intervals (1 items)

Item 1

Open From (2 items)

8

0

Open For Hours

8

Open For Minutes

0

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

1094923

Next Default Price As Text

EUR 100.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