{
    "schema_version": "vesper.restaurant_facts.v1",
    "generated_at": "2026-06-21T10:18:42+00:00",
    "canonical_url": "https://vesperhour.com/happy-hours/grappolo",
    "machine_urls": {
        "facts_json": "https://vesperhour.com/restaurants/grappolo/facts.json",
        "menu_json": "https://vesperhour.com/api/restaurants/grappolo/menu",
        "menu_text": "https://vesperhour.com/restaurants/grappolo/menu.txt",
        "specials_json": "https://vesperhour.com/api/restaurants/grappolo/specials",
        "happy_hours_json": "https://vesperhour.com/api/restaurants/grappolo/happy-hours"
    },
    "restaurant": {
        "id": "f598ea99-00e3-4e0f-a9d8-98d0f6c875f1",
        "name": "Grappolo",
        "slug": "grappolo",
        "description": "Grappolo has carved out a reputation in Winter Park for its happy hour, highlighted by House Wines. With wine specials. Open weekdays, 3pm to 6pm.",
        "editorial_one_liner": "Known for: House Wines \u00b7 Drinks",
        "insider_tip": "Don't overlook the House Wines - it punches above its weight at happy hour prices.",
        "area": {
            "name": "Winter Park",
            "slug": "winter-park"
        },
        "address": "526 S Park Ave, Winter Park, FL 32789",
        "latitude": 28.5937806,
        "longitude": -81.3504937,
        "phone": null,
        "website_url": "https://www.grappolocucina.com/menu",
        "instagram_handle": "https://instagram.com/grappolocucina",
        "google_maps_url": "https://www.google.com/maps/search/Grappolo,526%20S%20Park%20Ave,%20Winter%20Park,%20FL%2032789",
        "image_url": "https://vesperhour.com/images/restaurants/Grappolo-300x300.webp",
        "public_url": "https://vesperhour.com/happy-hours/grappolo"
    },
    "menu": {
        "source_url": "https://vesperhour.com/menus/Grappolo.pdf",
        "source_urls": [
            "https://vesperhour.com/menus/Grappolo.pdf"
        ],
        "updated": null,
        "coverage_level": "structured_excerpt",
        "section_count": 2,
        "item_count": 2,
        "raw_text_available": true,
        "raw_text": ". 7\n, fi\ni vy\n; Ww\n, Teen :\n\\ YE.\n| wf\nwi 7\n\\ ~~ //\n| %,\n7\n: \\\nrec ot F '\na ,\non ; RNS | F '\noa if rt = ie $ : \u2019\n= L }) |\nSS \\ =e Re P \u2014 |\na; = - = ay es |\na ace\n\u2014- 1ANA |\nftp bee h hd\nHH Deal ,\n2 | = 4\n: OGO House Wines f 7\nby = fi\nMr\noy . ae PM be\nee Ve Ss Mon - Fri 3-6 Poby .\n\u20187; ; 17\u00b0\" oH\nag, le yes cee & m= 4 5\nSn. Or Cs Ly. 7 or Cen Ly\nEe S 7. y \u201c2y, Lh fe 2. % ba is og aii\n; ph ep So, \u201cby is Sy +\nMagis Seay Gee OL: | : ol ha\nOy, J : eM 4 )\n57520. bP : See Ssscer 2 f ria\n\u201cQa 45 Lr. jie eee Bae fi . Rage\n2 Pe 2/, Say; : : y: 2 ss\n{7 D : \u2018 ve\n9 \u201cLh 72 ; Mgt Me ae \u201ca\nO D iS ions Ne O Ene f : a\nIo to. ef ane i See t f\nCe ae ln > een ee SERN) (is\n9. \u201cC Son, \u201cPoy oe: My Prag Noe Noe Eh fi r) aS\n5 Lhe PS \u00a9, Op. Gate SERN ERY dag = #\n$2.0? se inn AS OR of\n: af Bo. SS So, , <7, : aes tenia LARS : hh\n<1), \u201cLe * 906 O, \u00e9 Wy. i ae ae ah). fanaa $26,\nV> 4, \"fe \u201che nf Mesa Sse S05 ky\n\u00a9 29'8\u00a2 \u201cSh, \"Blas af Se My \u201cSyl \u00a7 iy\nOs : Rast etiam de =\ney Op \u2018 : 5 \u2018 fog 2F Oo. L 7 P\nCe. wg e Ki So.\u00b0e . SH AY\noY \"ny 2 \u2018 jae Bie tp pe : Oy\n\u2018Us Wy, ? My ; 7> CX L 4\n\u201cUy Loy 2 By 2920, > 258 Qo fay.\nd \"cz Phe wv & \u00b0 x \u201cOn\n7 Ss, a 4, % I A S40 Or. > CO, \u00a32 >,\n| ? hy ! 72> Uy 4; 1Ba! 2o\nfe nd y M02 Sapp Bea, e R, \u2019 Lea)\ndg 1 CA : 73 0 \u201cOy S\u00a5H Q e? J\n2 1a iy LH Me Stir, Ux, f\nr, Pe\u00bb & e 4 w4 2)\u00bb i SV S> : You, . Mo , \u00a3,\n7, cf lp Wy Any 20 ot C YS 4 \u201ceo te. \" Vs\n\u201cNy /, % fof \u00a5 O% ON <9 da \\y Oey \u201cee, ti Sr | qv O\ntn\u201d \u20ac9 j Ms\u201c hy, \u201cSz. ee SONS\nif Wp , Dp oy j S qo &, ts o, lL Oo. bon % Y ae\na: v4 F So, \u00a9, Yo - \u20ac.. DA Obs\n> s < Ve 12 ae, \u2018Lb oO, ~f \u201cSf a7 ~\nSs e, \u00e9 } ; 3 WM, 2% ey P 4) ry,\ns j Ss Vy \u201cCe 2 l\n- Ro ty <7 5\u00b0) Y \u201ciy Cr, x 2\n| C4, \"80 Rag boy Cx\n, J of, Pena? Co Mg Meg Seng tes\n\u201cLe j S7 may Sa) 07) 2) ey th | Ming ; 4 i uy\n> Se Pa % 60 Oy \u201ca 4a), hg Oy | Se\n\u00a2 o\u00a2 fr \u20ac dG y if Ce) Pl Wo Moy ? aon oO z ergy be \u2018 S79) |\ni Ps \"Co iy },, ; <7 9% by Ag ty. * 0; Y tay Mg -\n\u201c %W . / Pp 1} a O> \u201cs ey 26 M%, So .\n; * > ; 4327, Sg.\" 7%, \u201cOn 2 2s Le,\nDe, if \u201cne {8/) Qy bo eg ioe . Ying 5 \"ay : S\n\u2019 a ba MI \u2018Qx > +\nfo, cs ae 7 Cy ee %e a \u2019 Ly. lp \u00a5\n2c, $76 99 5 Oy, 26M. \u201cSon, San, OF iT,\n\u20ac c 16 < yy We O 9 a> ya Vy - 9\n\u201c4 \u201cOo \u201co>, Wo, fog es O \"Qu, Su We, <\nle, 72 Mean Wem at ey CF, ~%S>\nan eee 7 Wy <O 9\u00b0 \u201c9 @ /2%p 42 y ey 4 %p\n\u201cey, XL 0% ; Op \u201cny t a Pe %e,\nTo tf, e 335 o\u201d Sp WK Ss 7\n700, 4) pe q; & 00, Cp, oO.\n%e * 5, Oy) M7, 7 a) My Ms SSo\n9, \u00bb,? ff ,\nmY \u2018Me No, c re) of] c ee,\u00bb Vey \"ip, G\n5 acy a, sq ANE 7, 6a. Sn,\n; gst Mog. 4, Pule, eer of\n6, Ss a) 9 +@ Y Se,\nRen 9 fa, is OR et, 0; 26 Tha.\nC S25 2\u00b0 Up Ss ; be \u00b0F, e ae \"\u00a7 Q j\n2.2 be, IP %e 2 As oy Y bo, Ors\nao 2> Sox, e; mesh ?\nSto, \u2018 Oo e Qe, , <6 My \u00ab \u2018Ss \u00e9 \u201c0 tp 26 2)\nLe Bo, O 4 So ty. % \u00b09/ Us a\u00bb\nS> be, Q% I PS IPG",
        "sections": [
            {
                "name": "BOGO",
                "items": [
                    {
                        "name": "House Wines",
                        "description": "Mon-Fri 3-6pm"
                    }
                ]
            },
            {
                "name": "Specials",
                "items": [
                    {
                        "name": "Drinks"
                    }
                ]
            }
        ]
    },
    "information_model": {
        "text_menu": {
            "role": "canonical_general_menu",
            "coverage_level": "structured_excerpt",
            "description": "The restaurant general menu in text/JSON form. It should contain regular food and drink menu sections, items, descriptions, prices, and options when available.",
            "source_of_truth": "legacy structured or raw text that still needs full-menu source review",
            "must_not_include": [
                "happy-hour-only flyers",
                "daily-special-only boards",
                "limited-time specials unless they are part of the published general menu"
            ]
        },
        "happy_hours": {
            "role": "timed_specials",
            "count": 1,
            "description": "Recurring discounted food or drink offers with explicit day and time windows."
        },
        "daily_specials": {
            "role": "untimed_or_day_based_specials",
            "count": 0,
            "description": "Recurring day-based offers that are separate from the general menu and separate from timed happy-hour windows."
        },
        "agent_rule": "Do not infer that specials are part of the full Text Menu unless the source itself presents them as regular menu items."
    },
    "happy_hours": [
        {
            "id": "d18e69ed-4544-4e13-8cf4-fa734a1f3ebb",
            "days": [
                "monday",
                "tuesday",
                "wednesday",
                "thursday",
                "friday"
            ],
            "start_time": "15:00:00",
            "end_time": "18:00:00",
            "time_range": "3 PM \u2013 6 PM",
            "notes": null,
            "drinks": [
                {
                    "id": "2f77e8c9-d181-4e99-acf9-ca13c37d68dc",
                    "name": "Wine",
                    "slug": "wine",
                    "icon": "\ud83c\udf77"
                }
            ],
            "foods": [],
            "is_active": true
        }
    ],
    "daily_specials": [],
    "sources": {
        "summary": {
            "count": 0,
            "last_checked_at": null,
            "last_checked_age_days": null,
            "average_confidence": null,
            "freshness_status": "missing_source_notes",
            "source_strength": "missing",
            "needs_reverification": true,
            "urls": []
        },
        "entries": []
    },
    "data_quality": {
        "has_text_menu": true,
        "has_full_text_menu": false,
        "has_structured_text_menu": true,
        "has_raw_text_menu": true,
        "has_happy_hours": true,
        "has_daily_specials": false,
        "source_note_count": 0,
        "last_verified_at": null,
        "last_verified_age_days": null,
        "source_freshness_status": "missing_source_notes",
        "source_strength": "missing",
        "needs_reverification": true,
        "freshness": {
            "status": "missing_source_notes",
            "source_strength": "missing",
            "age_days": null,
            "reverify_after_days": 90,
            "stale_after_days": 180,
            "needs_reverification": true,
            "reasons": [
                "No source provenance row is available for this listing."
            ]
        },
        "menu_completeness_status": "structured_excerpt_needs_full_menu_review"
    },
    "report_inaccuracy_url": "https://vesperhour.com/report?type=inaccurate&venue_id=f598ea99-00e3-4e0f-a9d8-98d0f6c875f1&venue=Grappolo&source=%2Fhappy-hours%2Fgrappolo"
}