{"openapi":"3.1.0","info":{"title":"AIO Engine","description":"LINE handwritten menu → Gemini → JSON API for 浜の玄太丸 MVP","version":"0.1.0"},"paths":{"/webhook/line":{"post":{"tags":["webhook"],"summary":"Handle Line Webhook","operationId":"handle_line_webhook_webhook_line_post","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Store PK for OCR menu rows (fallback: LINE_OCR_RESTAURANT_ID or DEFAULT_RESTAURANT_ID)","title":"Restaurant Id"},"description":"Store PK for OCR menu rows (fallback: LINE_OCR_RESTAURANT_ID or DEFAULT_RESTAURANT_ID)"},{"name":"X-Line-Signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Line-Signature"}},{"name":"X-Restaurant-Id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Restaurant-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tourist-claims/{claim_id}/verify":{"post":{"tags":["public-api","tourist-claim-governance"],"summary":"Verify Tourist Claim Route","operationId":"verify_tourist_claim_route_api_v1_tourist_claims__claim_id__verify_post","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"integer","title":"Claim Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VerifyTouristClaimBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tourist-claims/{claim_id}/needs-review":{"post":{"tags":["public-api","tourist-claim-governance"],"summary":"Needs Review Claim Route","operationId":"needs_review_claim_route_api_v1_tourist_claims__claim_id__needs_review_post","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"integer","title":"Claim Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/NeedsReviewTouristClaimBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tourist-claims/{claim_id}/reject":{"post":{"tags":["public-api","tourist-claim-governance"],"summary":"Reject Tourist Claim Route","operationId":"reject_tourist_claim_route_api_v1_tourist_claims__claim_id__reject_post","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"integer","title":"Claim Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RejectTouristClaimBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tourist-claims/{claim_id}/attach-evidence":{"post":{"tags":["public-api","tourist-claim-governance"],"summary":"Attach Evidence Route","operationId":"attach_evidence_route_api_v1_tourist_claims__claim_id__attach_evidence_post","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"integer","title":"Claim Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachTouristClaimEvidenceBody"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/structured-data":{"get":{"tags":["public-api","store-api"],"summary":"Get Structured Data For Store","operationId":"get_structured_data_for_store_api_v1_restaurants__restaurant_id__structured_data_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/aio-report":{"get":{"tags":["public-api","store-api"],"summary":"Get Aio Report For Store","operationId":"get_aio_report_for_store_api_v1_restaurants__restaurant_id__aio_report_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOReportAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/dashboard":{"get":{"tags":["public-api","store-api"],"summary":"Get Dashboard For Store","operationId":"get_dashboard_for_store_api_v1_restaurants__restaurant_id__dashboard_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/query-intent-graph":{"get":{"tags":["public-api","store-api"],"summary":"Get Query Intent Graph For Store","operationId":"get_query_intent_graph_for_store_api_v1_restaurants__restaurant_id__query_intent_graph_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryIntentGraphAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-decision-journey":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Decision Journey For Store","operationId":"get_ai_decision_journey_for_store_api_v1_restaurants__restaurant_id__ai_decision_journey_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIDecisionJourneyAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/trust-verification-report":{"get":{"tags":["public-api","store-api"],"summary":"Get Trust Verification Report For Store","operationId":"get_trust_verification_report_for_store_api_v1_restaurants__restaurant_id__trust_verification_report_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustVerificationAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/evidence-sources":{"get":{"tags":["public-api","store-api"],"summary":"List Evidence Sources For Store","operationId":"list_evidence_sources_for_store_api_v1_restaurants__restaurant_id__evidence_sources_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceSourcesListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Create Evidence Source For Store","operationId":"create_evidence_source_for_store_api_v1_restaurants__restaurant_id__evidence_sources_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceSourceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceSourceCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/claims":{"get":{"tags":["public-api","store-api"],"summary":"List Claims For Store","operationId":"list_claims_for_store_api_v1_restaurants__restaurant_id__claims_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Create Claim For Store","operationId":"create_claim_for_store_api_v1_restaurants__restaurant_id__claims_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestaurantClaimCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/claim-graph":{"get":{"tags":["public-api","store-api"],"summary":"Get Claim Graph For Store","operationId":"get_claim_graph_for_store_api_v1_restaurants__restaurant_id__claim_graph_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimGraphAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/approval-queue":{"get":{"tags":["public-api","store-api"],"summary":"List Approval Queue For Store","operationId":"list_approval_queue_for_store_api_v1_restaurants__restaurant_id__approval_queue_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalQueueListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Create Approval Queue For Store","operationId":"create_approval_queue_for_store_api_v1_restaurants__restaurant_id__approval_queue_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalQueueCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalQueueCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/publish-history":{"get":{"tags":["public-api","store-api"],"summary":"List Publish History For Store","operationId":"list_publish_history_for_store_api_v1_restaurants__restaurant_id__publish_history_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":300,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishHistoryListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/claim-learning-summary":{"get":{"tags":["public-api","store-api"],"summary":"Get Claim Learning Summary","operationId":"get_claim_learning_summary_api_v1_restaurants__restaurant_id__claim_learning_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimLearningSummaryAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-provider-insights":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Provider Insights For Store","operationId":"get_ai_provider_insights_for_store_api_v1_restaurants__restaurant_id__ai_provider_insights_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIProviderInsightsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/claim-learning-history":{"get":{"tags":["public-api","store-api"],"summary":"List Claim Learning History Route","operationId":"list_claim_learning_history_route_api_v1_restaurants__restaurant_id__claim_learning_history_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":400,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimLearningHistoryListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/replay-monitoring/jobs":{"get":{"tags":["public-api","store-api"],"summary":"List Replay Monitoring Jobs","operationId":"list_replay_monitoring_jobs_api_v1_restaurants__restaurant_id__replay_monitoring_jobs_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringJobsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Create Replay Monitoring Job Route","operationId":"create_replay_monitoring_job_route_api_v1_restaurants__restaurant_id__replay_monitoring_jobs_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringJobCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringJobCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/replay-monitoring/jobs/{job_id}/run":{"post":{"tags":["public-api","store-api"],"summary":"Run Replay Monitoring Job For Store","operationId":"run_replay_monitoring_job_for_store_api_v1_restaurants__restaurant_id__replay_monitoring_jobs__job_id__run_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}},{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringRunAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/replay-monitoring/results":{"get":{"tags":["public-api","store-api"],"summary":"List Replay Monitoring Results","operationId":"list_replay_monitoring_results_api_v1_restaurants__restaurant_id__replay_monitoring_results_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringResultsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/visibility-summary":{"get":{"tags":["public-api","store-api"],"summary":"Visibility Summary For Store","operationId":"visibility_summary_for_store_api_v1_restaurants__restaurant_id__visibility_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilitySummaryAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/query-benchmark":{"get":{"tags":["public-api","store-api"],"summary":"Query Benchmark For Store","operationId":"query_benchmark_for_store_api_v1_restaurants__restaurant_id__query_benchmark_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"provider","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":24,"title":"Provider"}},{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":500,"title":"Query"}},{"name":"save_snapshot","in":"query","required":false,"schema":{"type":"boolean","description":"Persist benchmark_snapshots row (commits).","default":false,"title":"Save Snapshot"},"description":"Persist benchmark_snapshots row (commits)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryBenchmarkAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/provider-benchmark":{"get":{"tags":["public-api","store-api"],"summary":"Provider Benchmark For Store","operationId":"provider_benchmark_for_store_api_v1_restaurants__restaurant_id__provider_benchmark_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"provider","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":24,"title":"Provider"}},{"name":"save_snapshot","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Save Snapshot"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderBenchmarkAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/competitor-matrix":{"get":{"tags":["public-api","store-api"],"summary":"Competitor Matrix For Store","operationId":"competitor_matrix_for_store_api_v1_restaurants__restaurant_id__competitor_matrix_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorMatrixAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-visibility-index":{"get":{"tags":["public-api","store-api"],"summary":"Ai Visibility Index For Store","operationId":"ai_visibility_index_for_store_api_v1_restaurants__restaurant_id__ai_visibility_index_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"save_snapshot","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Save Snapshot"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIVisibilityIndexAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/competitive-gap":{"get":{"tags":["public-api","store-api"],"summary":"Competitive Gap For Store","operationId":"competitive_gap_for_store_api_v1_restaurants__restaurant_id__competitive_gap_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitiveGapAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/competitors":{"get":{"tags":["public-api","store-api"],"summary":"Competitors For Store","operationId":"competitors_for_store_api_v1_restaurants__restaurant_id__competitors_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/benchmark-snapshots":{"get":{"tags":["public-api","store-api"],"summary":"Benchmark Snapshots For Store","operationId":"benchmark_snapshots_for_store_api_v1_restaurants__restaurant_id__benchmark_snapshots_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":120,"title":"Limit"}},{"name":"benchmark_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by group e.g. index, query, provider.","title":"Benchmark Group"},"description":"Filter by group e.g. index, query, provider."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkSnapshotsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/bootstrap-queries":{"get":{"tags":["public-api","store-api"],"summary":"Bootstrap Queries Preview","operationId":"bootstrap_queries_preview_api_v1_restaurants__restaurant_id__bootstrap_queries_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"max_queries","in":"query","required":false,"schema":{"type":"integer","maximum":60,"minimum":8,"default":42,"title":"Max Queries"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BootstrapQueriesAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/bootstrap-monitoring":{"post":{"tags":["public-api","store-api"],"summary":"Bootstrap Monitoring Create Jobs","operationId":"bootstrap_monitoring_create_jobs_api_v1_restaurants__restaurant_id__bootstrap_monitoring_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BootstrapMonitoringPostBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BootstrapMonitoringCreateAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/run-bootstrap-monitoring":{"post":{"tags":["public-api","store-api"],"summary":"Run Bootstrap Monitoring Jobs","operationId":"run_bootstrap_monitoring_jobs_api_v1_restaurants__restaurant_id__run_bootstrap_monitoring_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BootstrapRunPostBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BootstrapRunAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/experience-feedbacks":{"get":{"tags":["public-api","store-api"],"summary":"List Experience Feedbacks","operationId":"list_experience_feedbacks_api_v1_restaurants__restaurant_id__experience_feedbacks_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceFeedbackListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Create Experience Feedback","operationId":"create_experience_feedback_api_v1_restaurants__restaurant_id__experience_feedbacks_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceFeedbackCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceFeedbackCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/expectation-alignment-summary":{"get":{"tags":["public-api","store-api"],"summary":"Expectation Alignment Summary","operationId":"expectation_alignment_summary_api_v1_restaurants__restaurant_id__expectation_alignment_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/recommendation-reality-score":{"get":{"tags":["public-api","store-api"],"summary":"Recommendation Reality Score","operationId":"recommendation_reality_score_api_v1_restaurants__restaurant_id__recommendation_reality_score_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationRealityAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/expectation-gap-alerts":{"get":{"tags":["public-api","store-api"],"summary":"Expectation Gap Alerts For Store","operationId":"expectation_gap_alerts_for_store_api_v1_restaurants__restaurant_id__expectation_gap_alerts_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GapAlertsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/optimization-recommendations":{"get":{"tags":["public-api","store-api"],"summary":"Optimization Recommendations List","operationId":"optimization_recommendations_list_api_v1_restaurants__restaurant_id__optimization_recommendations_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizationRecommendationsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/generate-optimization-recommendations":{"post":{"tags":["public-api","store-api"],"summary":"Generate Optimization Recommendations Route","operationId":"generate_optimization_recommendations_route_api_v1_restaurants__restaurant_id__generate_optimization_recommendations_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateOptimizationRecommendationsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/autonomous-optimization-summary":{"get":{"tags":["public-api","store-api"],"summary":"Autonomous Optimization Summary","operationId":"autonomous_optimization_summary_api_v1_restaurants__restaurant_id__autonomous_optimization_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousOptimizationSummaryAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/recommendation-outcomes":{"get":{"tags":["public-api","store-api"],"summary":"Recommendation Outcomes List","operationId":"recommendation_outcomes_list_api_v1_restaurants__restaurant_id__recommendation_outcomes_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":60,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationOutcomesAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/tourist-claims":{"get":{"tags":["public-api","store-api"],"summary":"Tourist Claims List","operationId":"tourist_claims_list_api_v1_restaurants__restaurant_id__tourist_claims_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":120,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristClaimsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Tourist Claims Create","operationId":"tourist_claims_create_api_v1_restaurants__restaurant_id__tourist_claims_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristClaimCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristClaimCreatedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/tourist-claim-review-queue":{"get":{"tags":["public-api","store-api"],"summary":"Tourist Claim Review Queue","operationId":"tourist_claim_review_queue_api_v1_restaurants__restaurant_id__tourist_claim_review_queue_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":240,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/tourist-trust-summary":{"get":{"tags":["public-api","store-api"],"summary":"Tourist Trust Summary Route","operationId":"tourist_trust_summary_route_api_v1_restaurants__restaurant_id__tourist_trust_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouristGovernanceEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-discovery-health":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Discovery Health Route","operationId":"inbound_discovery_health_route_api_v1_restaurants__restaurant_id__inbound_discovery_health_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDiscoveryEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/run-travel-replay":{"post":{"tags":["public-api","store-api"],"summary":"Run Travel Replay Route","operationId":"run_travel_replay_route_api_v1_restaurants__restaurant_id__run_travel_replay_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunTravelReplayAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/travel-replays":{"get":{"tags":["public-api","store-api"],"summary":"Travel Replays List","operationId":"travel_replays_list_api_v1_restaurants__restaurant_id__travel_replays_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TravelReplaysListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-visibility-index":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Visibility Index Route","operationId":"inbound_visibility_index_route_api_v1_restaurants__restaurant_id__inbound_visibility_index_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundVisibilityIndexAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/cultural-expectation-gaps":{"get":{"tags":["public-api","store-api"],"summary":"Cultural Expectation Gaps Route","operationId":"cultural_expectation_gaps_route_api_v1_restaurants__restaurant_id__cultural_expectation_gaps_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CulturalExpectationGapsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/multilingual-geo":{"get":{"tags":["public-api","store-api"],"summary":"Multilingual Geo Route","operationId":"multilingual_geo_route_api_v1_restaurants__restaurant_id__multilingual_geo_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","maxLength":8,"default":"en","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultilingualGeoAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-bootstrap-queries":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Bootstrap Queries Preview","operationId":"inbound_bootstrap_queries_preview_api_v1_restaurants__restaurant_id__inbound_bootstrap_queries_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundMonitoringGenericAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/bootstrap-inbound-monitoring":{"post":{"tags":["public-api","store-api"],"summary":"Bootstrap Inbound Monitoring Route","operationId":"bootstrap_inbound_monitoring_route_api_v1_restaurants__restaurant_id__bootstrap_inbound_monitoring_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BootstrapInboundMonitoringPostBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundMonitoringGenericAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/run-inbound-monitoring":{"post":{"tags":["public-api","store-api"],"summary":"Run Inbound Monitoring Route","operationId":"run_inbound_monitoring_route_api_v1_restaurants__restaurant_id__run_inbound_monitoring_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"max_jobs","in":"query","required":false,"schema":{"type":"integer","maximum":160,"minimum":1,"default":48,"title":"Max Jobs"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundMonitoringGenericAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-monitoring/jobs":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Monitoring Jobs List","operationId":"inbound_monitoring_jobs_list_api_v1_restaurants__restaurant_id__inbound_monitoring_jobs_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":400,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundMonitoringJobsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-visibility-snapshots":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Visibility Snapshots List","operationId":"inbound_visibility_snapshots_list_api_v1_restaurants__restaurant_id__inbound_visibility_snapshots_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":240,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundVisibilitySnapshotsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-monitoring-summary":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Monitoring Summary Route","operationId":"inbound_monitoring_summary_route_api_v1_restaurants__restaurant_id__inbound_monitoring_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundMonitoringGenericAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-optimization-summary":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Optimization Summary Route","operationId":"inbound_optimization_summary_route_api_v1_restaurants__restaurant_id__inbound_optimization_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundOptimizationEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-optimization-recommendations":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Optimization Recommendations List Route","operationId":"inbound_optimization_recommendations_list_route_api_v1_restaurants__restaurant_id__inbound_optimization_recommendations_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundOptimizationEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/generate-inbound-optimization":{"post":{"tags":["public-api","store-api"],"summary":"Generate Inbound Optimization Route","operationId":"generate_inbound_optimization_route_api_v1_restaurants__restaurant_id__generate_inbound_optimization_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundOptimizationEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-revenue-summary":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Revenue Summary Route","operationId":"inbound_revenue_summary_route_api_v1_restaurants__restaurant_id__inbound_revenue_summary_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-revenue-attributions":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Revenue Attributions List Route","operationId":"inbound_revenue_attributions_list_route_api_v1_restaurants__restaurant_id__inbound_revenue_attributions_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":24},{"type":"null"}],"title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":120,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["public-api","store-api"],"summary":"Inbound Revenue Attributions Create Route","operationId":"inbound_revenue_attributions_create_route_api_v1_restaurants__restaurant_id__inbound_revenue_attributions_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueAttributionCreate","default":{"locale":"en","provider":"unknown","attribution_source":"travel_replay"}}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/inbound-conversion-funnel":{"get":{"tags":["public-api","store-api"],"summary":"Inbound Conversion Funnel Route","operationId":"inbound_conversion_funnel_route_api_v1_restaurants__restaurant_id__inbound_conversion_funnel_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/locale-revenue-breakdown":{"get":{"tags":["public-api","store-api"],"summary":"Locale Revenue Breakdown Route","operationId":"locale_revenue_breakdown_route_api_v1_restaurants__restaurant_id__locale_revenue_breakdown_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/provider-revenue-breakdown":{"get":{"tags":["public-api","store-api"],"summary":"Provider Revenue Breakdown Route","operationId":"provider_revenue_breakdown_route_api_v1_restaurants__restaurant_id__provider_revenue_breakdown_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRevenueEnvelopeAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-recommendation-surface":{"get":{"tags":["ai-recommendation-surface"],"summary":"Ai Recommendation Surface","operationId":"ai_recommendation_surface_api_v1_restaurants__restaurant_id__ai_recommendation_surface_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-publishing-health":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Publishing Health For Store","operationId":"get_ai_publishing_health_for_store_api_v1_restaurants__restaurant_id__ai_publishing_health_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIPublishingHealthAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-recommendation-gap-report":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Recommendation Gap Report For Store","operationId":"get_ai_recommendation_gap_report_for_store_api_v1_restaurants__restaurant_id__ai_recommendation_gap_report_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationGapReportAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-recommendation-analysis":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Recommendation Analysis For Store","operationId":"get_ai_recommendation_analysis_for_store_api_v1_restaurants__restaurant_id__ai_recommendation_analysis_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationAnalysisAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-replay-analysis":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Replay Analysis For Store","operationId":"get_ai_replay_analysis_for_store_api_v1_restaurants__restaurant_id__ai_replay_analysis_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIReplayAnalysisAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-auto-optimization":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Auto Optimization For Store","operationId":"get_ai_auto_optimization_for_store_api_v1_restaurants__restaurant_id__ai_auto_optimization_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAutoOptimizationAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-recommendation-feed":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Recommendation Feed For Store","operationId":"get_ai_recommendation_feed_for_store_api_v1_restaurants__restaurant_id__ai_recommendation_feed_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"ai_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by assistant id (normalized, e.g. chatgpt, gemini).","title":"Ai Name"},"description":"Filter by assistant id (normalized, e.g. chatgpt, gemini)."},{"name":"recommendation_strength","in":"query","required":false,"schema":{"anyOf":[{"enum":["strong","medium","weak"],"type":"string"},{"type":"null"}],"description":"Filter by derived recommendation strength.","title":"Recommendation Strength"},"description":"Filter by derived recommendation strength."},{"name":"keyword","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match prompt, response text, or stored reason keyword.","title":"Keyword"},"description":"Match prompt, response text, or stored reason keyword."},{"name":"mentioned_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Mentioned Only"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive UTC date (store's captures on/after this calendar day).","title":"Date From"},"description":"Inclusive UTC date (store's captures on/after this calendar day)."},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Inclusive UTC date (captures before next calendar day).","title":"Date To"},"description":"Inclusive UTC date (captures before next calendar day)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationFeedAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-language-analysis":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Language Analysis For Store","operationId":"get_ai_language_analysis_for_store_api_v1_restaurants__restaurant_id__ai_language_analysis_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AILanguageAnalysisAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-optimization-report":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Optimization Report For Store","operationId":"get_ai_optimization_report_for_store_api_v1_restaurants__restaurant_id__ai_optimization_report_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOptimizationReportAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/daily-ai-actions":{"get":{"tags":["public-api","store-api"],"summary":"Get Daily Ai Actions For Store","operationId":"get_daily_ai_actions_for_store_api_v1_restaurants__restaurant_id__daily_ai_actions_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyAIActionsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/conversion-funnel":{"get":{"tags":["public-api","store-api"],"summary":"Get Conversion Funnel For Store","operationId":"get_conversion_funnel_for_store_api_v1_restaurants__restaurant_id__conversion_funnel_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionFunnelAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/aio-actions":{"get":{"tags":["public-api","store-api"],"summary":"Get Aio Actions For Store","operationId":"get_aio_actions_for_store_api_v1_restaurants__restaurant_id__aio_actions_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOActionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/geo-preview":{"get":{"tags":["public-api","store-api"],"summary":"Get Geo Preview For Store","operationId":"get_geo_preview_for_store_api_v1_restaurants__restaurant_id__geo_preview_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/menu/today":{"get":{"tags":["public-api","store-api"],"summary":"Get Menu Today For Store","operationId":"get_menu_today_for_store_api_v1_restaurants__restaurant_id__menu_today_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MenuTodayResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/menu/today.md":{"get":{"tags":["public-api","store-api"],"summary":"Get Menu Today Md For Store","operationId":"get_menu_today_md_for_store_api_v1_restaurants__restaurant_id__menu_today_md_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/availability":{"get":{"tags":["public-api","store-api"],"summary":"Get Availability For Store","operationId":"get_availability_for_store_api_v1_restaurants__restaurant_id__availability_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Profile For Store","operationId":"get_ai_profile_for_store_api_v1_restaurants__restaurant_id__ai_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMAIProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/ai-recommendation":{"get":{"tags":["public-api","store-api"],"summary":"Get Ai Recommendation For Store","operationId":"get_ai_recommendation_for_store_api_v1_restaurants__restaurant_id__ai_recommendation_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/citation-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Citation Profile For Store","operationId":"get_citation_profile_for_store_api_v1_restaurants__restaurant_id__citation_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CitationProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/freshness-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Freshness Profile For Store","operationId":"get_freshness_profile_for_store_api_v1_restaurants__restaurant_id__freshness_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshnessProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/realtime-context":{"get":{"tags":["public-api","store-api"],"summary":"Get Realtime Context For Store","operationId":"get_realtime_context_for_store_api_v1_restaurants__restaurant_id__realtime_context_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RealtimeContextAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/realtime-context.json":{"get":{"tags":["public-api","store-api"],"summary":"Get Realtime Publish Json For Store","operationId":"get_realtime_publish_json_for_store_api_v1_restaurants__restaurant_id__realtime_context_json_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/citation-feed.json":{"get":{"tags":["public-api","store-api"],"summary":"Get Citation Feed Json For Store","operationId":"get_citation_feed_json_for_store_api_v1_restaurants__restaurant_id__citation_feed_json_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/actionability-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Actionability Profile For Store","operationId":"get_actionability_profile_for_store_api_v1_restaurants__restaurant_id__actionability_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionabilityProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/intent-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Intent Profile For Store","operationId":"get_intent_profile_for_store_api_v1_restaurants__restaurant_id__intent_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/offer-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Offer Profile For Store","operationId":"get_offer_profile_for_store_api_v1_restaurants__restaurant_id__offer_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/booking-event":{"post":{"tags":["public-api","store-api"],"summary":"Post Booking Event For Store","operationId":"post_booking_event_for_store_api_v1_restaurants__restaurant_id__booking_event_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEventIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEventAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/strategy-recommendation":{"get":{"tags":["public-api","store-api"],"summary":"Get Strategy Recommendation For Store","operationId":"get_strategy_recommendation_for_store_api_v1_restaurants__restaurant_id__strategy_recommendation_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyRecommendationAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/revenue-attribution":{"get":{"tags":["public-api","store-api"],"summary":"Get Revenue Attribution For Store","operationId":"get_revenue_attribution_for_store_api_v1_restaurants__restaurant_id__revenue_attribution_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevenueAttributionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/conversion-profile":{"get":{"tags":["public-api","store-api"],"summary":"Get Conversion Profile For Store","operationId":"get_conversion_profile_for_store_api_v1_restaurants__restaurant_id__conversion_profile_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionProfileAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/aio-test-prompt":{"get":{"tags":["public-api","store-api"],"summary":"Get Aio Test Prompt For Store","operationId":"get_aio_test_prompt_for_store_api_v1_restaurants__restaurant_id__aio_test_prompt_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestPromptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/aio-test-result":{"post":{"tags":["public-api","store-api"],"summary":"Post Aio Test Result For Store","operationId":"post_aio_test_result_for_store_api_v1_restaurants__restaurant_id__aio_test_result_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/aio-test-results":{"get":{"tags":["public-api","store-api"],"summary":"List Aio Test Results For Store","operationId":"list_aio_test_results_for_store_api_v1_restaurants__restaurant_id__aio_test_results_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/analytics/aio-performance":{"get":{"tags":["public-api","store-api"],"summary":"Get Aio Performance For Store","operationId":"get_aio_performance_for_store_api_v1_restaurants__restaurant_id__analytics_aio_performance_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsAIOPerformanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/analytics/bookings":{"get":{"tags":["public-api","store-api","analytics"],"summary":"Get Bookings Analytics","operationId":"get_bookings_analytics_api_v1_restaurants__restaurant_id__analytics_bookings_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingsAnalyticsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/analytics/clicks":{"get":{"tags":["public-api","store-api","analytics"],"summary":"Get Click Analytics Endpoint","operationId":"get_click_analytics_endpoint_api_v1_restaurants__restaurant_id__analytics_clicks_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClicksAnalyticsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/analytics/crawlers":{"get":{"tags":["public-api","store-api","analytics"],"summary":"Get Crawler Analytics Endpoint","operationId":"get_crawler_analytics_endpoint_api_v1_restaurants__restaurant_id__analytics_crawlers_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlersAnalyticsAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/analytics/aio-score":{"get":{"tags":["public-api","store-api","analytics"],"summary":"Get Aio Score Endpoint","operationId":"get_aio_score_endpoint_api_v1_restaurants__restaurant_id__analytics_aio_score_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOScoreAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/system/stability-report":{"get":{"tags":["public-api","system"],"summary":"Get Stability Report","operationId":"get_stability_report_api_v1_system_stability_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StabilityReportAPIResponse"}}}}}}},"/api/v1/structured-data":{"get":{"tags":["public-api"],"summary":"Get Structured Data","operationId":"get_structured_data_api_v1_structured_data_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/aio-report":{"get":{"tags":["public-api"],"summary":"Get Aio Report","operationId":"get_aio_report_api_v1_aio_report_get","parameters":[{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOReportAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard":{"get":{"tags":["public-api"],"summary":"Get Dashboard","operationId":"get_dashboard_api_v1_dashboard_get","parameters":[{"name":"lightweight","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lightweight"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/conversion-funnel":{"get":{"tags":["public-api"],"summary":"Get Conversion Funnel Legacy","operationId":"get_conversion_funnel_legacy_api_v1_conversion_funnel_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionFunnelAPIResponse"}}}}}}},"/api/v1/aio-actions":{"get":{"tags":["public-api"],"summary":"Get Aio Actions","operationId":"get_aio_actions_api_v1_aio_actions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOActionsResponse"}}}}}}},"/api/v1/geo-preview":{"get":{"tags":["public-api"],"summary":"Get Geo Preview","operationId":"get_geo_preview_api_v1_geo_preview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoPreviewResponse"}}}}}}},"/api/v1/menu/today":{"get":{"tags":["public-api"],"summary":"Get Menu Today","operationId":"get_menu_today_api_v1_menu_today_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MenuTodayResponse"}}}}}}},"/api/v1/menu/today.md":{"get":{"tags":["public-api"],"summary":"Get Menu Today Md","operationId":"get_menu_today_md_api_v1_menu_today_md_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/availability":{"get":{"tags":["public-api"],"summary":"Get Availability","operationId":"get_availability_api_v1_availability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}}}}},"/api/v1/ai-profile":{"get":{"tags":["public-api"],"summary":"Get Ai Profile","operationId":"get_ai_profile_api_v1_ai_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIProfileResponse"}}}}}}},"/api/v1/ai-recommendation":{"get":{"tags":["public-api"],"summary":"Get Ai Recommendation","operationId":"get_ai_recommendation_api_v1_ai_recommendation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationAPIResponse"}}}}}}},"/api/v1/recommendation-profile":{"get":{"tags":["public-api"],"summary":"Get Recommendation Profile Layer Legacy","operationId":"get_recommendation_profile_layer_legacy_api_v1_recommendation_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/citation-profile":{"get":{"tags":["public-api"],"summary":"Get Citation Profile","operationId":"get_citation_profile_api_v1_citation_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CitationProfileAPIResponse"}}}}}}},"/api/v1/freshness-profile":{"get":{"tags":["public-api"],"summary":"Get Freshness Profile","operationId":"get_freshness_profile_api_v1_freshness_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreshnessProfileAPIResponse"}}}}}}},"/api/v1/realtime-context":{"get":{"tags":["public-api"],"summary":"Get Realtime Context","operationId":"get_realtime_context_api_v1_realtime_context_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RealtimeContextAPIResponse"}}}}}}},"/api/v1/actionability-profile":{"get":{"tags":["public-api"],"summary":"Get Actionability Profile","operationId":"get_actionability_profile_api_v1_actionability_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionabilityProfileAPIResponse"}}}}}}},"/api/v1/intent-profile":{"get":{"tags":["public-api"],"summary":"Get Intent Profile","operationId":"get_intent_profile_api_v1_intent_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentProfileAPIResponse"}}}}}}},"/api/v1/offer-profile":{"get":{"tags":["public-api"],"summary":"Get Offer Profile","operationId":"get_offer_profile_api_v1_offer_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferProfileAPIResponse"}}}}}}},"/api/v1/booking-event":{"post":{"tags":["public-api"],"summary":"Post Booking Event Legacy","operationId":"post_booking_event_legacy_api_v1_booking_event_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEventIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEventAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/strategy-recommendation":{"get":{"tags":["public-api"],"summary":"Get Strategy Recommendation Legacy","operationId":"get_strategy_recommendation_legacy_api_v1_strategy_recommendation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyRecommendationAPIResponse"}}}}}}},"/api/v1/revenue-attribution":{"get":{"tags":["public-api"],"summary":"Get Revenue Attribution Legacy","operationId":"get_revenue_attribution_legacy_api_v1_revenue_attribution_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevenueAttributionAPIResponse"}}}}}}},"/api/v1/ai-cost-summary":{"get":{"tags":["public-api","AI Cost"],"summary":"Get Ai Cost Summary","description":"Phase 7-C — provider 別 calls/tokens/cost/ROI を返す診断 API。","operationId":"get_ai_cost_summary_api_v1_ai_cost_summary_get","parameters":[{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Window Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AICostSummaryAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/conversion-profile":{"get":{"tags":["public-api"],"summary":"Get Conversion Profile","operationId":"get_conversion_profile_api_v1_conversion_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionProfileAPIResponse"}}}}}}},"/api/v1/aio-test-prompt":{"get":{"tags":["public-api"],"summary":"Get Aio Test Prompt","operationId":"get_aio_test_prompt_api_v1_aio_test_prompt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestPromptResponse"}}}}}}},"/api/v1/aio-test-result":{"post":{"tags":["public-api"],"summary":"Post Aio Test Result","operationId":"post_aio_test_result_api_v1_aio_test_result_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-recommendation-log":{"post":{"tags":["public-api"],"summary":"Post Ai Recommendation Log","operationId":"post_ai_recommendation_log_api_v1_ai_recommendation_log_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationLogIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationLogCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-recommendation-replay":{"post":{"tags":["public-api"],"summary":"Post Ai Recommendation Replay","operationId":"post_ai_recommendation_replay_api_v1_ai_recommendation_replay_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationReplayIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationReplayCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/aio-test-results":{"get":{"tags":["public-api"],"summary":"List Aio Test Results","operationId":"list_aio_test_results_api_v1_aio_test_results_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOTestResultsListAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/aio-performance":{"get":{"tags":["public-api"],"summary":"Get Aio Performance","operationId":"get_aio_performance_api_v1_analytics_aio_performance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsAIOPerformanceResponse"}}}}}}},"/api/v1/analytics/bookings":{"get":{"tags":["public-api"],"summary":"Legacy Booking Analytics","operationId":"legacy_booking_analytics_api_v1_analytics_bookings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingsAnalyticsAPIResponse"}}}}}}},"/api/v1/analytics/clicks":{"get":{"tags":["public-api"],"summary":"Legacy Click Analytics","operationId":"legacy_click_analytics_api_v1_analytics_clicks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClicksAnalyticsAPIResponse"}}}}}}},"/api/v1/analytics/click-attribution":{"get":{"tags":["public-api"],"summary":"Legacy Click Attribution Analytics","operationId":"legacy_click_attribution_analytics_api_v1_analytics_click_attribution_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickAttributionAnalyticsAPIResponse"}}}}}}},"/api/v1/analytics/crawlers":{"get":{"tags":["public-api"],"summary":"Legacy Crawler Analytics","operationId":"legacy_crawler_analytics_api_v1_analytics_crawlers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlersAnalyticsAPIResponse"}}}}}}},"/api/v1/analytics/crawler-detail":{"get":{"tags":["public-api"],"summary":"Legacy Crawler Detail Analytics","operationId":"legacy_crawler_detail_analytics_api_v1_analytics_crawler_detail_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlerDetailAnalyticsAPIResponse"}}}}}}},"/api/v1/analytics/aio-score":{"get":{"tags":["public-api"],"summary":"Legacy Aio Score","operationId":"legacy_aio_score_api_v1_analytics_aio_score_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIOScoreAPIResponse"}}}}}}},"/api/v1/approval-queue/{approval_id}/approve":{"post":{"tags":["public-api"],"summary":"Approve Global","operationId":"approve_global_api_v1_approval_queue__approval_id__approve_post","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"integer","title":"Approval Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approval-queue/{approval_id}/reject":{"post":{"tags":["public-api"],"summary":"Reject Global","operationId":"reject_global_api_v1_approval_queue__approval_id__reject_post","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"integer","title":"Approval Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approval-queue/{approval_id}/needs-review":{"post":{"tags":["public-api"],"summary":"Needs Review Global","operationId":"needs_review_global_api_v1_approval_queue__approval_id__needs_review_post","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"integer","title":"Approval Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auto-apply/evaluate":{"post":{"tags":["public-api"],"summary":"Evaluate Auto Apply","operationId":"evaluate_auto_apply_api_v1_auto_apply_evaluate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoApplyEvaluateIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoApplyEvaluateAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approval-queue/{approval_id}/dry-run":{"post":{"tags":["public-api"],"summary":"Dry Run Approval Queue","operationId":"dry_run_approval_queue_api_v1_approval_queue__approval_id__dry_run_post","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"integer","title":"Approval Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DryRunAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/approval-queue/{approval_id}/apply":{"post":{"tags":["public-api"],"summary":"Apply Approval Queue Publish","operationId":"apply_approval_queue_publish_api_v1_approval_queue__approval_id__apply_post","parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"integer","title":"Approval Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyPublishingAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/publish-history/{publish_id}/rollback":{"post":{"tags":["public-api"],"summary":"Rollback Publish Global","operationId":"rollback_publish_global_api_v1_publish_history__publish_id__rollback_post","parameters":[{"name":"publish_id","in":"path","required":true,"schema":{"type":"integer","title":"Publish Id"}},{"name":"restaurant_id","in":"query","required":true,"schema":{"type":"integer","description":"Must match publish_history.restaurant_id","title":"Restaurant Id"},"description":"Must match publish_history.restaurant_id"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackEnvelope"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/replay/analyze-impact":{"post":{"tags":["public-api"],"summary":"Replay Analyze Impact","operationId":"replay_analyze_impact_api_v1_replay_analyze_impact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayAnalyzeImpactIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayAnalyzeImpactAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/replay-monitoring/jobs/{job_id}/run":{"post":{"tags":["public-api"],"summary":"Run Replay Monitoring Job Global","operationId":"run_replay_monitoring_job_global_api_v1_replay_monitoring_jobs__job_id__run_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}},{"name":"restaurant_id","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringRunAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/replay-monitoring/run-due":{"post":{"tags":["public-api"],"summary":"Run Replay Monitoring Due","operationId":"run_replay_monitoring_due_api_v1_replay_monitoring_run_due_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayMonitoringRunDueAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/expectation-gap-alerts/{alert_id}/acknowledge":{"post":{"tags":["public-api"],"summary":"Acknowledge Expectation Gap Alert","operationId":"acknowledge_expectation_gap_alert_api_v1_expectation_gap_alerts__alert_id__acknowledge_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GapAlertActionBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GapAlertActionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/expectation-gap-alerts/{alert_id}/resolve":{"post":{"tags":["public-api"],"summary":"Resolve Expectation Gap Alert","operationId":"resolve_expectation_gap_alert_api_v1_expectation_gap_alerts__alert_id__resolve_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GapAlertActionBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GapAlertActionAPIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo/{locale}/{area_slug}/{theme_slug}":{"get":{"tags":["public-geo"],"summary":"Public Multilingual Geo Page","operationId":"public_multilingual_geo_page_geo__locale___area_slug___theme_slug__get","parameters":[{"name":"locale","in":"path","required":true,"schema":{"type":"string","title":"Locale"}},{"name":"area_slug","in":"path","required":true,"schema":{"type":"string","title":"Area Slug"}},{"name":"theme_slug","in":"path","required":true,"schema":{"type":"string","title":"Theme Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/store-brain":{"get":{"tags":["store-brain"],"summary":"Get Store Brain","operationId":"get_store_brain_api_v1_restaurants__restaurant_id__store_brain_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/generate-store-brain":{"post":{"tags":["store-brain"],"summary":"Generate Store Brain","operationId":"generate_store_brain_api_v1_restaurants__restaurant_id__generate_store_brain_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/refresh-store-brain":{"post":{"tags":["store-brain"],"summary":"Refresh Store Brain","description":"Regenerate Store Brain using latest reality/citation/observation/verified signals.","operationId":"refresh_store_brain_api_v1_restaurants__restaurant_id__refresh_store_brain_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/store-brain-health":{"get":{"tags":["store-brain"],"summary":"Store Brain Health","operationId":"store_brain_health_api_v1_restaurants__restaurant_id__store_brain_health_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/restaurants/{restaurant_id}/store-brain-fact-enrichment":{"post":{"tags":["store-brain"],"summary":"Store Brain Fact Enrichment","description":"Apply owner-confirmed facts (no inference) to Store Brain.","operationId":"store_brain_fact_enrichment_api_v1_restaurants__restaurant_id__store_brain_fact_enrichment_post","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/track/click":{"get":{"tags":["tracking"],"summary":"Track Click","description":"Log attribution then redirect to reservation (RESERVATION_REDIRECT_BASE_URL or reservation_url).","operationId":"track_click_track_click_get","parameters":[{"name":"restaurant","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Restaurant primary key (legacy alias)","title":"Restaurant"},"description":"Restaurant primary key (legacy alias)"},{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Restaurant primary key","title":"Restaurant Id"},"description":"Restaurant primary key"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"AI source: chatgpt, gemini, perplexity, claude, grok, unknown","title":"Source"},"description":"AI source: chatgpt, gemini, perplexity, claude, grok, unknown"},{"name":"sid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Attribution session UUID (optional; minted when omitted)","title":"Sid"},"description":"Attribution session UUID (optional; minted when omitted)"},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Same as sid","title":"Session Id"},"description":"Same as sid"},{"name":"dest","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional funnel label (passed through on redirect query)","title":"Dest"},"description":"Optional funnel label (passed through on redirect query)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["tracking"],"summary":"Track Click","description":"Log attribution then redirect to reservation (RESERVATION_REDIRECT_BASE_URL or reservation_url).","operationId":"track_click_track_click_get","parameters":[{"name":"restaurant","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Restaurant primary key (legacy alias)","title":"Restaurant"},"description":"Restaurant primary key (legacy alias)"},{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Restaurant primary key","title":"Restaurant Id"},"description":"Restaurant primary key"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"AI source: chatgpt, gemini, perplexity, claude, grok, unknown","title":"Source"},"description":"AI source: chatgpt, gemini, perplexity, claude, grok, unknown"},{"name":"sid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Attribution session UUID (optional; minted when omitted)","title":"Sid"},"description":"Attribution session UUID (optional; minted when omitted)"},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Same as sid","title":"Session Id"},"description":"Same as sid"},{"name":"dest","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional funnel label (passed through on redirect query)","title":"Dest"},"description":"Optional funnel label (passed through on redirect query)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/track/reservation-complete":{"get":{"tags":["tracking"],"summary":"Track Reservation Complete","description":"予約完了ページ用: sid を保持したURLで呼び出すと booking_events に実予約を記録し、\nセッションに基づき click_logs を自動紐付けする。","operationId":"track_reservation_complete_track_reservation_complete_get","parameters":[{"name":"restaurant_id","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Restaurant Id"}},{"name":"sid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Session UUID from /track/click (must match prior click)","title":"Sid"},"description":"Session UUID from /track/click (must match prior click)"},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Alias of sid","title":"Session Id"},"description":"Alias of sid"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional AI bucket; if omitted, inferred from the linked click_log row","title":"Source"},"description":"Optional AI bucket; if omitted, inferred from the linked click_log row"},{"name":"amount_estimate","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Amount Estimate"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"204 (no body) or gif (1x1 tracking pixel)","default":"204","title":"Format"},"description":"204 (no body) or gif (1x1 tracking pixel)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/debug/gemini-test":{"get":{"tags":["debug"],"summary":"Gemini Test","description":"Load local sample image, call Gemini, return JSON (no DB writes).","operationId":"gemini_test_debug_gemini_test_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"tags":["aio-discovery"],"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/ai-sitemap.xml":{"get":{"tags":["aio-discovery"],"summary":"Ai Sitemap Xml","operationId":"ai_sitemap_xml_ai_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/robots.txt":{"get":{"tags":["aio-discovery"],"summary":"Robots Txt","operationId":"robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/sitemap-inbound.xml":{"get":{"tags":["aio-discovery"],"summary":"Sitemap Inbound Index","operationId":"sitemap_inbound_index_sitemap_inbound_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap-inbound-en.xml":{"get":{"tags":["aio-discovery"],"summary":"Sitemap Inbound En","operationId":"sitemap_inbound_en_sitemap_inbound_en_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap-inbound-zh.xml":{"get":{"tags":["aio-discovery"],"summary":"Sitemap Inbound Zh","operationId":"sitemap_inbound_zh_sitemap_inbound_zh_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap-inbound-ko.xml":{"get":{"tags":["aio-discovery"],"summary":"Sitemap Inbound Ko","operationId":"sitemap_inbound_ko_sitemap_inbound_ko_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/inbound-discovery.json":{"get":{"tags":["aio-discovery"],"summary":"Inbound Discovery Manifest Route","operationId":"inbound_discovery_manifest_route_inbound_discovery_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap.xml":{"get":{"tags":["aio-discovery"],"summary":"Sitemap Xml","description":"Legacy HTML-oriented sitemap (menu + recommendation).","operationId":"sitemap_xml_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/restaurants/{restaurant_id}/ai":{"get":{"tags":["aio-discovery"],"summary":"Restaurant Ai Landing","operationId":"restaurant_ai_landing_restaurants__restaurant_id__ai_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/situations/{slug}":{"get":{"tags":["ai-publishing-pages"],"summary":"Ai Situation Landing","operationId":"ai_situation_landing_ai_situations__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo/{area_slug}/{theme_slug}":{"get":{"tags":["ai-publishing-pages"],"summary":"Geo Entity Cluster Page","operationId":"geo_entity_cluster_page_geo__area_slug___theme_slug__get","parameters":[{"name":"area_slug","in":"path","required":true,"schema":{"type":"string","title":"Area Slug"}},{"name":"theme_slug","in":"path","required":true,"schema":{"type":"string","title":"Theme Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/health":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Health","operationId":"ai_replay_health_api_v1_ai_replay_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/log":{"post":{"tags":["AI Replay"],"summary":"Create Replay Log","operationId":"create_replay_log_api_v1_ai_replay_log_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIReplayCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIReplayResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/summary":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Summary","operationId":"ai_replay_summary_api_v1_ai_replay_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/dashboard":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Dashboard","operationId":"ai_replay_dashboard_api_v1_ai_replay_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/suggested-queries":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Suggested Queries","operationId":"ai_replay_suggested_queries_api_v1_ai_replay_suggested_queries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/run-batch":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Batch","description":"既存契約維持: ChatGPT 全 suggested queries 一括実行（後方互換）。\n\nPhase 7-B Step 1.2 — 内部実装は `run_provider_replay_batch(\"chatgpt\")` の薄ラッパに統合。\n新 provider 別 batch は `/run-batch/{provider}` を使用。","operationId":"ai_replay_run_batch_api_v1_ai_replay_run_batch_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/providers":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Providers","operationId":"ai_replay_providers_api_v1_ai_replay_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/debug/gemini-models":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Debug Gemini Models","description":"Phase 7-B Step 3.1 — Gemini API key で実際に見える model 一覧を返す診断 endpoint。\n\n`NotFound` 等のモデル不可視問題のトラブルシューティング用。本 endpoint は\n`genai.list_models()` を直接コールし、SDK が返す全 model の name / display_name /\ninput/output_token_limit / supported_generation_methods を JSON で露出する。","operationId":"ai_replay_debug_gemini_models_api_v1_ai_replay_debug_gemini_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/run-openai":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Openai","description":"Phase 7-B Step 1.1/1.2 — ChatGPT 単発実行（後方互換ルート）。\n\n既存戻り値スキーマを保持しつつ、内部は ``run_provider_replay(\"chatgpt\")`` の薄ラッパ。\n保存先: AIRecommendationReplay (Engine 参照) + ReplayMonitoringResult (Monitoring 参照)\n        + AIReplayLog (cohort scan 後方互換) の 3 テーブル。","operationId":"ai_replay_run_openai_api_v1_ai_replay_run_openai_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/run-chatgpt":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Chatgpt","description":"Phase 7-B Step 1.2 — ChatGPT 単発実行（`/run-openai` のエイリアス、provider 名統一）。","operationId":"ai_replay_run_chatgpt_api_v1_ai_replay_run_chatgpt_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run-claude":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Claude","description":"Phase 7-B Step 1.2 — Claude 単発実行。\n\n現状 Anthropic API 接続は Step 2 で実装予定のため、`ClaudeProvider` は mock 応答を返すが、\n保存経路 (AIRecommendationReplay + ReplayMonitoringResult + AIReplayLog) は実 LLM と同一。","operationId":"ai_replay_run_claude_api_v1_ai_replay_run_claude_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run-gemini":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Gemini","description":"Phase 7-B Step 1.2 — Gemini 単発実行（live 化は Step 3 予定、現状 mock）。","operationId":"ai_replay_run_gemini_api_v1_ai_replay_run_gemini_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run-perplexity":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Perplexity","description":"Phase 7-B Step 1.2 — Perplexity 単発実行（live 化は Step 4 予定、現状 mock）。","operationId":"ai_replay_run_perplexity_api_v1_ai_replay_run_perplexity_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run-grok":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Grok","description":"Phase 7-B Step 1.2 — Grok 単発実行（live 化は Step 5 予定、現状 mock）。","operationId":"ai_replay_run_grok_api_v1_ai_replay_run_grok_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run/{provider}":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Provider","description":"Phase 7-B Step 1.2 — 汎用 provider ad-hoc route。\n\n`provider` パスパラメータで 5 provider のいずれかを指定。\nbody: `{\"query\": \"...\", \"locale\": \"ja\", \"restaurant_id\": 1, \"replay_group\": \"...\"}` 全て optional。","operationId":"ai_replay_run_provider_api_v1_ai_replay_run__provider__post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","description":"chatgpt / claude / gemini / perplexity / grok","title":"Provider"},"description":"chatgpt / claude / gemini / perplexity / grok"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/run-batch/{provider}":{"post":{"tags":["AI Replay"],"summary":"Ai Replay Run Batch Provider","description":"Phase 7-B Step 1.2 — 指定 provider で `suggested_queries` を一括実行。","operationId":"ai_replay_run_batch_provider_api_v1_ai_replay_run_batch__provider__post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","description":"chatgpt / claude / gemini / perplexity / grok","title":"Provider"},"description":"chatgpt / claude / gemini / perplexity / grok"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-replay/gap-analysis":{"get":{"tags":["AI Replay"],"summary":"Ai Gap Analysis","operationId":"ai_gap_analysis_api_v1_ai_replay_gap_analysis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai-replay/competitors":{"get":{"tags":["AI Replay"],"summary":"Ai Replay Competitors","operationId":"ai_replay_competitors_api_v1_ai_replay_competitors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ai/situations/date":{"get":{"tags":["ai-surfaces"],"summary":"Ai Date Surface","operationId":"ai_date_surface_ai_situations_date_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/seed-queries":{"get":{"tags":["Core Query Ranking"],"summary":"Get Seed Queries","operationId":"get_seed_queries_api_v1_core_query_ranking_seed_queries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreQuerySeedResponse"}}}}}}},"/api/v1/core-query-ranking/run-daily":{"post":{"tags":["Core Query Ranking"],"summary":"Run Daily","operationId":"run_daily_api_v1_core_query_ranking_run_daily_post","parameters":[{"name":"providers","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"target providers; default focuses Gemini+ChatGPT","title":"Providers"},"description":"target providers; default focuses Gemini+ChatGPT"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreQueryRunDailyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/core-query-ranking/run-due":{"post":{"tags":["Core Query Ranking"],"summary":"Run Due","description":"Phase20-C — 即時応答 + バックグラウンドで full observation cycle。","operationId":"run_due_api_v1_core_query_ranking_run_due_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/run-observation-cycle":{"post":{"tags":["Core Query Ranking"],"summary":"Run Observation Cycle","description":"Phase20-C — 同期 full cycle（デバッグ/手動実行用）。","operationId":"run_observation_cycle_api_v1_core_query_ranking_run_observation_cycle_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/scheduler-status":{"get":{"tags":["Core Query Ranking"],"summary":"Scheduler Status","description":"Phase22.1 — Observation scheduler runtime status (UI-friendly).","operationId":"scheduler_status_api_v1_core_query_ranking_scheduler_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/migration-audit":{"get":{"tags":["Core Query Ranking"],"summary":"Migration Audit","description":"Phase22 — Missing table audit for Phase19–21 migrations.","operationId":"migration_audit_api_v1_core_query_ranking_migration_audit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/summary":{"get":{"tags":["Core Query Ranking"],"summary":"Summary","operationId":"summary_api_v1_core_query_ranking_summary_get","parameters":[{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Window Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreQuerySummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/core-query-ranking/query-discovery/run":{"post":{"tags":["Core Query Ranking"],"summary":"Run Query Discovery","description":"Phase19-B — クエリ発見パイプライン（候補化のみ、Universe自動追加なし）。","operationId":"run_query_discovery_api_v1_core_query_ranking_query_discovery_run_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/core-query-ranking/query-discovery/{candidate_id}/approve":{"post":{"tags":["Core Query Ranking"],"summary":"Approve Query Discovery","description":"Phase19-B — 人間承認後に Query Universe へマージ。","operationId":"approve_query_discovery_api_v1_core_query_ranking_query_discovery__candidate_id__approve_post","parameters":[{"name":"candidate_id","in":"path","required":true,"schema":{"type":"integer","title":"Candidate Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/core-query-ranking/query-discovery/{candidate_id}/reject":{"post":{"tags":["Core Query Ranking"],"summary":"Reject Query Discovery","operationId":"reject_query_discovery_api_v1_core_query_ranking_query_discovery__candidate_id__reject_post","parameters":[{"name":"candidate_id","in":"path","required":true,"schema":{"type":"integer","title":"Candidate Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/executive-briefings/{briefing_id}/approve":{"post":{"tags":["Executive Briefings"],"summary":"Approve Executive Briefing","description":"Human First — approve pending briefing before LINE send.","operationId":"approve_executive_briefing_api_v1_executive_briefings__briefing_id__approve_post","parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"integer","title":"Briefing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/executive-briefings/{briefing_id}/send":{"post":{"tags":["Executive Briefings"],"summary":"Send Executive Briefing","description":"Send briefing via LINE — only when status is approved.","operationId":"send_executive_briefing_api_v1_executive_briefings__briefing_id__send_post","parameters":[{"name":"briefing_id","in":"path","required":true,"schema":{"type":"integer","title":"Briefing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/executive-briefings/delivery/run-morning":{"post":{"tags":["Executive Briefings"],"summary":"Run Morning Executive Delivery","description":"Cron hook — send approved daily/weekly briefings.","operationId":"run_morning_executive_delivery_api_v1_executive_briefings_delivery_run_morning_post","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Ignore 09:00 JST window","default":false,"title":"Force"},"description":"Ignore 09:00 JST window"},{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/executive-briefings/delivery/run-evening":{"post":{"tags":["Executive Briefings"],"summary":"Run Evening Executive Delivery","description":"Cron hook — generate task digest + send approved evening briefings.","operationId":"run_evening_executive_delivery_api_v1_executive_briefings_delivery_run_evening_post","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Ignore 20:00 JST window","default":false,"title":"Force"},"description":"Ignore 20:00 JST window"},{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/executive-briefings/config/recipients":{"get":{"tags":["Executive Briefings"],"summary":"List Line Recipients","operationId":"list_line_recipients_api_v1_executive_briefings_config_recipients_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/production/status":{"get":{"tags":["Production Activation"],"summary":"Production Status","operationId":"production_status_api_v1_production_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/production/activate":{"post":{"tags":["Production Activation"],"summary":"Production Activate","description":"Start 30-day experiment window (idempotent).","operationId":"production_activate_api_v1_production_activate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/production/capture-reality":{"post":{"tags":["Production Activation"],"summary":"Capture Reality Snapshot","operationId":"capture_reality_snapshot_api_v1_production_capture_reality_post","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verified-content/generate":{"post":{"tags":["Verified Content Factory"],"summary":"Generate Verified Content","operationId":"generate_verified_content_api_v1_verified_content_generate_post","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verified-content/generate-fact-enriched":{"post":{"tags":["Verified Content Factory"],"summary":"Generate Verified Content Fact Enriched","operationId":"generate_verified_content_fact_enriched_api_v1_verified_content_generate_fact_enriched_post","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/verified-content/{candidate_id}/approve":{"post":{"tags":["Verified Content Factory"],"summary":"Approve Verified Content","operationId":"approve_verified_content_api_v1_verified_content__candidate_id__approve_post","parameters":[{"name":"candidate_id","in":"path","required":true,"schema":{"type":"integer","title":"Candidate Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/recommendation-surfaces/recommend/{verified_content_id}":{"get":{"tags":["Recommendation Surfaces"],"summary":"Recommend Surfaces","operationId":"recommend_surfaces_api_v1_recommendation_surfaces_recommend__verified_content_id__get","parameters":[{"name":"verified_content_id","in":"path","required":true,"schema":{"type":"integer","title":"Verified Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/recommendation-surfaces/publish":{"post":{"tags":["Recommendation Surfaces"],"summary":"Publish To Surface","operationId":"publish_to_surface_api_v1_recommendation_surfaces_publish_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/home":{"get":{"tags":["Dashboard API"],"summary":"Api Dashboard Home","operationId":"api_dashboard_home_api_v1_dashboard_home_get","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/improvement":{"get":{"tags":["Dashboard API"],"summary":"Api Dashboard Improvement","operationId":"api_dashboard_improvement_api_v1_dashboard_improvement_get","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/market":{"get":{"tags":["Dashboard API"],"summary":"Api Dashboard Market","operationId":"api_dashboard_market_api_v1_dashboard_market_get","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}},{"name":"subtab","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtab"}},{"name":"citation_provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"all","title":"Citation Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/settings":{"get":{"tags":["Dashboard API"],"summary":"Api Dashboard Settings","operationId":"api_dashboard_settings_api_v1_dashboard_settings_get","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/fact-lock/cleanup/metrics":{"get":{"tags":["Fact Lock"],"summary":"Fact Lock Cleanup Metrics","operationId":"fact_lock_cleanup_metrics_api_v1_fact_lock_cleanup_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/fact-lock/cleanup":{"post":{"tags":["Fact Lock"],"summary":"Run Fact Lock Cleanup","operationId":"run_fact_lock_cleanup_api_v1_fact_lock_cleanup_post","parameters":[{"name":"restaurant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"}},{"name":"dry_run","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Dry Run"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/dashboard-ui":{"get":{"tags":["owner-dashboard-ui"],"summary":"Owner Dashboard Ui","description":"Phase 8-A/8-B — オーナー向け 1 分ダッシュボード (HTML)。\n\nQuery parameters:\n    mode: ``real`` (default) | ``mixed``\n        - real  : Real Production Data Only モード。Seed/Test/Replay-probe を除外。\n        - mixed : 検証データを含めた合計値。サイト内 A/B 比較用。","operationId":"owner_dashboard_ui_restaurants__restaurant_id__dashboard_ui_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/execution-tasks/{task_id}/approve":{"post":{"tags":["owner-dashboard-ui"],"summary":"Approve Execution Task","operationId":"approve_execution_task_restaurants__restaurant_id__execution_tasks__task_id__approve_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"integer","title":"Task Id"}},{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/execution-tasks/{task_id}/start":{"post":{"tags":["owner-dashboard-ui"],"summary":"Start Execution Task","operationId":"start_execution_task_restaurants__restaurant_id__execution_tasks__task_id__start_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"integer","title":"Task Id"}},{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/execution-tasks/{task_id}/complete":{"post":{"tags":["owner-dashboard-ui"],"summary":"Complete Execution Task","operationId":"complete_execution_task_restaurants__restaurant_id__execution_tasks__task_id__complete_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"integer","title":"Task Id"}},{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/execution-tasks/{task_id}/register-publish":{"post":{"tags":["owner-dashboard-ui"],"summary":"Register Evidence Publish","operationId":"register_evidence_publish_restaurants__restaurant_id__execution_tasks__task_id__register_publish_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"integer","title":"Task Id"}},{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}},{"name":"publish_location","in":"query","required":false,"schema":{"type":"string","default":"FAQページ","title":"Publish Location"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restaurants/{restaurant_id}/production-health":{"get":{"tags":["owner-dashboard-ui"],"summary":"Production Health Json","description":"Phase22 — Production hardening health JSON.","operationId":"production_health_json_restaurants__restaurant_id__production_health_get","parameters":[{"name":"restaurant_id","in":"path","required":true,"schema":{"type":"integer","title":"Restaurant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/google380da9e9c87f83c0.html":{"get":{"summary":"Google Verification","operationId":"google_verification_google380da9e9c87f83c0_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AIAutoOptimizationAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIAutoOptimizationData"}},"type":"object","required":["data"],"title":"AIAutoOptimizationAPIResponse"},"AIAutoOptimizationData":{"properties":{"optimization_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Optimization Score","default":0.0},"top_performing_patterns":{"items":{"$ref":"#/components/schemas/TopPerformingPatternItem"},"type":"array","title":"Top Performing Patterns"},"recommended_surface_updates":{"items":{"$ref":"#/components/schemas/RecommendedSurfaceUpdateItem"},"type":"array","title":"Recommended Surface Updates"},"recommended_citation_updates":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Recommended Citation Updates","description":"Per-assistant citation snippet angles aligned with observed replay wins."},"recommended_faq_updates":{"items":{"$ref":"#/components/schemas/RecommendedFaqUpdateItem"},"type":"array","title":"Recommended Faq Updates"},"recommended_geo_updates":{"items":{"$ref":"#/components/schemas/RecommendedGeoUpdateItem"},"type":"array","title":"Recommended Geo Updates"},"realtime_optimization":{"$ref":"#/components/schemas/RealtimeOptimizationBlock"},"ai_specific_optimizations":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Ai Specific Optimizations"},"auto_learning_summary":{"additionalProperties":true,"type":"object","title":"Auto Learning Summary"}},"type":"object","title":"AIAutoOptimizationData"},"AICompetitorIntelligenceOperatorEngineCompact":{"properties":{"gap_summary":{"type":"string","title":"Gap Summary","default":""},"total_competitor_mentions":{"type":"integer","minimum":0.0,"title":"Total Competitor Mentions","default":0},"competitor_insights":{"items":{"$ref":"#/components/schemas/CompetitorIntelRow"},"type":"array","title":"Competitor Insights"},"top_competitors":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Competitors","description":"Legacy shape {name, appearances} retained for backwards compatibility"},"sources_used":{"items":{"type":"string"},"type":"array","title":"Sources Used"},"replay_log_data_block":{"additionalProperties":true,"type":"object","title":"Replay Log Data Block","description":"Phase 7-A — Real Replay Log + CompetitorEntity derived insights (competitor_insights / rows_scanned / entities_scanned / self_mention_rate / sources_used)"},"competitor_quality_report":{"additionalProperties":true,"type":"object","title":"Competitor Quality Report","description":"Phase 7-D — {candidates_scanned, accepted_count, rejected_count, rejection_breakdown, acceptance_rate, min_appearance_count, likelihood_override_threshold}"}},"type":"object","title":"AICompetitorIntelligenceOperatorEngineCompact","description":"Recommendation-log + benchmark aware competitor narratives (structured rows)."},"AICostSummaryAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AICostSummaryData"}},"type":"object","required":["data"],"title":"AICostSummaryAPIResponse"},"AICostSummaryBucket":{"properties":{"calls":{"type":"integer","minimum":0.0,"title":"Calls","default":0},"live_calls":{"type":"integer","minimum":0.0,"title":"Live Calls","default":0},"input_tokens":{"type":"integer","minimum":0.0,"title":"Input Tokens","default":0},"output_tokens":{"type":"integer","minimum":0.0,"title":"Output Tokens","default":0},"total_tokens":{"type":"integer","minimum":0.0,"title":"Total Tokens","default":0},"cost_usd":{"type":"number","minimum":0.0,"title":"Cost Usd","default":0.0},"models":{"additionalProperties":{"type":"integer"},"type":"object","title":"Models"},"revenue_yen":{"type":"integer","minimum":0.0,"title":"Revenue Yen","default":0},"roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Roi"},"roi_band":{"type":"string","title":"Roi Band","default":"insufficient_cost_data"}},"additionalProperties":true,"type":"object","title":"AICostSummaryBucket"},"AICostSummaryData":{"properties":{"by_source":{"additionalProperties":{"$ref":"#/components/schemas/AICostSummaryBucket"},"type":"object","title":"By Source"},"total_calls":{"type":"integer","minimum":0.0,"title":"Total Calls","default":0},"total_live_calls":{"type":"integer","minimum":0.0,"title":"Total Live Calls","default":0},"total_input_tokens":{"type":"integer","minimum":0.0,"title":"Total Input Tokens","default":0},"total_output_tokens":{"type":"integer","minimum":0.0,"title":"Total Output Tokens","default":0},"total_tokens":{"type":"integer","minimum":0.0,"title":"Total Tokens","default":0},"total_cost_usd":{"type":"number","minimum":0.0,"title":"Total Cost Usd","default":0.0},"total_cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Total Cost Yen Estimate","default":0},"overall_revenue":{"type":"integer","minimum":0.0,"title":"Overall Revenue","default":0},"overall_roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall Roi"},"overall_roi_band":{"type":"string","title":"Overall Roi Band","default":"insufficient_cost_data"},"currency":{"type":"string","title":"Currency","default":"USD"},"window_days":{"type":"integer","minimum":0.0,"title":"Window Days","default":30}},"additionalProperties":true,"type":"object","title":"AICostSummaryData"},"AIDecisionJourneyAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIDecisionJourneyData"}},"type":"object","required":["data"],"title":"AIDecisionJourneyAPIResponse"},"AIDecisionJourneyData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"lightweight":{"type":"boolean","title":"Lightweight","default":false},"decision_journey_paths":{"items":{"$ref":"#/components/schemas/DecisionJourneyPath"},"type":"array","title":"Decision Journey Paths"},"hesitation_points":{"items":{"$ref":"#/components/schemas/HesitationPoint"},"type":"array","title":"Hesitation Points"},"conversion_blockers":{"items":{"$ref":"#/components/schemas/ConversionBlocker"},"type":"array","title":"Conversion Blockers"},"reassurance_surfaces":{"items":{"$ref":"#/components/schemas/ReassuranceSurface"},"type":"array","title":"Reassurance Surfaces"},"booking_confidence_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Confidence Score"},"booking_confidence_factors":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Booking Confidence Factors"},"ai_followup_prediction":{"items":{"$ref":"#/components/schemas/AIFollowupPredictionItem"},"type":"array","title":"Ai Followup Prediction"}},"type":"object","required":["restaurant_id","decision_journey_paths","hesitation_points","conversion_blockers","reassurance_surfaces","booking_confidence_score","booking_confidence_factors","ai_followup_prediction"],"title":"AIDecisionJourneyData"},"AIFollowupPredictionItem":{"properties":{"after_query":{"type":"string","title":"After Query"},"likely_followups":{"items":{"type":"string"},"type":"array","title":"Likely Followups"},"recommended_preemptive_answer":{"type":"string","title":"Recommended Preemptive Answer"}},"type":"object","required":["after_query","likely_followups","recommended_preemptive_answer"],"title":"AIFollowupPredictionItem"},"AIGapAnalysisOperatorEngineCompact":{"properties":{"gap_summary":{"type":"string","title":"Gap Summary","default":""},"missing_signals":{"items":{"type":"string"},"type":"array","title":"Missing Signals"},"high_impact_gaps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"High Impact Gaps"},"estimated_visibility_loss":{"type":"string","title":"Estimated Visibility Loss","description":"low | medium | high heuristic from monitoring + benchmark + claims","default":"medium"},"recommended_actions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recommended Actions"},"top_signals":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Signals","description":"Legacy-compatible keyword hits when AIReplayLog cohort is sampled (often empty on restaurant path)"},"sources_used":{"items":{"type":"string"},"type":"array","title":"Sources Used","description":"Which subsystem slices influenced this bundle (audit / no extra queries)"},"replay_log_data_block":{"additionalProperties":true,"type":"object","title":"Replay Log Data Block","description":"Phase 7-A — Real Replay Log derived gap signals (missing_signals / high_impact_gaps / rows_scanned / mention_rate / citation_rate / sources_used)"}},"type":"object","title":"AIGapAnalysisOperatorEngineCompact","description":"Orchestration-path gap signals (replay console, claims, alignment, discovery) — rule-based MVP."},"AILanguageAnalysisAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AILanguageAnalysisData"}},"type":"object","required":["data"],"title":"AILanguageAnalysisAPIResponse"},"AILanguageAnalysisData":{"properties":{"most_common_phrases":{"items":{"$ref":"#/components/schemas/PhraseCountItem"},"type":"array","title":"Most Common Phrases"},"strongest_positive_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Positive Phrases"},"strongest_negative_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Negative Phrases"},"top_reason_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Reason Keywords"},"most_compared_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Most Compared Competitors"},"ai_personality_differences":{"additionalProperties":{"type":"string"},"type":"object","title":"Ai Personality Differences","description":"Per-AI heuristic style label, e.g. chatgpt -> 接待・品質重視"}},"type":"object","title":"AILanguageAnalysisData","description":"GET .../ai-language-analysis — text mining over stored AI replies."},"AIOActionItem":{"properties":{"type":{"type":"string","enum":["crawler","mention","click","reliability","overall"],"title":"Type"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"message":{"type":"string","title":"Message"}},"type":"object","required":["type","priority","message"],"title":"AIOActionItem"},"AIOActionsResponse":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/AIOActionItem"},"type":"array","title":"Actions","description":"Usually 4 items; 5th overall action when aio_score is low"}},"type":"object","required":["actions"],"title":"AIOActionsResponse"},"AIOReportAIAutoOptimizerInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"best_learning_pattern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Best Learning Pattern"},"highest_reflection_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Highest Reflection Ai"},"recommended_next_update":{"type":"string","title":"Recommended Next Update","description":"FAQ | citation_feed | geo_pages | recommendation_surfaces","default":""}},"type":"object","title":"AIOReportAIAutoOptimizerInsights"},"AIOReportAIDecisionJourneyInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"top_journey":{"type":"string","title":"Top Journey","default":""},"highest_impact_blocker":{"type":"string","title":"Highest Impact Blocker","default":""},"recommended_reassurance":{"type":"string","title":"Recommended Reassurance","default":""}},"type":"object","title":"AIOReportAIDecisionJourneyInsights"},"AIOReportAIGapFixInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"top_missing_factor":{"type":"string","title":"Top Missing Factor","default":""},"highest_impact_fix":{"type":"string","title":"Highest Impact Fix","default":""},"recommended_update_area":{"type":"string","title":"Recommended Update Area","default":""}},"type":"object","title":"AIOReportAIGapFixInsights"},"AIOReportAILanguageInsights":{"properties":{"title":{"type":"string","title":"Title","default":"AI Language Insights"},"summary_ja":{"type":"string","title":"Summary Ja","description":"JP narrative tying phrase stats and per-AI tone together.","default":""},"most_common_phrases":{"items":{"$ref":"#/components/schemas/PhraseCountItem"},"type":"array","title":"Most Common Phrases"},"strongest_positive_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Positive Phrases"},"strongest_negative_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Negative Phrases"},"top_reason_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Reason Keywords"},"most_compared_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Most Compared Competitors"},"ai_personality_differences":{"additionalProperties":{"type":"string"},"type":"object","title":"Ai Personality Differences"}},"type":"object","title":"AIOReportAILanguageInsights"},"AIOReportAIOptimizationRecommendations":{"properties":{"title":{"type":"string","title":"Title","default":"AI Optimization Recommendations"},"summary_ja":{"type":"string","title":"Summary Ja","description":"JP summary across assistants and signals.","default":""},"experience_feedback":{"$ref":"#/components/schemas/ExperienceFeedbackSummary","description":"Experience Feedback Engine snapshot (feeds alignment / recommendation reality)"},"expectation_alignment":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryData","description":"Expectation Alignment summary mirrored from operator bundle"},"recommendation_reality":{"$ref":"#/components/schemas/RecommendationRealityData","description":"Recommendation Reality snapshot (standalone convenience)"},"replay_monitoring":{"$ref":"#/components/schemas/ReplayMonitoringCompact","description":"Replay Monitoring aggregates for optimization heuristics"},"ai_search_console":{"$ref":"#/components/schemas/AISearchConsoleCompact","description":"AI Search Console-style metrics for optimization rules"},"claim_graph":{"$ref":"#/components/schemas/ClaimGraphCompact","description":"Claim Graph compact counts for optimizer"},"store_brain":{"$ref":"#/components/schemas/StoreBrainOperatorCompact","description":"Store Brain compact counts/text for optimizer"},"inbound_recommendation_os":{"$ref":"#/components/schemas/InboundRecommendationOSCompact","description":"Inbound OS bundle for optimizer heuristics"},"inbound_revenue_attribution":{"$ref":"#/components/schemas/InboundRevenueAttributionCompact","description":"Inbound revenue rollups mirrored from aio-report cached bundle"},"ai_gap_analysis_engine":{"$ref":"#/components/schemas/AIGapAnalysisOperatorEngineCompact","description":"Gap engine — mirrored from aio_report_service orchestration slices"},"ai_competitor_intelligence_engine":{"$ref":"#/components/schemas/AICompetitorIntelligenceOperatorEngineCompact","description":"Competitor intelligence rows — language insights + benchmark mix"},"optimization_execution_plan":{"$ref":"#/components/schemas/OptimizationExecutionPlanCompact","description":"Phase 5 — Autonomous Optimization execution plan mirrored into ai_optimization_recommendations"},"chatgpt":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Chatgpt"},"gemini":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Gemini"},"claude":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Claude"},"perplexity":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Perplexity"},"grok":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Grok"}},"type":"object","required":["expectation_alignment","recommendation_reality"],"title":"AIOReportAIOptimizationRecommendations"},"AIOReportAIPublishingHealthInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"risk":{"type":"string","title":"Risk","default":""},"recommended_fix":{"type":"string","title":"Recommended Fix","default":""}},"type":"object","title":"AIOReportAIPublishingHealthInsights"},"AIOReportAIPublishingInsights":{"properties":{"crawl_readiness":{"type":"string","title":"Crawl Readiness","default":""},"citation_strength":{"type":"string","title":"Citation Strength","default":""},"geo_entity_strength":{"type":"string","title":"Geo Entity Strength","default":""},"realtime_strength":{"type":"string","title":"Realtime Strength","default":""}},"type":"object","title":"AIOReportAIPublishingInsights"},"AIOReportAIReplayInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"best_performing_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Best Performing Ai"},"strongest_entity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Entity"},"realtime_effectiveness":{"type":"string","title":"Realtime Effectiveness","description":"coarse bucket: high | medium | low | unknown","default":""}},"type":"object","title":"AIOReportAIReplayInsights"},"AIOReportAIRevenueInsights":{"properties":{"title":{"type":"string","title":"Title","default":"AI Revenue Insights"},"strongest_sales_ai":{"anyOf":[{"$ref":"#/components/schemas/AIOReportInsightStrongestSales"},{"type":"null"}]},"highest_cvr_ai":{"anyOf":[{"$ref":"#/components/schemas/AIOReportInsightHighestCvr"},{"type":"null"}]},"best_revenue_efficiency_ai":{"anyOf":[{"$ref":"#/components/schemas/AIOReportInsightBestEfficiency"},{"type":"null"}]},"improvement_opportunity_ai":{"anyOf":[{"$ref":"#/components/schemas/AIOReportInsightImprovement"},{"type":"null"}]}},"type":"object","title":"AIOReportAIRevenueInsights"},"AIOReportAISurfaceInsights":{"properties":{"top_strength":{"type":"string","title":"Top Strength","default":""},"most_recommendable_situation":{"type":"string","title":"Most Recommendable Situation","default":""},"top_ai_alignment":{"type":"string","title":"Top Ai Alignment","description":"推薦確率が最も高いモデルキー","default":""},"weakest_area":{"type":"string","title":"Weakest Area","default":""},"strongest_user_pain":{"type":"string","title":"Strongest User Pain","description":"ペイン→アンサー表面エンジン上で最も説明力が高い悩みカテゴリ","default":""},"strongest_answer_surface":{"type":"string","title":"Strongest Answer Surface","description":"その悩みに対する answer-first の代表一文（引用短文ベース）","default":""}},"type":"object","title":"AIOReportAISurfaceInsights","description":"Narrative insights derived from surfaces."},"AIOReportAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIOReportDataPayload"}},"type":"object","required":["data"],"title":"AIOReportAPIResponse"},"AIOReportActionItem":{"properties":{"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"title":{"type":"string","title":"Title"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["priority","title","reason"],"title":"AIOReportActionItem"},"AIOReportConversion":{"properties":{"conversion_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Conversion Score"},"conversion_summary":{"type":"string","title":"Conversion Summary"},"estimated_booking_intent":{"type":"string","enum":["high","medium","low"],"title":"Estimated Booking Intent"},"tracking_quality":{"type":"string","enum":["no_click_tracking","partial","good"],"title":"Tracking Quality"},"clicks_last_7d":{"type":"integer","minimum":0.0,"title":"Clicks Last 7D"},"clicks_last_30d":{"type":"integer","minimum":0.0,"title":"Clicks Last 30D"},"clicks_today":{"type":"integer","minimum":0.0,"title":"Clicks Today","default":0},"booking_count":{"type":"integer","minimum":0.0,"title":"Booking Count","default":0},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales","default":0},"booking_conversion_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Conversion Rate","default":0.0},"today_bookings":{"type":"integer","minimum":0.0,"title":"Today Bookings","default":0},"last_7d_bookings":{"type":"integer","minimum":0.0,"title":"Last 7D Bookings","default":0},"recommended_conversion_actions":{"items":{"$ref":"#/components/schemas/AIOReportActionItem"},"type":"array","title":"Recommended Conversion Actions","description":"Top remediation steps for linking clicks to bookings"}},"type":"object","required":["conversion_score","conversion_summary","estimated_booking_intent","tracking_quality","clicks_last_7d","clicks_last_30d"],"title":"AIOReportConversion"},"AIOReportDailyAIActionPlan":{"properties":{"title":{"type":"string","title":"Title","default":"Daily AI Action Plan"},"date":{"type":"string","title":"Date"},"headline":{"type":"string","title":"Headline"},"priority_actions":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Priority Actions"},"quick_wins":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Quick Wins"},"do_not_do":{"items":{"type":"string"},"type":"array","title":"Do Not Do"},"follow_up_checks":{"items":{"type":"string"},"type":"array","title":"Follow Up Checks"}},"type":"object","required":["date","headline"],"title":"AIOReportDailyAIActionPlan"},"AIOReportDataPayload":{"properties":{"headline":{"type":"string","title":"Headline"},"summary":{"$ref":"#/components/schemas/AIOReportSummaryBlock"},"signals":{"$ref":"#/components/schemas/AIOReportSignals"},"today_menu_status":{"$ref":"#/components/schemas/AIOReportTodayMenu"},"actions":{"items":{"$ref":"#/components/schemas/AIOReportActionItem"},"type":"array","title":"Actions"},"conversion":{"$ref":"#/components/schemas/AIOReportConversion"},"revenue_attribution":{"$ref":"#/components/schemas/AIOReportRevenueAttribution"},"ai_revenue_insights":{"$ref":"#/components/schemas/AIOReportAIRevenueInsights"},"why_ai_recommends_you":{"$ref":"#/components/schemas/AIOReportWhyAIRecommendsYou"},"ai_language_insights":{"$ref":"#/components/schemas/AIOReportAILanguageInsights"},"ai_optimization_recommendations":{"$ref":"#/components/schemas/AIOReportAIOptimizationRecommendations"},"daily_ai_action_plan":{"$ref":"#/components/schemas/AIOReportDailyAIActionPlan"},"ai_recommendation_surface_insights":{"$ref":"#/components/schemas/AIOReportAISurfaceInsights","description":"Derived from AI Recommendation Surface Engine (pseudo probability & surfaces)"},"ai_publishing_insights":{"$ref":"#/components/schemas/AIOReportAIPublishingInsights","description":"AI-readable public layer (pages, feeds, GEO) strength text"},"ai_publishing_health_insights":{"$ref":"#/components/schemas/AIOReportAIPublishingHealthInsights","description":"Automated crawl readiness audit narrative"},"ai_gap_fix_insights":{"$ref":"#/components/schemas/AIOReportAIGapFixInsights","description":"AI recommendation gap fixer — highest-impact remediation hints"},"ai_replay_insights":{"$ref":"#/components/schemas/AIOReportAIReplayInsights","description":"Learned from stored full AI replies (replay logs), not probability estimates"},"ai_auto_optimizer_insights":{"$ref":"#/components/schemas/AIOReportAIAutoOptimizerInsights","description":"Auto optimizer narrative — learns replay wins into surface/citation/FAQ/GEO actions"},"query_intent_graph_insights":{"$ref":"#/components/schemas/AIOReportQueryIntentGraphInsights","description":"Multi-intent graph — strongest composite clusters and next surface hints"},"ai_decision_journey_insights":{"$ref":"#/components/schemas/AIOReportAIDecisionJourneyInsights","description":"Intent journey — hesitation hotspots and reassurance priorities"},"trust_verification_insights":{"$ref":"#/components/schemas/AIOReportTrustVerificationInsights","description":"Trust layer — headline only for aio-report narrative"},"experience_feedback":{"$ref":"#/components/schemas/ExperienceFeedbackSummary","description":"Experience Feedback Engine — post-visit structured summary"},"expectation_alignment":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryData","description":"Expectation Alignment Engine summary (same envelope as expectation-alignment-summary API)"},"recommendation_reality":{"$ref":"#/components/schemas/RecommendationRealityData","description":"Recommendation Reality Score — duplicated at root for dashboard parity with expectation_alignment"},"replay_monitoring":{"$ref":"#/components/schemas/ReplayMonitoringCompact","description":"Replay Monitoring — provider / mention / trend sidecar from monitoring results"},"ai_search_console":{"$ref":"#/components/schemas/AISearchConsoleCompact","description":"AI Search Console — composite index + benchmark delta from existing services"},"claim_graph":{"$ref":"#/components/schemas/ClaimGraphCompact","description":"Claim Graph — compact counts mirrored from claim_graph_service"},"store_brain":{"$ref":"#/components/schemas/StoreBrainOperatorCompact","description":"Store Brain — compact operator-facing slice"},"inbound_recommendation_os":{"$ref":"#/components/schemas/InboundRecommendationOSCompact","description":"AI Inbound Recommendation OS — mirrored from inbound_optimization_service"},"inbound_revenue_attribution":{"$ref":"#/components/schemas/InboundRevenueAttributionCompact","description":"Inbound revenue attribution rollups layered next to revenue_attribution"},"ai_gap_analysis_engine":{"$ref":"#/components/schemas/AIGapAnalysisOperatorEngineCompact","description":"AI Gap Analysis engine bundle from single ingest path"},"ai_competitor_intelligence_engine":{"$ref":"#/components/schemas/AICompetitorIntelligenceOperatorEngineCompact","description":"AI Competitor Intelligence rows from recommendation language + benchmarks"},"optimization_execution_plan":{"$ref":"#/components/schemas/OptimizationExecutionPlanCompact","description":"Phase 5 — Autonomous Optimization execution plan synthesized from existing engine slices"},"system_architecture_insights":{"$ref":"#/components/schemas/AIOReportSystemArchitectureInsights","description":"Architecture / stability hints for long-running operations"},"strategy_recommendation":{"$ref":"#/components/schemas/AIOReportStrategyRecommendation"}},"type":"object","required":["headline","summary","signals","today_menu_status","actions","conversion","revenue_attribution","ai_revenue_insights","why_ai_recommends_you","ai_language_insights","ai_optimization_recommendations","daily_ai_action_plan","expectation_alignment","recommendation_reality","strategy_recommendation"],"title":"AIOReportDataPayload"},"AIOReportInsightBestEfficiency":{"properties":{"source":{"type":"string","title":"Source"},"label":{"type":"string","title":"Label"},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click"}},"type":"object","required":["source","label","revenue_per_click"],"title":"AIOReportInsightBestEfficiency"},"AIOReportInsightHighestCvr":{"properties":{"source":{"type":"string","title":"Source"},"label":{"type":"string","title":"Label"},"cvr":{"type":"number","minimum":0.0,"title":"Cvr"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations"}},"type":"object","required":["source","label","cvr","clicks","reservations"],"title":"AIOReportInsightHighestCvr"},"AIOReportInsightImprovement":{"properties":{"source":{"type":"string","title":"Source"},"label":{"type":"string","title":"Label"},"reason_ja":{"type":"string","title":"Reason Ja"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"}},"type":"object","required":["source","label","reason_ja","clicks"],"title":"AIOReportInsightImprovement"},"AIOReportInsightStrongestSales":{"properties":{"source":{"type":"string","title":"Source"},"label":{"type":"string","title":"Label"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"}},"type":"object","required":["source","label","estimated_sales"],"title":"AIOReportInsightStrongestSales"},"AIOReportQueryIntentGraphInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"strongest_cluster":{"type":"string","title":"Strongest Cluster","default":""},"recommended_next_surface":{"type":"string","title":"Recommended Next Surface","default":""}},"type":"object","title":"AIOReportQueryIntentGraphInsights"},"AIOReportRevenueAttribution":{"properties":{"total_estimated_sales":{"type":"integer","minimum":0.0,"title":"Total Estimated Sales"},"total_bookings":{"type":"integer","minimum":0.0,"title":"Total Bookings"},"by_source":{"additionalProperties":{"$ref":"#/components/schemas/AIOReportRevenueBySource"},"type":"object","title":"By Source"},"top_performing_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Performing Source"},"top_revenue_contributor_ai":{"anyOf":[{"$ref":"#/components/schemas/TopRevenueContributorAI"},{"type":"null"}]},"revenue_summary":{"type":"string","title":"Revenue Summary"},"overall_revenue":{"type":"integer","minimum":0.0,"title":"Overall Revenue","default":0},"overall_cost_usd":{"type":"number","minimum":0.0,"title":"Overall Cost Usd","default":0.0},"overall_cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Overall Cost Yen Estimate","default":0},"overall_roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall Roi"},"overall_roi_band":{"type":"string","title":"Overall Roi Band","default":"insufficient_cost_data"},"revenue_per_recommendation":{"type":"integer","minimum":0.0,"title":"Revenue Per Recommendation","default":0},"revenue_per_booking":{"type":"integer","minimum":0.0,"title":"Revenue Per Booking","default":0},"ai_provider_cost":{"additionalProperties":true,"type":"object","title":"Ai Provider Cost"},"roi_by_source":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Roi By Source"},"top_roi_contributor_ai":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Top Roi Contributor Ai"}},"additionalProperties":true,"type":"object","required":["total_estimated_sales","total_bookings","revenue_summary"],"title":"AIOReportRevenueAttribution","description":"Phase 7-C: add-only ROI fields with `extra='allow'`."},"AIOReportRevenueBySource":{"properties":{"bookings":{"type":"integer","minimum":0.0,"title":"Bookings"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"booking_conversion_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Conversion Rate"},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations","default":0},"visits":{"type":"integer","minimum":0.0,"title":"Visits","default":0},"inquiries":{"type":"integer","minimum":0.0,"title":"Inquiries","default":0}},"type":"object","required":["bookings","estimated_sales","clicks","booking_conversion_rate","revenue_per_click"],"title":"AIOReportRevenueBySource"},"AIOReportSignals":{"properties":{"crawler":{"$ref":"#/components/schemas/AIOReportSignalsCrawler"},"mention":{"$ref":"#/components/schemas/AIOReportSignalsMention"},"click":{"$ref":"#/components/schemas/AIOReportSignalsClick"}},"type":"object","required":["crawler","mention","click"],"title":"AIOReportSignals"},"AIOReportSignalsClick":{"properties":{"total":{"type":"integer","title":"Total"},"today":{"type":"integer","title":"Today"},"by_source":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Source"}},"type":"object","required":["total","today","by_source"],"title":"AIOReportSignalsClick"},"AIOReportSignalsCrawler":{"properties":{"total":{"type":"integer","title":"Total"},"today":{"type":"integer","title":"Today"},"by_bot":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Bot"}},"type":"object","required":["total","today","by_bot"],"title":"AIOReportSignalsCrawler"},"AIOReportSignalsMention":{"properties":{"total_tests":{"type":"integer","title":"Total Tests"},"mentioned_tests":{"type":"integer","title":"Mentioned Tests"},"mention_rate":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Mention Rate","description":"Percent of AI tests that mentioned the venue"}},"type":"object","required":["total_tests","mentioned_tests","mention_rate"],"title":"AIOReportSignalsMention"},"AIOReportStrategyRecommendation":{"properties":{"priority_focus":{"type":"string","title":"Priority Focus"},"strategy_summary":{"type":"string","title":"Strategy Summary"},"recommendations":{"items":{"$ref":"#/components/schemas/StrategyRecommendationItem"},"type":"array","title":"Recommendations"},"next_best_actions":{"items":{"type":"string"},"type":"array","title":"Next Best Actions"}},"type":"object","required":["priority_focus","strategy_summary","recommendations","next_best_actions"],"title":"AIOReportStrategyRecommendation"},"AIOReportSummaryBlock":{"properties":{"level":{"type":"string","title":"Level","description":"Letter band from composite AIO score (S/A/B/C)"},"aio_score":{"type":"integer","title":"Aio Score","description":"Composite 0–100 from analytics/aio-score logic"},"reliability":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Reliability"}},"type":"object","required":["level","aio_score","reliability"],"title":"AIOReportSummaryBlock"},"AIOReportSystemArchitectureInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"top_risk":{"type":"string","title":"Top Risk","default":""},"recommended_refactor":{"type":"string","title":"Recommended Refactor","default":""}},"type":"object","title":"AIOReportSystemArchitectureInsights"},"AIOReportTodayMenu":{"properties":{"has_menu":{"type":"boolean","title":"Has Menu"},"item_count":{"type":"integer","title":"Item Count"},"top_items":{"items":{"type":"string"},"type":"array","title":"Top Items"}},"type":"object","required":["has_menu","item_count","top_items"],"title":"AIOReportTodayMenu"},"AIOReportTrustVerificationInsights":{"properties":{"headline":{"type":"string","title":"Headline","default":""},"highest_risk_claim":{"type":"string","title":"Highest Risk Claim","default":""},"recommended_staff_question":{"type":"string","title":"Recommended Staff Question","default":""},"safe_wording":{"type":"string","title":"Safe Wording","default":""}},"type":"object","title":"AIOReportTrustVerificationInsights"},"AIOReportWhyAIRecommendsYou":{"properties":{"title":{"type":"string","title":"Title","default":"Why AI Recommends You"},"summary_ja":{"type":"string","title":"Summary Ja","description":"Operator-facing JP summary of AI recommendation themes."},"mention_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Mention Rate"},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank","description":"Mean ordinal rank in numbered lists when detected."},"top_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Keywords"},"top_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Top Competitors"},"strongest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Ai"},"weakest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Weakest Ai"},"recommendation_trends":{"items":{"$ref":"#/components/schemas/RecommendationTrendItem"},"type":"array","title":"Recommendation Trends"}},"type":"object","required":["summary_ja","mention_rate"],"title":"AIOReportWhyAIRecommendsYou"},"AIOScoreAPIData":{"properties":{"aio_score":{"type":"integer","title":"Aio Score"},"crawler_score":{"type":"integer","title":"Crawler Score"},"mention_score":{"type":"integer","title":"Mention Score"},"click_score":{"type":"integer","title":"Click Score"},"reliability":{"type":"number","title":"Reliability"},"summary":{"$ref":"#/components/schemas/AIOSummaryBlock"}},"type":"object","required":["aio_score","crawler_score","mention_score","click_score","reliability","summary"],"title":"AIOScoreAPIData"},"AIOScoreAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIOScoreAPIData"}},"type":"object","required":["data"],"title":"AIOScoreAPIResponse"},"AIOSummaryBlock":{"properties":{"level":{"type":"string","title":"Level","description":"Letter band: S≥90, A≥70, B≥50, else C"},"headline":{"type":"string","title":"Headline"}},"type":"object","required":["level","headline"],"title":"AIOSummaryBlock"},"AIOTestPromptResponse":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"Main verification question for LLMs"},"queries":{"items":{"type":"string"},"type":"array","title":"Queries","description":"Additional short search-style prompts for manual checks"}},"type":"object","required":["prompt","queries"],"title":"AIOTestPromptResponse"},"AIOTestResultAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIOTestResultSavedData"}},"type":"object","required":["data"],"title":"AIOTestResultAPIResponse"},"AIOTestResultIn":{"properties":{"prompt":{"type":"string","minLength":1,"title":"Prompt"},"ai_name":{"type":"string","enum":["chatgpt","gemini","perplexity","claude","grok"],"title":"Ai Name"},"result_text":{"type":"string","minLength":1,"title":"Result Text"}},"type":"object","required":["prompt","ai_name","result_text"],"title":"AIOTestResultIn"},"AIOTestResultSavedData":{"properties":{"mentioned":{"type":"boolean","title":"Mentioned"}},"type":"object","required":["mentioned"],"title":"AIOTestResultSavedData"},"AIOTestResultSummaryItem":{"properties":{"ai_name":{"type":"string","title":"Ai Name"},"mentioned":{"type":"boolean","title":"Mentioned"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["ai_name","mentioned","created_at"],"title":"AIOTestResultSummaryItem"},"AIOTestResultsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/AIOTestResultSummaryItem"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"AIOTestResultsListAPIResponse"},"AIOptimizationByAI":{"properties":{"chatgpt":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Chatgpt"},"gemini":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Gemini"},"claude":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Claude"},"perplexity":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Perplexity"},"grok":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Grok"}},"type":"object","title":"AIOptimizationByAI","description":"GET /ai-optimization-report の data と同一形状（AI別に配列）。"},"AIOptimizationItem":{"properties":{"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"issue":{"type":"string","title":"Issue","description":"観測された課題（日本語）"},"recommendation":{"type":"string","title":"Recommendation","description":"推奨アクション（日本語）"},"expected_impact":{"type":"string","title":"Expected Impact","description":"期待効果の目安（日本語）"},"action_type":{"type":"string","enum":["menu_update","realtime_update","ambiance_content","pricing_content","reservation_cta","tracking_cta","store_brain_update","competitor_positioning","keyword_expansion","conversion_opt","general_content","gap_engine_actions","gap_visibility","competitor_counter","execution_plan_quick_win","execution_plan_project","execution_plan_feedback_loop","experience_feedback_triage","experience_feedback_intake","experience_feedback_retention","expectation_dimension_gap","reality_trust_component","reality_cultural_component"],"title":"Action Type","description":"UI・オートメーション向けの安定キー"}},"type":"object","required":["priority","issue","recommendation","expected_impact","action_type"],"title":"AIOptimizationItem"},"AIOptimizationReportAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIOptimizationByAI"}},"type":"object","required":["data"],"title":"AIOptimizationReportAPIResponse"},"AIProfileResponse":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"name":{"type":"string","title":"Name"},"area":{"type":"string","title":"Area"},"genre":{"type":"string","title":"Genre"},"data_endpoints":{"additionalProperties":{"type":"string"},"type":"object","title":"Data Endpoints"},"openapi_url":{"type":"string","title":"Openapi Url"},"reservation_url":{"type":"string","title":"Reservation Url"}},"type":"object","required":["restaurant_id","name","area","genre","data_endpoints","openapi_url","reservation_url"],"title":"AIProfileResponse"},"AIProviderInsightsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIProviderInsightsData"}},"type":"object","required":["data"],"title":"AIProviderInsightsAPIResponse"},"AIProviderInsightsData":{"properties":{"providers":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providers"}},"type":"object","title":"AIProviderInsightsData"},"AIPublishingHealthAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIPublishingHealthData"}},"type":"object","required":["data"],"title":"AIPublishingHealthAPIResponse"},"AIPublishingHealthData":{"properties":{"crawl_readiness_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Crawl Readiness Score"},"status":{"type":"string","enum":["healthy","degraded","critical"],"title":"Status","default":"degraded"},"checked_urls":{"type":"integer","minimum":0.0,"title":"Checked Urls","default":0},"ok_urls":{"type":"integer","minimum":0.0,"title":"Ok Urls","default":0},"warning_urls":{"type":"integer","minimum":0.0,"title":"Warning Urls","default":0},"broken_urls":{"type":"integer","minimum":0.0,"title":"Broken Urls","default":0},"json_ld_status":{"$ref":"#/components/schemas/JsonLdStatus"},"sitemap_status":{"$ref":"#/components/schemas/SitemapStatus"},"feed_status":{"$ref":"#/components/schemas/FeedStatus"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"recommended_fixes":{"items":{"type":"string"},"type":"array","title":"Recommended Fixes"},"url_checks":{"items":{"$ref":"#/components/schemas/UrlCheckItem"},"type":"array","title":"Url Checks","description":"Per-target URL status derived from internal validation"}},"type":"object","required":["crawl_readiness_score"],"title":"AIPublishingHealthData"},"AIRecommendationAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/RecommendationProfileData"}},"type":"object","required":["data"],"title":"AIRecommendationAPIResponse"},"AIRecommendationAnalysisAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationAnalysisData"}},"type":"object","required":["data"],"title":"AIRecommendationAnalysisAPIResponse"},"AIRecommendationAnalysisData":{"properties":{"mention_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Mention Rate","description":"Percent of captures where the venue was mentioned (0–100)."},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank","description":"Mean list rank when a numbered position was detected."},"top_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Keywords"},"top_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Top Competitors"},"strongest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Ai"},"weakest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Weakest Ai"},"recommendation_trends":{"items":{"$ref":"#/components/schemas/RecommendationTrendItem"},"type":"array","title":"Recommendation Trends"}},"type":"object","required":["mention_rate"],"title":"AIRecommendationAnalysisData","description":"GET /api/v1/restaurants/{id}/ai-recommendation-analysis aggregate payload."},"AIRecommendationFeedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationFeedData"}},"type":"object","required":["data"],"title":"AIRecommendationFeedAPIResponse"},"AIRecommendationFeedData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AIRecommendationFeedItem"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"page_size":{"type":"integer","minimum":1.0,"title":"Page Size"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["items","total","page","page_size"],"title":"AIRecommendationFeedData"},"AIRecommendationFeedItem":{"properties":{"id":{"type":"integer","title":"Id"},"ai_name":{"type":"string","title":"Ai Name"},"prompt":{"type":"string","title":"Prompt"},"response_text":{"type":"string","title":"Response Text"},"preview_text":{"type":"string","title":"Preview Text","description":"Truncated response for list cards (full text remains in response_text)."},"short_summary":{"type":"string","title":"Short Summary","description":"One-line JP summary for tables and tooltips."},"mentioned":{"type":"boolean","title":"Mentioned"},"rank_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank Position"},"recommendation_strength":{"type":"string","enum":["strong","medium","weak"],"title":"Recommendation Strength"},"reason_keywords":{"items":{"type":"string"},"type":"array","title":"Reason Keywords"},"competitors_mentioned":{"items":{"type":"string"},"type":"array","title":"Competitors Mentioned"},"captured_at":{"type":"string","format":"date-time","title":"Captured At"}},"type":"object","required":["id","ai_name","prompt","response_text","preview_text","short_summary","mentioned","recommendation_strength","captured_at"],"title":"AIRecommendationFeedItem","description":"One captured recommendation row for Replay / Explorer UIs."},"AIRecommendationGapReportAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationGapReportData"}},"type":"object","required":["data"],"title":"AIRecommendationGapReportAPIResponse"},"AIRecommendationGapReportData":{"properties":{"overall_gap_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Overall Gap Score"},"top_missing_factors":{"items":{"$ref":"#/components/schemas/GapMissingFactorItem"},"type":"array","title":"Top Missing Factors"},"recommended_content_blocks":{"items":{"$ref":"#/components/schemas/RecommendedContentBlockItem"},"type":"array","title":"Recommended Content Blocks"},"missing_geo_entities":{"items":{"type":"string"},"type":"array","title":"Missing Geo Entities"},"missing_user_pains":{"items":{"type":"string"},"type":"array","title":"Missing User Pains","description":"ペイン→アンサー表面で根拠が薄い悩みカテゴリ（ストア情報強化候補）"},"weak_ai_alignment":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Weak Ai Alignment"},"citation_gaps":{"items":{"type":"string"},"type":"array","title":"Citation Gaps"},"faq_gaps":{"items":{"$ref":"#/components/schemas/FaqGapItem"},"type":"array","title":"Faq Gaps"},"realtime_gaps":{"items":{"$ref":"#/components/schemas/RealtimeGapItem"},"type":"array","title":"Realtime Gaps"},"competitor_gaps":{"items":{"$ref":"#/components/schemas/CompetitorGapItem"},"type":"array","title":"Competitor Gaps"},"weak_intent_gaps":{"items":{"$ref":"#/components/schemas/WeakIntentGapItem"},"type":"array","title":"Weak Intent Gaps","description":"Query Intent Graph — weak intents vs strong clusters"},"journey_blockers":{"items":{"$ref":"#/components/schemas/JourneyBlockerGapItem"},"type":"array","title":"Journey Blockers","description":"AI Decision Journey — conversion blockers across paths"},"trust_verification_needed":{"items":{"type":"string"},"type":"array","title":"Trust Verification Needed","description":"Trust layer: staff confirmation prompts from gaps + blocker inventory"},"auto_draft_updates":{"items":{"$ref":"#/components/schemas/AutoDraftUpdateItem"},"type":"array","title":"Auto Draft Updates"}},"type":"object","required":["overall_gap_score"],"title":"AIRecommendationGapReportData"},"AIRecommendationLogCreatedData":{"properties":{"id":{"type":"integer","title":"Id"},"mentioned":{"type":"boolean","title":"Mentioned"},"rank_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank Position","description":"1 = top pick when detected in numbered list; null if unknown."},"sentiment_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Sentiment Score"},"recommendation_strength":{"type":"string","enum":["strong","medium","weak"],"title":"Recommendation Strength"},"reason_keywords":{"items":{"type":"string"},"type":"array","title":"Reason Keywords"},"competitors_mentioned":{"items":{"type":"string"},"type":"array","title":"Competitors Mentioned"}},"type":"object","required":["id","mentioned","sentiment_score","recommendation_strength","reason_keywords","competitors_mentioned"],"title":"AIRecommendationLogCreatedData"},"AIRecommendationLogCreatedResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationLogCreatedData"}},"type":"object","required":["data"],"title":"AIRecommendationLogCreatedResponse"},"AIRecommendationLogIn":{"properties":{"restaurant_id":{"type":"integer","minimum":1.0,"title":"Restaurant Id"},"ai_name":{"type":"string","maxLength":64,"title":"Ai Name","description":"chatgpt, gemini, perplexity, etc."},"prompt":{"type":"string","title":"Prompt","description":"User prompt sent to the assistant."},"response_text":{"type":"string","title":"Response Text","description":"Full raw assistant reply (stored verbatim)."}},"additionalProperties":false,"type":"object","required":["restaurant_id","ai_name","prompt","response_text"],"title":"AIRecommendationLogIn","description":"Request body for POST /api/v1/ai-recommendation-log."},"AIRecommendationReplayCreatedData":{"properties":{"id":{"type":"integer","title":"Id"},"recommended":{"type":"boolean","title":"Recommended"},"rank_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank Position"},"mentioned_entities":{"items":{"type":"string"},"type":"array","title":"Mentioned Entities"},"mentioned_keywords":{"items":{"type":"string"},"type":"array","title":"Mentioned Keywords"},"competitor_names":{"items":{"type":"string"},"type":"array","title":"Competitor Names"},"realtime_signals_detected":{"items":{"type":"string"},"type":"array","title":"Realtime Signals Detected"},"citation_snippet_detected":{"type":"boolean","title":"Citation Snippet Detected","default":false},"geo_entities_detected":{"items":{"type":"string"},"type":"array","title":"Geo Entities Detected"},"recommendation_style":{"type":"string","title":"Recommendation Style","default":""},"sentiment_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Sentiment Score","default":0.5},"replay_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Replay Group"}},"type":"object","required":["id","recommended"],"title":"AIRecommendationReplayCreatedData"},"AIRecommendationReplayCreatedResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationReplayCreatedData"}},"type":"object","required":["data"],"title":"AIRecommendationReplayCreatedResponse"},"AIRecommendationReplayIn":{"properties":{"restaurant_id":{"type":"integer","minimum":1.0,"title":"Restaurant Id"},"ai_name":{"type":"string","maxLength":64,"title":"Ai Name"},"prompt":{"type":"string","title":"Prompt","description":"User prompt sent to the assistant."},"response_text":{"type":"string","title":"Response Text","description":"Full raw assistant reply."},"replay_group":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Replay Group","description":"Optional bucket for controlled comparisons (e.g. musashikosugi_settai_2026_05)."}},"additionalProperties":false,"type":"object","required":["restaurant_id","ai_name","prompt","response_text"],"title":"AIRecommendationReplayIn","description":"POST /api/v1/ai-recommendation-replay body."},"AIRecommendationSurfaceAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIRecommendationSurfaceData"}},"type":"object","required":["data"],"title":"AIRecommendationSurfaceAPIResponse"},"AIRecommendationSurfaceData":{"properties":{"recommendation_surfaces":{"items":{"$ref":"#/components/schemas/RecommendationSurfaceItem"},"type":"array","title":"Recommendation Surfaces"},"competitor_differentiation":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Competitor Differentiation","description":"チェーン居酒屋・高級店などとの差別化ベクトル"},"realtime_recommendations":{"items":{"type":"string"},"type":"array","title":"Realtime Recommendations","description":"今日・今この瞬間を説明するフレーズ"},"citation_snippets":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Citation Snippets","description":"AI別に引用しやすい短文（キーは chatgpt など）"},"geo_entities":{"items":{"type":"string"},"type":"array","title":"Geo Entities","description":"GEO／実体認識向けエンティティ列"},"recommendation_probability":{"additionalProperties":{"type":"number"},"type":"object","title":"Recommendation Probability","description":"疑似スコア 0–1（モデル別）"},"probability_factors":{"$ref":"#/components/schemas/ProbabilityFactors"},"pain_point_answer_surfaces":{"items":{"$ref":"#/components/schemas/PainPointAnswerSurfaceItem"},"type":"array","title":"Pain Point Answer Surfaces","description":"ユーザーの悩み・問いから逆算した answer-first 表面（大量生成）"}},"type":"object","title":"AIRecommendationSurfaceData"},"AIReplayAnalysisAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AIReplayAnalysisData"}},"type":"object","required":["data"],"title":"AIReplayAnalysisAPIResponse"},"AIReplayAnalysisData":{"properties":{"recommendation_rate":{"$ref":"#/components/schemas/RateBreakdown"},"average_rank":{"$ref":"#/components/schemas/RankBreakdown"},"top_competitors":{"items":{"$ref":"#/components/schemas/NamedCountItem"},"type":"array","title":"Top Competitors"},"top_detected_entities":{"items":{"$ref":"#/components/schemas/NamedCountItem"},"type":"array","title":"Top Detected Entities"},"top_realtime_patterns":{"items":{"type":"string"},"type":"array","title":"Top Realtime Patterns"},"citation_reflection_rate":{"additionalProperties":{"type":"number"},"type":"object","title":"Citation Reflection Rate","description":"Per AI: fraction 0–1 of replays where published citation text appears mirrored in the reply."},"recommendation_style_analysis":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Recommendation Style Analysis"},"ranking_trends":{"items":{"$ref":"#/components/schemas/RankingTrendReplayItem"},"type":"array","title":"Ranking Trends"},"ai_drift_analysis":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Ai Drift Analysis"}},"type":"object","required":["recommendation_rate","average_rank","top_competitors","top_detected_entities","top_realtime_patterns","recommendation_style_analysis","ranking_trends","ai_drift_analysis"],"title":"AIReplayAnalysisData"},"AIReplayCreate":{"properties":{"provider":{"type":"string","title":"Provider"},"query":{"type":"string","title":"Query"},"response_text":{"type":"string","title":"Response Text"},"mentioned_restaurant":{"type":"boolean","title":"Mentioned Restaurant","default":false},"citation_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Citation Urls"},"rank_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank Position"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"}},"type":"object","required":["provider","query","response_text"],"title":"AIReplayCreate"},"AIReplayResponse":{"properties":{"provider":{"type":"string","title":"Provider"},"query":{"type":"string","title":"Query"},"response_text":{"type":"string","title":"Response Text"},"mentioned_restaurant":{"type":"boolean","title":"Mentioned Restaurant","default":false},"citation_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Citation Urls"},"rank_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank Position"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"id":{"type":"integer","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["provider","query","response_text","id","created_at"],"title":"AIReplayResponse"},"AISearchConsoleCompact":{"properties":{"visibility_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Visibility Score","description":"Mirrors composite ai_visibility_index for operator widgets","default":0.0},"overall_visibility_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Overall Visibility Score","description":"Mean visibility_score on raw monitoring replay rows","default":0.0},"ai_visibility_index":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Ai Visibility Index","default":0.0},"band":{"type":"string","title":"Band","description":"low | emerging | medium | ai_dominant","default":""},"benchmark_result":{"additionalProperties":true,"type":"object","title":"Benchmark Result","description":"compare_visibility struct (our_score, competitor_avg_score, visibility_delta, leader)"},"recommendation_presence":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Recommendation Presence","description":"recommendation_strength_index from ai_visibility_index components","default":0.0},"discoverability_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Discoverability Score","description":"query_coverage_score from ai_visibility_index components","default":0.0},"provider_visibility_breakdown":{"additionalProperties":true,"type":"object","title":"Provider Visibility Breakdown","description":"Reuse of visibility-summary provider rollup"},"weak_queries":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Weak Queries"}},"type":"object","title":"AISearchConsoleCompact","description":"Recommendation benchmark service bundle (built from replay_monitoring_results)."},"AITravelReplayRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"provider":{"type":"string","title":"Provider"},"locale":{"type":"string","title":"Locale"},"travel_query":{"type":"string","title":"Travel Query"},"ai_response":{"type":"string","title":"Ai Response"},"mentioned":{"type":"boolean","title":"Mentioned"},"ranking_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking Position"},"citation_used":{"type":"boolean","title":"Citation Used"},"tourist_safe_score":{"type":"number","title":"Tourist Safe Score"},"extracted_travel_claims":{"items":{"type":"string"},"type":"array","title":"Extracted Travel Claims"},"competitors":{"items":{"type":"string"},"type":"array","title":"Competitors"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","restaurant_id","provider","locale","travel_query","ai_response","mentioned","citation_used","tourist_safe_score","extracted_travel_claims","competitors"],"title":"AITravelReplayRecord"},"AIVisibilityIndexAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"AIVisibilityIndexAPIResponse","description":"GET /ai-visibility-index"},"ActionabilityProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ActionabilityProfileData"}},"type":"object","required":["data"],"title":"ActionabilityProfileAPIResponse"},"ActionabilityProfileData":{"properties":{"actionability_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Actionability Score"},"actionability_summary":{"type":"string","title":"Actionability Summary"},"actionability_reasons":{"items":{"$ref":"#/components/schemas/ActionabilityReasonItem"},"type":"array","title":"Actionability Reasons"},"recommended_user_intents":{"items":{"type":"string"},"type":"array","title":"Recommended User Intents"},"ai_action_hint":{"type":"string","title":"Ai Action Hint"}},"type":"object","required":["actionability_score","actionability_summary","actionability_reasons","recommended_user_intents","ai_action_hint"],"title":"ActionabilityProfileData"},"ActionabilityReasonItem":{"properties":{"type":{"type":"string","enum":["today_update","availability","seasonal","click_activity","freshness"],"title":"Type"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","title","description"],"title":"ActionabilityReasonItem"},"AlignmentSummaryClaimPayload":{"properties":{"claim_id":{"type":"integer","title":"Claim Id"},"claim_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Text"},"expectation_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expectation Score"},"experience_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Experience Score"},"gap_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gap Score"},"satisfaction_match_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Satisfaction Match Rate"},"recent_negative_feedback_count":{"type":"integer","title":"Recent Negative Feedback Count","default":0}},"type":"object","required":["claim_id"],"title":"AlignmentSummaryClaimPayload"},"AnalyticsAIOPerformanceResponse":{"properties":{"total_tests":{"type":"integer","title":"Total Tests"},"mentions":{"type":"integer","title":"Mentions"},"mention_rate":{"type":"number","title":"Mention Rate"},"by_ai":{"additionalProperties":{"type":"number"},"type":"object","title":"By Ai","description":"Mention rate per AI (chatgpt, gemini, perplexity, claude, grok)"}},"type":"object","required":["total_tests","mentions","mention_rate","by_ai"],"title":"AnalyticsAIOPerformanceResponse"},"ApplyPublishingAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/PublishApplyEnvelope"}},"type":"object","required":["data"],"title":"ApplyPublishingAPIResponse"},"ApprovalDecisionAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ApprovalDecisionPayload"}},"type":"object","required":["data"],"title":"ApprovalDecisionAPIResponse"},"ApprovalDecisionBody":{"properties":{"reviewer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Note"},"reviewed_by":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Reviewed By"}},"type":"object","title":"ApprovalDecisionBody"},"ApprovalDecisionPayload":{"properties":{"approval":{"$ref":"#/components/schemas/ApprovalQueueRecord"},"evidence":{"anyOf":[{"$ref":"#/components/schemas/EvidenceSourceRecord"},{"type":"null"}]},"claim":{"anyOf":[{"$ref":"#/components/schemas/RestaurantClaimRecord"},{"type":"null"}]},"risk_level":{"type":"string","title":"Risk Level"},"apply_policy":{"type":"string","title":"Apply Policy"},"safe_wording":{"type":"string","title":"Safe Wording"}},"type":"object","required":["approval","risk_level","apply_policy","safe_wording"],"title":"ApprovalDecisionPayload"},"ApprovalQueueCreate":{"properties":{"target_type":{"type":"string","maxLength":64,"title":"Target Type"},"target_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target Id"},"proposed_action":{"type":"string","maxLength":16,"title":"Proposed Action"},"proposed_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Text"},"before_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before Text"},"after_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After Text"},"risk_level":{"type":"string","maxLength":16,"title":"Risk Level","default":"medium"},"trust_status":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Trust Status"},"apply_policy":{"type":"string","maxLength":32,"title":"Apply Policy","default":"human_review_required"}},"type":"object","required":["target_type","proposed_action"],"title":"ApprovalQueueCreate"},"ApprovalQueueCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ApprovalQueueRecord"}},"type":"object","required":["data"],"title":"ApprovalQueueCreatedAPIResponse"},"ApprovalQueueItemUI":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"target_type":{"type":"string","title":"Target Type"},"target_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target Id"},"proposed_action":{"type":"string","title":"Proposed Action"},"proposed_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Text"},"before_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before Text"},"after_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After Text"},"risk_level":{"type":"string","title":"Risk Level"},"trust_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trust Status"},"apply_policy":{"type":"string","title":"Apply Policy"},"status":{"type":"string","title":"Status"},"reviewer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Note"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"claim_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Type"},"claim_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Text"},"safe_wording":{"type":"string","title":"Safe Wording","default":""},"evidence_source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Source Type"},"evidence_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Title"},"evidence_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Evidence Confidence"},"evidence_content_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Content Preview"}},"type":"object","required":["id","restaurant_id","target_type","proposed_action","risk_level","apply_policy","status","created_at","updated_at"],"title":"ApprovalQueueItemUI","description":"Flattened approval row for operator dashboards (list + cards)."},"ApprovalQueueListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ApprovalQueueItemUI"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ApprovalQueueListAPIResponse"},"ApprovalQueueRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"target_type":{"type":"string","title":"Target Type"},"target_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target Id"},"proposed_action":{"type":"string","title":"Proposed Action"},"proposed_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Text"},"before_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before Text"},"after_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After Text"},"risk_level":{"type":"string","title":"Risk Level"},"trust_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trust Status"},"apply_policy":{"type":"string","title":"Apply Policy"},"status":{"type":"string","title":"Status"},"reviewer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Note"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","restaurant_id","target_type","proposed_action","risk_level","apply_policy","status","created_at","updated_at"],"title":"ApprovalQueueRecord"},"AttachTouristClaimEvidenceBody":{"properties":{"evidence_source_id":{"type":"integer","minimum":1.0,"title":"Evidence Source Id"},"evidence_type":{"type":"string","enum":["image","menu","staff_confirmation","reservation_page","payment_terminal","review"],"title":"Evidence Type"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.8},"verified_by":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Verified By"}},"type":"object","required":["evidence_source_id","evidence_type"],"title":"AttachTouristClaimEvidenceBody"},"AutoApplyEvaluateAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AutoApplyEvaluateOut"}},"type":"object","required":["data"],"title":"AutoApplyEvaluateAPIResponse"},"AutoApplyEvaluateIn":{"properties":{"apply_policy":{"type":"string","maxLength":32,"title":"Apply Policy"},"risk_level":{"type":"string","maxLength":16,"title":"Risk Level"},"trust_status":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Trust Status"},"proposed_action":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Proposed Action"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"approval_queue.status when evaluating a queued row"}},"type":"object","required":["apply_policy","risk_level"],"title":"AutoApplyEvaluateIn","description":"Proposal snapshot for gate evaluation (mirrors approval fields + optional extras)."},"AutoApplyEvaluateOut":{"properties":{"allowed":{"type":"boolean","title":"Allowed"},"reason":{"type":"string","title":"Reason"},"apply_policy":{"type":"string","title":"Apply Policy"},"risk_level":{"type":"string","title":"Risk Level"}},"type":"object","required":["allowed","reason","apply_policy","risk_level"],"title":"AutoApplyEvaluateOut"},"AutoDraftUpdateItem":{"properties":{"destination":{"type":"string","enum":["citation_feed","faq","store_brain","geo_page"],"title":"Destination"},"content":{"title":"Content"}},"type":"object","required":["destination","content"],"title":"AutoDraftUpdateItem"},"AutonomousOptimizationRecommendedAction":{"properties":{"type":{"type":"string","title":"Type"},"priority":{"type":"string","title":"Priority"}},"type":"object","required":["type","priority"],"title":"AutonomousOptimizationRecommendedAction"},"AutonomousOptimizationSummaryAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/AutonomousOptimizationSummaryData"}},"type":"object","required":["data"],"title":"AutonomousOptimizationSummaryAPIResponse"},"AutonomousOptimizationSummaryData":{"properties":{"top_issues":{"items":{"type":"string"},"type":"array","title":"Top Issues"},"top_opportunities":{"items":{"type":"string"},"type":"array","title":"Top Opportunities"},"recommended_actions":{"items":{"$ref":"#/components/schemas/AutonomousOptimizationRecommendedAction"},"type":"array","title":"Recommended Actions"},"recommendation_reality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recommendation Reality Score"},"recommendation_reality_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommendation Reality Level"}},"type":"object","required":["top_issues","top_opportunities","recommended_actions"],"title":"AutonomousOptimizationSummaryData"},"AvailabilityItem":{"properties":{"name":{"type":"string","title":"Name"},"availability":{"type":"string","title":"Availability"}},"type":"object","required":["name","availability"],"title":"AvailabilityItem"},"AvailabilityResponse":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"items":{"items":{"$ref":"#/components/schemas/AvailabilityItem"},"type":"array","title":"Items"}},"type":"object","required":["restaurant_id","items"],"title":"AvailabilityResponse"},"BenchmarkSnapshotsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"BenchmarkSnapshotsListAPIResponse"},"BookingEventAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/BookingEventCreatedData"}},"type":"object","required":["data"],"title":"BookingEventAPIResponse"},"BookingEventCreatedData":{"properties":{"id":{"type":"integer","title":"Id"},"source":{"type":"string","title":"Source"},"event_type":{"type":"string","title":"Event Type"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["id","source","event_type"],"title":"BookingEventCreatedData"},"BookingEventIn":{"properties":{"source":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source","description":"AI source bucket; optional when sid matches a click (derived from click)"},"event_type":{"type":"string","enum":["booking","inquiry","walkin_estimate"],"title":"Event Type"},"customer_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Customer Count"},"amount_estimate":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Amount Estimate"},"related_click_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Related Click Id"},"sid":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Sid","description":"AI attribution session UUID from /track/click (sid=)"}},"type":"object","required":["event_type"],"title":"BookingEventIn"},"BookingSourceAgg":{"properties":{"bookings":{"type":"integer","minimum":0.0,"title":"Bookings"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"}},"type":"object","required":["bookings","estimated_sales"],"title":"BookingSourceAgg"},"BookingsAnalyticsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/BookingsAnalyticsData"}},"type":"object","required":["data"],"title":"BookingsAnalyticsAPIResponse"},"BookingsAnalyticsData":{"properties":{"total_bookings":{"type":"integer","minimum":0.0,"title":"Total Bookings"},"today_bookings":{"type":"integer","minimum":0.0,"title":"Today Bookings"},"last_7d_bookings":{"type":"integer","minimum":0.0,"title":"Last 7D Bookings"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"},"by_source":{"additionalProperties":{"$ref":"#/components/schemas/BookingSourceAgg"},"type":"object","title":"By Source"}},"type":"object","required":["total_bookings","today_bookings","last_7d_bookings","estimated_sales","by_source"],"title":"BookingsAnalyticsData"},"BootstrapInboundMonitoringPostBody":{"properties":{"frequency_minutes":{"type":"integer","maximum":10080.0,"minimum":30.0,"title":"Frequency Minutes","default":1440},"locales":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Locales","description":"Subset of locales to bootstrap; defaults to en,zh,ko"}},"type":"object","title":"BootstrapInboundMonitoringPostBody"},"BootstrapMonitoringCreateAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"BootstrapMonitoringCreateAPIResponse"},"BootstrapMonitoringPostBody":{"properties":{"max_queries":{"type":"integer","maximum":60.0,"minimum":8.0,"title":"Max Queries","default":42}},"type":"object","title":"BootstrapMonitoringPostBody"},"BootstrapQueriesAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"BootstrapQueriesAPIResponse"},"BootstrapRunAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"BootstrapRunAPIResponse"},"BootstrapRunPostBody":{"properties":{"max_job_runs":{"type":"integer","maximum":400.0,"minimum":1.0,"title":"Max Job Runs","default":120},"save_snapshots":{"type":"boolean","title":"Save Snapshots","default":true}},"type":"object","title":"BootstrapRunPostBody"},"CitationEvidenceGroup":{"properties":{"label":{"type":"string","title":"Label"},"items":{"items":{"type":"string"},"type":"array","title":"Items"}},"type":"object","required":["label"],"title":"CitationEvidenceGroup"},"CitationProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CitationProfileData"}},"type":"object","required":["data"],"title":"CitationProfileAPIResponse"},"CitationProfileData":{"properties":{"short_summary":{"type":"string","title":"Short Summary"},"recommended_phrases":{"items":{"type":"string"},"type":"array","title":"Recommended Phrases"},"evidence":{"items":{"$ref":"#/components/schemas/CitationEvidenceGroup"},"type":"array","title":"Evidence"},"recommended_questions":{"items":{"type":"string"},"type":"array","title":"Recommended Questions"},"ai_citation_text":{"type":"string","title":"Ai Citation Text"},"freshness_summary":{"type":"string","title":"Freshness Summary","description":"Store freshness narrative (from freshness_profile); helps AI cite up-to-date operations."},"timeliness_summary":{"type":"string","title":"Timeliness Summary","description":"Realtime timeliness narrative (from realtime_context); complements freshness for 'why today'."},"actionability_summary":{"type":"string","title":"Actionability Summary","description":"Whether AI can suggest a clear next-step visit / booking (from actionability_profile)."},"intent_summary":{"type":"string","title":"Intent Summary","description":"Which user intents align best (from intent_profile); aids AI matching explanations."},"offer_summary":{"type":"string","title":"Offer Summary","description":"Short offer headline for AI narration (from offer_profile)."}},"type":"object","required":["short_summary","recommended_phrases","evidence","recommended_questions","ai_citation_text","freshness_summary","timeliness_summary","actionability_summary","intent_summary","offer_summary"],"title":"CitationProfileData"},"ClaimConflictRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"claim_id":{"type":"integer","title":"Claim Id"},"conflict_reason":{"type":"string","title":"Conflict Reason"},"conflicting_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conflicting Source"},"severity":{"type":"string","title":"Severity"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","restaurant_id","claim_id","conflict_reason","severity","created_at"],"title":"ClaimConflictRecord"},"ClaimCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/RestaurantClaimRecord"}},"type":"object","required":["data"],"title":"ClaimCreatedAPIResponse"},"ClaimGraphAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ClaimGraphPayload"}},"type":"object","required":["data"],"title":"ClaimGraphAPIResponse"},"ClaimGraphCompact":{"properties":{"claim_count":{"type":"integer","minimum":0.0,"title":"Claim Count","default":0},"verified_claims":{"type":"integer","minimum":0.0,"title":"Verified Claims","description":"Count of verified trust_status claims","default":0},"inferred_claims":{"type":"integer","minimum":0.0,"title":"Inferred Claims","description":"Count where trust_status is inferred","default":0},"conflict_count":{"type":"integer","minimum":0.0,"title":"Conflict Count","default":0},"stale_claims":{"type":"integer","minimum":0.0,"title":"Stale Claims","description":"Count where trust_status is stale","default":0},"safe_summary":{"type":"string","title":"Safe Summary","description":"Human-readable graph safety line from Claim Graph Engine","default":""}},"type":"object","title":"ClaimGraphCompact","description":"Claim graph counts only (avoid full edges in dashboards)."},"ClaimGraphPayload":{"properties":{"claims":{"items":{"$ref":"#/components/schemas/RestaurantClaimRecord"},"type":"array","title":"Claims"},"verified_claims":{"items":{"$ref":"#/components/schemas/RestaurantClaimRecord"},"type":"array","title":"Verified Claims"},"risky_claims":{"items":{"$ref":"#/components/schemas/RestaurantClaimRecord"},"type":"array","title":"Risky Claims"},"missing_claims":{"items":{"$ref":"#/components/schemas/RestaurantClaimRecord"},"type":"array","title":"Missing Claims"},"conflicts":{"items":{"$ref":"#/components/schemas/ClaimConflictRecord"},"type":"array","title":"Conflicts"},"safe_summary":{"type":"string","title":"Safe Summary"}},"type":"object","required":["claims","verified_claims","risky_claims","missing_claims","conflicts","safe_summary"],"title":"ClaimGraphPayload"},"ClaimLearningHistoryListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ClaimLearningHistoryRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ClaimLearningHistoryListAPIResponse"},"ClaimLearningHistoryRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"claim_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Claim Id"},"replay_id":{"type":"integer","title":"Replay Id"},"publish_history_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Publish History Id"},"ai_provider":{"type":"string","title":"Ai Provider"},"recommendation_strength":{"type":"string","title":"Recommendation Strength"},"citation_used":{"type":"boolean","title":"Citation Used"},"citation_count":{"type":"integer","title":"Citation Count"},"realtime_used":{"type":"boolean","title":"Realtime Used"},"ranking_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking Position"},"confidence_before":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Before"},"confidence_after":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence After"},"confidence_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Delta"},"recommendation_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recommendation Delta"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"title":"Created At"}},"type":"object","required":["id","restaurant_id","replay_id","ai_provider","recommendation_strength","citation_used","citation_count","realtime_used","created_at"],"title":"ClaimLearningHistoryRecord"},"ClaimLearningSummaryAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ClaimLearningSummaryData"}},"type":"object","required":["data"],"title":"ClaimLearningSummaryAPIResponse"},"ClaimLearningSummaryData":{"properties":{"strongest_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Strongest Claims"},"weak_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Weak Claims"},"improving_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Improving Claims"},"declining_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Declining Claims"},"ai_provider_differences":{"additionalProperties":true,"type":"object","title":"Ai Provider Differences"}},"type":"object","title":"ClaimLearningSummaryData"},"ClaimsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/RestaurantClaimRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ClaimsListAPIResponse"},"ClickAttributionAnalyticsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ClickAttributionAnalyticsData"}},"type":"object","required":["data"],"title":"ClickAttributionAnalyticsAPIResponse"},"ClickAttributionAnalyticsData":{"properties":{"total_clicks":{"type":"integer","title":"Total Clicks","default":0},"today_clicks":{"type":"integer","title":"Today Clicks","default":0},"by_source":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Source"},"top_paths":{"additionalProperties":{"type":"integer"},"type":"object","title":"Top Paths"}},"type":"object","title":"ClickAttributionAnalyticsData"},"ClicksAnalyticsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ClicksAnalyticsData"}},"type":"object","required":["data"],"title":"ClicksAnalyticsAPIResponse"},"ClicksAnalyticsData":{"properties":{"total_clicks":{"type":"integer","title":"Total Clicks"},"today_clicks":{"type":"integer","title":"Today Clicks"},"by_source":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Source","description":"Non-zero counts by source: chatgpt, gemini, perplexity, claude, grok, unknown"}},"type":"object","required":["total_clicks","today_clicks","by_source"],"title":"ClicksAnalyticsData"},"CompetitiveGapAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"CompetitiveGapAPIResponse","description":"GET /competitive-gap"},"CompetitorGapItem":{"properties":{"theme":{"type":"string","title":"Theme"},"missing_reason":{"type":"string","title":"Missing Reason"}},"type":"object","required":["theme","missing_reason"],"title":"CompetitorGapItem"},"CompetitorIntelRow":{"properties":{"competitor_name":{"type":"string","title":"Competitor Name","default":""},"appearance_count":{"type":"integer","minimum":0.0,"title":"Appearance Count","default":0},"advantage_signals":{"items":{"type":"string"},"type":"array","title":"Advantage Signals"},"missing_signals":{"items":{"type":"string"},"type":"array","title":"Missing Signals"},"estimated_market_share":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Estimated Market Share","description":"Appearance-share heuristic within analysed cohort (not economic share)","default":0.0},"visibility_gap_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Visibility Gap Score","description":"Pressure score vs monitored visibility / benchmark deltas","default":0.0},"recommended_counter_actions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recommended Counter Actions"},"name":{"type":"string","title":"Name","description":"Phase 7-A — duplicated as competitor_name for legacy callers","default":""},"appearances":{"type":"integer","minimum":0.0,"title":"Appearances","description":"Phase 7-A — legacy alias of appearance_count","default":0},"promoted_to_entities":{"type":"boolean","title":"Promoted To Entities","description":"Phase 7-A — true when this competitor exists in competitor_entities (promote threshold cleared)","default":false},"promote_mention_count":{"type":"integer","minimum":0.0,"title":"Promote Mention Count","description":"Phase 7-A — `mention_count` aggregated on competitor_entities (promote audit)","default":0},"providers_observed":{"items":{"type":"string"},"type":"array","title":"Providers Observed","description":"Phase 7-A — Providers (chatgpt/perplexity/etc) under which this competitor was seen"},"store_likelihood_score":{"type":"integer","title":"Store Likelihood Score","description":"Phase 7-A.1 — Store-likelihood heuristic (positive=store-like, <=0 rejected)","default":0},"rejected_reason":{"type":"string","title":"Rejected Reason","description":"Phase 7-A.1 — Empty when accepted; otherwise menu_item / too_short / brand_stopword / low_likelihood","default":""},"accepted_reason":{"type":"string","title":"Accepted Reason","description":"Phase 7-D — Why this candidate was accepted (e.g. co_recommended_multiple_times / high_store_likelihood_score / promoted_to_competitor_entities)","default":""}},"type":"object","title":"CompetitorIntelRow"},"CompetitorMatrixAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"CompetitorMatrixAPIResponse","description":"GET /competitor-matrix"},"CompetitorStatItem":{"properties":{"name":{"type":"string","title":"Name"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["name","count"],"title":"CompetitorStatItem"},"CompetitorsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"CompetitorsListAPIResponse","description":"GET /competitors"},"ConversionBlocker":{"properties":{"blocker":{"type":"string","title":"Blocker"},"impact":{"type":"string","enum":["high","medium","low"],"title":"Impact"},"affected_journeys":{"items":{"type":"string"},"type":"array","title":"Affected Journeys"},"fix":{"type":"string","title":"Fix"}},"type":"object","required":["blocker","impact","affected_journeys","fix"],"title":"ConversionBlocker"},"ConversionFunnelAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ConversionFunnelData"}},"type":"object","required":["data"],"title":"ConversionFunnelAPIResponse"},"ConversionFunnelData":{"properties":{"by_source":{"additionalProperties":{"$ref":"#/components/schemas/ConversionFunnelStage"},"type":"object","title":"By Source"},"definitions":{"additionalProperties":{"type":"string"},"type":"object","title":"Definitions"}},"type":"object","required":["by_source","definitions"],"title":"ConversionFunnelData"},"ConversionFunnelStage":{"properties":{"impressions":{"type":"integer","minimum":0.0,"title":"Impressions"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations"},"revenue":{"type":"integer","minimum":0.0,"title":"Revenue"},"impression_to_click_rate":{"type":"number","minimum":0.0,"title":"Impression To Click Rate","description":"clicks / impressions (0 when impressions=0)"},"reservation_rate":{"type":"number","minimum":0.0,"title":"Reservation Rate","description":"reservations / clicks (0 when clicks=0)"}},"type":"object","required":["impressions","clicks","reservations","revenue","impression_to_click_rate","reservation_rate"],"title":"ConversionFunnelStage"},"ConversionProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ConversionProfileData"}},"type":"object","required":["data"],"title":"ConversionProfileAPIResponse"},"ConversionProfileData":{"properties":{"conversion_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Conversion Score"},"conversion_summary":{"type":"string","title":"Conversion Summary"},"booking_count":{"type":"integer","minimum":0.0,"title":"Booking Count","description":"All-time booking_events rows for this restaurant"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales","description":"Sum of amount_estimate across booking_events (missing treated as 0)"},"booking_conversion_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Conversion Rate","description":"booking_count / total click_logs rows (0 if no clicks)"},"top_performing_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Performing Source","description":"AI source maximizing revenue/clicks among qualified rows"},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click","description":"All-time estimated_sales / total_clicks (store-level RPM proxy)"},"signals":{"$ref":"#/components/schemas/ConversionSignals"},"by_source":{"additionalProperties":{"$ref":"#/components/schemas/ConversionSourceSnapshot"},"type":"object","title":"By Source"},"recommended_conversion_actions":{"items":{"$ref":"#/components/schemas/ConversionRecommendedAction"},"type":"array","title":"Recommended Conversion Actions"}},"type":"object","required":["conversion_score","conversion_summary","booking_count","estimated_sales","booking_conversion_rate","revenue_per_click","signals","by_source","recommended_conversion_actions"],"title":"ConversionProfileData"},"ConversionRecommendedAction":{"properties":{"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"title":{"type":"string","title":"Title"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["priority","title","reason"],"title":"ConversionRecommendedAction"},"ConversionSignals":{"properties":{"today_clicks":{"type":"integer","minimum":0.0,"title":"Today Clicks"},"last_7d_clicks":{"type":"integer","minimum":0.0,"title":"Last 7D Clicks"},"last_30d_clicks":{"type":"integer","minimum":0.0,"title":"Last 30D Clicks"},"estimated_booking_intent":{"type":"string","enum":["high","medium","low"],"title":"Estimated Booking Intent"},"tracking_quality":{"type":"string","enum":["no_click_tracking","partial","good"],"title":"Tracking Quality"}},"type":"object","required":["today_clicks","last_7d_clicks","last_30d_clicks","estimated_booking_intent","tracking_quality"],"title":"ConversionSignals"},"ConversionSourceSnapshot":{"properties":{"clicks_7d":{"type":"integer","minimum":0.0,"title":"Clicks 7D"},"clicks_30d":{"type":"integer","minimum":0.0,"title":"Clicks 30D"},"estimated_intent":{"type":"string","enum":["high","medium","low"],"title":"Estimated Intent"}},"type":"object","required":["clicks_7d","clicks_30d","estimated_intent"],"title":"ConversionSourceSnapshot"},"CoreQueryLatestQueryProviderRow":{"properties":{"query":{"type":"string","title":"Query"},"provider":{"type":"string","title":"Provider"},"mentioned":{"type":"boolean","title":"Mentioned","default":false},"ranking_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking Position"},"top3":{"type":"boolean","title":"Top3","default":false},"top1":{"type":"boolean","title":"Top1","default":false},"competitor_names":{"items":{"type":"string"},"type":"array","title":"Competitor Names"},"recommended_reasons":{"items":{"type":"string"},"type":"array","title":"Recommended Reasons"},"executed_at":{"type":"string","format":"date-time","title":"Executed At"}},"type":"object","required":["query","provider","executed_at"],"title":"CoreQueryLatestQueryProviderRow"},"CoreQueryRankingRow":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"provider":{"type":"string","title":"Provider"},"query":{"type":"string","title":"Query"},"ranking_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking Position"},"mentioned":{"type":"boolean","title":"Mentioned","default":false},"top3":{"type":"boolean","title":"Top3","default":false},"top1":{"type":"boolean","title":"Top1","default":false},"recommended_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Reason"},"recommended_reasons":{"items":{"type":"string"},"type":"array","title":"Recommended Reasons"},"competitor_names":{"items":{"type":"string"},"type":"array","title":"Competitor Names"},"response_hash":{"type":"string","title":"Response Hash"},"executed_at":{"type":"string","format":"date-time","title":"Executed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","restaurant_id","provider","query","response_hash","executed_at","created_at"],"title":"CoreQueryRankingRow"},"CoreQueryRunDailyData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"providers":{"items":{"type":"string"},"type":"array","title":"Providers"},"query_count":{"type":"integer","title":"Query Count","default":0},"saved_count":{"type":"integer","title":"Saved Count","default":0},"skipped_count":{"type":"integer","title":"Skipped Count","default":0},"failed_count":{"type":"integer","title":"Failed Count","default":0},"skipped":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Skipped"},"failures":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Failures"},"rows":{"items":{"$ref":"#/components/schemas/CoreQueryRankingRow"},"type":"array","title":"Rows"},"saved":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Saved"}},"type":"object","required":["restaurant_id"],"title":"CoreQueryRunDailyData"},"CoreQueryRunDailyResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CoreQueryRunDailyData"}},"type":"object","required":["data"],"title":"CoreQueryRunDailyResponse"},"CoreQuerySeedData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"query_count":{"type":"integer","title":"Query Count"},"queries":{"items":{"type":"string"},"type":"array","title":"Queries"}},"type":"object","required":["restaurant_id","query_count"],"title":"CoreQuerySeedData"},"CoreQuerySeedResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CoreQuerySeedData"}},"type":"object","required":["data"],"title":"CoreQuerySeedResponse"},"CoreQuerySummaryByProvider":{"properties":{"provider":{"type":"string","title":"Provider"},"captures":{"type":"integer","title":"Captures","default":0},"mention_rate":{"type":"number","title":"Mention Rate","default":0.0},"top3_rate":{"type":"number","title":"Top3 Rate","default":0.0},"top1_rate":{"type":"number","title":"Top1 Rate","default":0.0},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank"}},"type":"object","required":["provider"],"title":"CoreQuerySummaryByProvider"},"CoreQuerySummaryData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"window_days":{"type":"integer","title":"Window Days","default":30},"kpi":{"$ref":"#/components/schemas/CoreQuerySummaryKPI"},"by_provider":{"items":{"$ref":"#/components/schemas/CoreQuerySummaryByProvider"},"type":"array","title":"By Provider"},"latest_by_query_provider":{"items":{"$ref":"#/components/schemas/CoreQueryLatestQueryProviderRow"},"type":"array","title":"Latest By Query Provider"}},"type":"object","required":["restaurant_id","kpi"],"title":"CoreQuerySummaryData"},"CoreQuerySummaryKPI":{"properties":{"captures":{"type":"integer","title":"Captures","default":0},"mention_rate":{"type":"number","title":"Mention Rate","default":0.0},"top3_rate":{"type":"number","title":"Top3 Rate","default":0.0},"top1_rate":{"type":"number","title":"Top1 Rate","default":0.0},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank"}},"type":"object","title":"CoreQuerySummaryKPI"},"CoreQuerySummaryResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CoreQuerySummaryData"}},"type":"object","required":["data"],"title":"CoreQuerySummaryResponse"},"CrawlerDetailAnalyticsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CrawlerDetailAnalyticsData"}},"type":"object","required":["data"],"title":"CrawlerDetailAnalyticsAPIResponse"},"CrawlerDetailAnalyticsData":{"properties":{"total_crawls":{"type":"integer","title":"Total Crawls","default":0},"today_crawls":{"type":"integer","title":"Today Crawls","default":0},"by_bot":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Bot"},"by_endpoint":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Endpoint"},"unique_ips":{"type":"integer","title":"Unique Ips","default":0},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","title":"CrawlerDetailAnalyticsData"},"CrawlersAnalyticsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/CrawlersAnalyticsData"}},"type":"object","required":["data"],"title":"CrawlersAnalyticsAPIResponse"},"CrawlersAnalyticsData":{"properties":{"total_crawls":{"type":"integer","title":"Total Crawls"},"today_crawls":{"type":"integer","title":"Today Crawls"},"by_bot":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Bot","description":"Non-zero counts by bucket: chatgpt, google, perplexity, claude (empty object when none)"}},"type":"object","required":["total_crawls","today_crawls"],"title":"CrawlersAnalyticsData"},"CulturalExpectationGapRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"locale":{"type":"string","title":"Locale"},"claim_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Claim Id"},"expectation_type":{"type":"string","title":"Expectation Type"},"ai_expectation_score":{"type":"number","title":"Ai Expectation Score"},"actual_experience_score":{"type":"number","title":"Actual Experience Score"},"gap_score":{"type":"number","title":"Gap Score"},"gap_direction":{"type":"string","title":"Gap Direction"},"evidence_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Text"},"severity":{"type":"string","title":"Severity"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","restaurant_id","locale","expectation_type","ai_expectation_score","actual_experience_score","gap_score","gap_direction","severity"],"title":"CulturalExpectationGapRecord"},"CulturalExpectationGapsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/CulturalExpectationGapRecord"},"type":"array","title":"Data"},"meta":{"additionalProperties":true,"type":"object","title":"Meta"}},"type":"object","required":["data"],"title":"CulturalExpectationGapsAPIResponse"},"DailyAIActionPlanData":{"properties":{"date":{"type":"string","title":"Date","description":"このプランの基準日（ISO 日付）"},"headline":{"type":"string","title":"Headline","description":"今日の一言メッセージ"},"priority_actions":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Priority Actions"},"quick_wins":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Quick Wins","description":"すぐ終わる小タスク"},"do_not_do":{"items":{"type":"string"},"type":"array","title":"Do Not Do","description":"今日は控えた方がよいこと"},"follow_up_checks":{"items":{"type":"string"},"type":"array","title":"Follow Up Checks","description":"あとで確認する観点"}},"type":"object","required":["date","headline"],"title":"DailyAIActionPlanData"},"DailyAIActionsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/DailyAIActionPlanData"}},"type":"object","required":["data"],"title":"DailyAIActionsAPIResponse"},"DailyAIPriorityActionItem":{"properties":{"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"title":{"type":"string","title":"Title","description":"今日やること（短く）"},"why":{"type":"string","title":"Why","description":"なぜ今それをするか（やさしい日本語）"},"how_to_do":{"type":"string","title":"How To Do","description":"具体的なやり方"},"expected_effect":{"type":"string","title":"Expected Effect","description":"うれしい変化のイメージ"},"action_type":{"type":"string","enum":["menu_update","realtime_update","store_brain_update","photo_content","pricing_content","reservation_cta","language_rewrite","competitor_positioning"],"title":"Action Type"},"target_ai":{"type":"string","title":"Target Ai","description":"chatgpt など英小文字キー"},"estimated_minutes":{"type":"integer","maximum":180.0,"minimum":1.0,"title":"Estimated Minutes"}},"type":"object","required":["priority","title","why","how_to_do","expected_effect","action_type","target_ai","estimated_minutes"],"title":"DailyAIPriorityActionItem"},"DashboardAIAutoOptimizerCompact":{"properties":{"optimization_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Optimization Score","default":0.0},"top_learning":{"type":"string","title":"Top Learning","default":""},"top_update_target":{"type":"string","title":"Top Update Target","description":"Surface slice hint e.g. citation_feed | faq | geo | surfaces","default":""},"recommended_reassurance_updates":{"items":{"type":"string"},"type":"array","title":"Recommended Reassurance Updates","description":"AI Decision Journey で生成した安心短文（FAQ/citation に流用可）"}},"type":"object","title":"DashboardAIAutoOptimizerCompact"},"DashboardAIDecisionJourneyCompact":{"properties":{"top_journey":{"type":"string","title":"Top Journey","default":""},"booking_confidence_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Confidence Score","default":0.0},"top_blocker":{"type":"string","title":"Top Blocker","default":""},"next_reassurance":{"type":"string","title":"Next Reassurance","default":""}},"type":"object","title":"DashboardAIDecisionJourneyCompact"},"DashboardAIGapSummaryCompact":{"properties":{"overall_gap_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Overall Gap Score","default":0.0},"top_gap":{"type":"string","title":"Top Gap","default":""},"top_fix":{"type":"string","title":"Top Fix","default":""}},"type":"object","title":"DashboardAIGapSummaryCompact"},"DashboardAILanguageInsights":{"properties":{"summary_ja":{"type":"string","title":"Summary Ja","default":""},"most_common_phrases":{"items":{"$ref":"#/components/schemas/PhraseCountItem"},"type":"array","title":"Most Common Phrases"},"strongest_positive_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Positive Phrases"},"strongest_negative_phrases":{"items":{"$ref":"#/components/schemas/PhraseScoreItem"},"type":"array","title":"Strongest Negative Phrases"},"top_reason_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Reason Keywords"},"most_compared_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Most Compared Competitors"},"ai_personality_differences":{"additionalProperties":{"type":"string"},"type":"object","title":"Ai Personality Differences"}},"type":"object","title":"DashboardAILanguageInsights","description":"Dashboard-sized slice of language analysis + one-line summary."},"DashboardAIOptimizationRecommendations":{"properties":{"summary_ja":{"type":"string","title":"Summary Ja","description":"全体サマリ（キオスク向け短文）","default":""},"experience_feedback":{"$ref":"#/components/schemas/ExperienceFeedbackSummary","description":"Experience Feedback Engine snapshot for optimization context"},"expectation_alignment":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryData","description":"Expectation Alignment summary mirrored from aio-report bundle"},"recommendation_reality":{"$ref":"#/components/schemas/RecommendationRealityData","description":"Recommendation Reality snapshot mirrored from aio-report bundle"},"replay_monitoring":{"$ref":"#/components/schemas/ReplayMonitoringCompact","description":"Replay Monitoring aggregates mirrored from aio-report single path"},"ai_search_console":{"$ref":"#/components/schemas/AISearchConsoleCompact","description":"AI Search Console operator slice mirrored from aio-report bundle"},"claim_graph":{"$ref":"#/components/schemas/ClaimGraphCompact","description":"Claim Graph compact counts mirrored from aio-report bundle"},"store_brain":{"$ref":"#/components/schemas/StoreBrainOperatorCompact","description":"Store Brain snapshot mirrored from aio-report bundle"},"inbound_recommendation_os":{"$ref":"#/components/schemas/InboundRecommendationOSCompact","description":"Inbound OS mirrored from aio-report bundle"},"inbound_revenue_attribution":{"$ref":"#/components/schemas/InboundRevenueAttributionCompact","description":"Inbound revenue aggregates mirrored from aio-report bundle"},"ai_gap_analysis_engine":{"$ref":"#/components/schemas/AIGapAnalysisOperatorEngineCompact","description":"Gap engine bundle mirrored from aio-report ingest"},"ai_competitor_intelligence_engine":{"$ref":"#/components/schemas/AICompetitorIntelligenceOperatorEngineCompact","description":"Competitor intelligence rows mirrored from aio-report ingest"},"optimization_execution_plan":{"$ref":"#/components/schemas/OptimizationExecutionPlanCompact","description":"Phase 5 — Autonomous Optimization execution plan rolled up from existing engine slices"},"chatgpt":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Chatgpt"},"gemini":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Gemini"},"claude":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Claude"},"perplexity":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Perplexity"},"grok":{"items":{"$ref":"#/components/schemas/AIOptimizationItem"},"type":"array","title":"Grok"}},"type":"object","required":["expectation_alignment","recommendation_reality"],"title":"DashboardAIOptimizationRecommendations","description":"Dashboard `data.ai_optimization_recommendations` — API に要約行を足した形。"},"DashboardAIPublishingHealthCompact":{"properties":{"crawl_readiness_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Crawl Readiness Score","default":0.0},"status":{"type":"string","title":"Status","default":"degraded"},"warning_count":{"type":"integer","minimum":0.0,"title":"Warning Count","default":0},"broken_count":{"type":"integer","minimum":0.0,"title":"Broken Count","default":0},"top_warning":{"type":"string","title":"Top Warning","default":""},"intent_clusters_count":{"type":"integer","minimum":0.0,"title":"Intent Clusters Count","description":"Query Intent Graph clusters visible to crawlers via citation-feed","default":0}},"type":"object","title":"DashboardAIPublishingHealthCompact"},"DashboardAIPublishingStatus":{"properties":{"published_surfaces":{"type":"integer","minimum":0.0,"title":"Published Surfaces","description":"Situation + GEO + surface layers exposed to crawlers","default":0},"faq_count":{"type":"integer","minimum":0.0,"title":"Faq Count","default":0},"geo_pages":{"type":"integer","minimum":0.0,"title":"Geo Pages","default":0},"realtime_active":{"type":"boolean","title":"Realtime Active","default":false},"citation_feed_ready":{"type":"boolean","title":"Citation Feed Ready","default":true}},"type":"object","title":"DashboardAIPublishingStatus"},"DashboardAIRecommendationInsights":{"properties":{"total_captures":{"type":"integer","minimum":0.0,"title":"Total Captures"},"mention_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Mention Rate"},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank"},"top_keywords":{"items":{"$ref":"#/components/schemas/KeywordStatItem"},"type":"array","title":"Top Keywords"},"top_competitors":{"items":{"$ref":"#/components/schemas/CompetitorStatItem"},"type":"array","title":"Top Competitors"},"strongest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Ai"},"weakest_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Weakest Ai"},"recommendation_trends":{"items":{"$ref":"#/components/schemas/RecommendationTrendItem"},"type":"array","title":"Recommendation Trends"}},"type":"object","required":["total_captures","mention_rate"],"title":"DashboardAIRecommendationInsights","description":"Compact insight bundle embedded in dashboard ``data``."},"DashboardAIReplaySummary":{"properties":{"top_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Ai"},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank"},"citation_reflection_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Citation Reflection Rate","default":0.0},"top_competitor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Competitor"},"replay_count":{"type":"integer","minimum":0.0,"title":"Replay Count","default":0}},"type":"object","title":"DashboardAIReplaySummary"},"DashboardAIRevenueBoardRow":{"properties":{"source":{"type":"string","title":"Source"},"label":{"type":"string","title":"Label"},"impressions":{"type":"integer","minimum":0.0,"title":"Impressions","default":0},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations"},"reservation_rate":{"type":"number","minimum":0.0,"title":"Reservation Rate"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"},"ctr":{"type":"number","minimum":0.0,"title":"Ctr","description":"クリック率: clicks / impressions（インプレッションが0のとき0）"},"cvr":{"type":"number","minimum":0.0,"title":"Cvr","description":"予約CVR: reservations / clicks"},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click","description":"推定売上÷クリック","default":0},"revenue_per_reservation":{"type":"integer","minimum":0.0,"title":"Revenue Per Reservation","description":"推定売上÷予約件数","default":0}},"type":"object","required":["source","label","clicks","reservations","reservation_rate","estimated_sales","ctr","cvr"],"title":"DashboardAIRevenueBoardRow"},"DashboardAISourceAttribution":{"properties":{"source":{"type":"string","title":"Source"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations","description":"booking_events where event_type=booking"},"reservation_rate":{"type":"number","minimum":0.0,"title":"Reservation Rate","description":"reservations / clicks (0 when clicks=0)"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"}},"type":"object","required":["source","clicks","reservations","reservation_rate","estimated_sales"],"title":"DashboardAISourceAttribution"},"DashboardAISurfaceCompact":{"properties":{"top_situations":{"items":{"type":"string"},"type":"array","title":"Top Situations"},"top_citation_snippet":{"type":"string","title":"Top Citation Snippet","default":""},"recommendation_probability":{"additionalProperties":{"type":"number"},"type":"object","title":"Recommendation Probability"},"top_pain_point_answers":{"items":{"$ref":"#/components/schemas/DashboardPainPointAnswerCompact"},"type":"array","title":"Top Pain Point Answers","description":"ユーザーペイン→問い→引用のコンパクト上位"}},"type":"object","title":"DashboardAISurfaceCompact","description":"Dashboard compact slice."},"DashboardAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/DashboardDataPayload"}},"type":"object","required":["data"],"title":"DashboardAPIResponse"},"DashboardBookings":{"properties":{"estimated_ai_sales":{"type":"integer","title":"Estimated Ai Sales"},"booking_conversion_rate":{"type":"number","title":"Booking Conversion Rate"}},"type":"object","required":["estimated_ai_sales","booking_conversion_rate"],"title":"DashboardBookings"},"DashboardDailyAIActions":{"properties":{"date":{"type":"string","title":"Date"},"headline":{"type":"string","title":"Headline"},"priority_actions":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Priority Actions"},"quick_wins":{"items":{"$ref":"#/components/schemas/DailyAIPriorityActionItem"},"type":"array","title":"Quick Wins"},"do_not_do":{"items":{"type":"string"},"type":"array","title":"Do Not Do"},"follow_up_checks":{"items":{"type":"string"},"type":"array","title":"Follow Up Checks"}},"type":"object","required":["date","headline"],"title":"DashboardDailyAIActions","description":"``GET /dashboard`` の ``data.daily_ai_actions`` と同一構造。"},"DashboardDataPayload":{"properties":{"store":{"$ref":"#/components/schemas/DashboardStore"},"status":{"$ref":"#/components/schemas/DashboardStatus"},"today":{"$ref":"#/components/schemas/DashboardToday"},"bookings":{"$ref":"#/components/schemas/DashboardBookings"},"ai_revenue_board":{"items":{"$ref":"#/components/schemas/DashboardAIRevenueBoardRow"},"type":"array","title":"Ai Revenue Board"},"conversion_funnel":{"additionalProperties":true,"type":"object","title":"Conversion Funnel","description":"GET /conversion-funnel と同一構造（by_source + definitions）"},"chart_ready":{"type":"boolean","title":"Chart Ready","default":true},"charts":{"additionalProperties":true,"type":"object","title":"Charts","description":"グラフ向け正規化済み系列（chart_ready=true）"},"ai_attribution_by_source":{"items":{"$ref":"#/components/schemas/DashboardAISourceAttribution"},"type":"array","title":"Ai Attribution By Source"},"ai_recommendation_insights":{"$ref":"#/components/schemas/DashboardAIRecommendationInsights"},"ai_language_insights":{"$ref":"#/components/schemas/DashboardAILanguageInsights"},"ai_optimization_recommendations":{"$ref":"#/components/schemas/DashboardAIOptimizationRecommendations"},"daily_ai_actions":{"$ref":"#/components/schemas/DashboardDailyAIActions"},"ai_recommendation_surface":{"$ref":"#/components/schemas/DashboardAISurfaceCompact","description":"AI Recommendation Surface Engine — compact slice for dashboards"},"ai_publishing_status":{"$ref":"#/components/schemas/DashboardAIPublishingStatus","description":"AI Recommendation Publishing Engine — public crawl layer status"},"ai_publishing_health":{"$ref":"#/components/schemas/DashboardAIPublishingHealthCompact","description":"Crawl readiness / publishing health validator (compact)"},"ai_gap_summary":{"$ref":"#/components/schemas/DashboardAIGapSummaryCompact","description":"AI recommendation gap fixer compact summary"},"ai_replay_summary":{"$ref":"#/components/schemas/DashboardAIReplaySummary","description":"AI Recommendation Replay Engine — compact aggregates from captured assistant replies"},"ai_auto_optimizer":{"$ref":"#/components/schemas/DashboardAIAutoOptimizerCompact","description":"AI Recommendation Auto Optimizer — self-evolving public surface hints"},"query_intent_graph":{"$ref":"#/components/schemas/DashboardQueryIntentGraphCompact","description":"Query Intent Graph Engine — top cluster / opportunity / weakest intent"},"ai_decision_journey":{"$ref":"#/components/schemas/DashboardAIDecisionJourneyCompact","description":"AI Decision Journey — booking confidence summary"},"trust_verification":{"$ref":"#/components/schemas/DashboardTrustVerificationCompact","description":"Trust & Verification — verified vs inferred snapshot (compact only)"},"experience_feedback":{"$ref":"#/components/schemas/ExperienceFeedbackSummary","description":"Experience Feedback Engine — structured post-visit signals for alignment / reality scoring"},"expectation_alignment":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryData","description":"Expectation Alignment Engine — mirrored from aio-report single source"},"recommendation_reality":{"$ref":"#/components/schemas/RecommendationRealityData","description":"Recommendation Reality Score — root-level mirror for quick operator read"},"replay_monitoring":{"$ref":"#/components/schemas/ReplayMonitoringCompact","description":"Replay Monitoring — scheduled ReplayMonitoringJob/Result aggregates"},"ai_search_console":{"$ref":"#/components/schemas/AISearchConsoleCompact","description":"AI Search Console style bundle — from recommendation_benchmark_service"},"claim_graph":{"$ref":"#/components/schemas/ClaimGraphCompact","description":"Claim Graph counts — avoids full edges in kiosk payloads"},"store_brain":{"$ref":"#/components/schemas/StoreBrainOperatorCompact","description":"Store Brain — compact snapshot from persisted brain_document"},"inbound_recommendation_os":{"$ref":"#/components/schemas/InboundRecommendationOSCompact","description":"AI Inbound Recommendation OS — inbound_optimization_service bundle"},"inbound_revenue_attribution":{"$ref":"#/components/schemas/InboundRevenueAttributionCompact","description":"Inbound revenue ROI / provider rollups layered next to legacy revenue_attribution"},"ai_gap_analysis_engine":{"$ref":"#/components/schemas/AIGapAnalysisOperatorEngineCompact","description":"AI Gap Analysis — orchestration engine (replay / console / claims / alignment)"},"ai_competitor_intelligence_engine":{"$ref":"#/components/schemas/AICompetitorIntelligenceOperatorEngineCompact","description":"AI Competitor Intelligence — language insights + benchmark aware rows"},"optimization_execution_plan":{"$ref":"#/components/schemas/OptimizationExecutionPlanCompact","description":"Phase 5 — Autonomous Optimization execution plan (priority / quick wins / projects / feedback loop)"},"strategy":{"$ref":"#/components/schemas/DashboardStrategy"},"menu":{"$ref":"#/components/schemas/DashboardMenu"},"top_actions":{"items":{"$ref":"#/components/schemas/DashboardTopAction"},"type":"array","title":"Top Actions"},"performance_metrics":{"$ref":"#/components/schemas/DashboardPerformanceMetrics","description":"Last-request timings + cache (dashboard generation wraps aio-report segment)"},"system_runtime":{"$ref":"#/components/schemas/DashboardSystemRuntime","description":"Derived stability hints for this endpoint"},"links":{"$ref":"#/components/schemas/DashboardLinks"}},"type":"object","required":["store","status","today","bookings","ai_revenue_board","conversion_funnel","ai_attribution_by_source","ai_recommendation_insights","ai_language_insights","ai_optimization_recommendations","daily_ai_actions","expectation_alignment","recommendation_reality","strategy","menu","top_actions","links"],"title":"DashboardDataPayload"},"DashboardLinks":{"properties":{"aio_report":{"type":"string","title":"Aio Report"},"aio_score":{"type":"string","title":"Aio Score"},"menu_today":{"type":"string","title":"Menu Today"},"ai_profile":{"type":"string","title":"Ai Profile"}},"type":"object","required":["aio_report","aio_score","menu_today","ai_profile"],"title":"DashboardLinks"},"DashboardMenu":{"properties":{"updated":{"type":"boolean","title":"Updated"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"item_count":{"type":"integer","title":"Item Count"},"top_items":{"items":{"type":"string"},"type":"array","title":"Top Items"}},"type":"object","required":["updated","item_count","top_items"],"title":"DashboardMenu"},"DashboardPainPointAnswerCompact":{"properties":{"pain_point":{"type":"string","title":"Pain Point","default":""},"user_question":{"type":"string","title":"User Question","default":""},"recommended_citation":{"type":"string","title":"Recommended Citation","default":""}},"type":"object","title":"DashboardPainPointAnswerCompact"},"DashboardPerformanceMetrics":{"properties":{"dashboard_generation_ms":{"type":"number","title":"Dashboard Generation Ms","default":0.0},"aio_report_generation_ms":{"type":"number","title":"Aio Report Generation Ms","default":0.0},"cache_hit_rate":{"type":"number","title":"Cache Hit Rate","default":0.0},"approx_sql_statements_last_dashboard":{"type":"integer","title":"Approx Sql Statements Last Dashboard","default":0}},"type":"object","title":"DashboardPerformanceMetrics"},"DashboardQueryIntentGraphCompact":{"properties":{"top_cluster":{"type":"string","title":"Top Cluster","default":""},"top_opportunity":{"type":"string","title":"Top Opportunity","default":""},"weakest_intent":{"type":"string","title":"Weakest Intent","default":""}},"type":"object","title":"DashboardQueryIntentGraphCompact"},"DashboardStatus":{"properties":{"aio_score":{"type":"integer","title":"Aio Score"},"conversion_score":{"type":"integer","title":"Conversion Score"},"level":{"type":"string","title":"Level"},"headline":{"type":"string","title":"Headline"},"revenue_headline":{"type":"string","title":"Revenue Headline","description":"売上観点のヘッドライン（例: どのAI経由が最も貢献しているか）"},"top_ai_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Ai Source"},"top_revenue_contributor_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Revenue Contributor Ai","description":"Label of the AI source with highest estimated_sales (absolute)"},"estimated_ai_revenue":{"type":"integer","title":"Estimated Ai Revenue","default":0},"llm_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Llm Hint"},"overall_roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall Roi"},"overall_roi_band":{"type":"string","title":"Overall Roi Band","default":"insufficient_cost_data"},"overall_cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Overall Cost Yen Estimate","default":0},"revenue_per_recommendation":{"type":"integer","minimum":0.0,"title":"Revenue Per Recommendation","default":0},"revenue_per_booking":{"type":"integer","minimum":0.0,"title":"Revenue Per Booking","default":0},"top_roi_contributor_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Roi Contributor Ai"},"roi_headline":{"type":"string","title":"Roi Headline","default":""}},"additionalProperties":true,"type":"object","required":["aio_score","conversion_score","level","headline","revenue_headline"],"title":"DashboardStatus","description":"Phase 7-C: ROI フィールド add-only。"},"DashboardStore":{"properties":{"name":{"type":"string","title":"Name"},"area":{"type":"string","title":"Area"},"category":{"type":"string","title":"Category"}},"type":"object","required":["name","area","category"],"title":"DashboardStore"},"DashboardStrategy":{"properties":{"strategy_summary":{"type":"string","title":"Strategy Summary"},"next_best_actions":{"items":{"type":"string"},"type":"array","title":"Next Best Actions"}},"type":"object","required":["strategy_summary","next_best_actions"],"title":"DashboardStrategy"},"DashboardSystemRuntime":{"properties":{"status":{"type":"string","title":"Status","default":"stable"},"cache_hit_rate":{"type":"number","title":"Cache Hit Rate","default":0.0},"heavy_services_detected":{"type":"integer","title":"Heavy Services Detected","default":0}},"type":"object","title":"DashboardSystemRuntime"},"DashboardToday":{"properties":{"crawler_today":{"type":"integer","title":"Crawler Today"},"click_today":{"type":"integer","title":"Click Today"},"mention_rate":{"type":"integer","title":"Mention Rate"},"today_bookings":{"type":"integer","title":"Today Bookings"}},"type":"object","required":["crawler_today","click_today","mention_rate","today_bookings"],"title":"DashboardToday"},"DashboardTopAction":{"properties":{"priority":{"type":"string","title":"Priority"},"title":{"type":"string","title":"Title"}},"type":"object","required":["priority","title"],"title":"DashboardTopAction"},"DashboardTrustVerificationCompact":{"properties":{"verified_claims":{"type":"integer","minimum":0.0,"title":"Verified Claims","default":0},"unverified_high_risk_claims":{"type":"integer","minimum":0.0,"title":"Unverified High Risk Claims","default":0},"conflict_count":{"type":"integer","minimum":0.0,"title":"Conflict Count","default":0},"top_verification_needed":{"type":"string","title":"Top Verification Needed","default":""}},"type":"object","title":"DashboardTrustVerificationCompact"},"DecisionJourneyPath":{"properties":{"journey_id":{"type":"string","title":"Journey Id"},"label":{"type":"string","title":"Label"},"starting_intent":{"type":"string","title":"Starting Intent"},"steps":{"items":{"$ref":"#/components/schemas/DecisionJourneyStep"},"type":"array","title":"Steps"},"conversion_goal":{"type":"string","enum":["reservation","visit","comparison_then_reservation"],"title":"Conversion Goal"},"journey_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Journey Strength"}},"type":"object","required":["journey_id","label","starting_intent","steps","conversion_goal","journey_strength"],"title":"DecisionJourneyPath"},"DecisionJourneyStep":{"properties":{"step":{"type":"integer","minimum":1.0,"title":"Step"},"intent":{"type":"string","title":"Intent"},"user_question":{"type":"string","title":"User Question"},"ai_answer_needed":{"type":"string","title":"Ai Answer Needed"},"confidence_signal":{"type":"string","title":"Confidence Signal"}},"type":"object","required":["step","intent","user_question","ai_answer_needed","confidence_signal"],"title":"DecisionJourneyStep"},"DryRunAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/DryRunEnvelope"}},"type":"object","required":["data"],"title":"DryRunAPIResponse"},"DryRunEnvelope":{"properties":{"mode":{"type":"string","const":"dry_run","title":"Mode","default":"dry_run"},"apply_blocked":{"type":"boolean","title":"Apply Blocked","default":false},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"would_update":{"items":{"$ref":"#/components/schemas/DryRunWouldUpdate"},"type":"array","title":"Would Update"},"evaluation_preview":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Evaluation Preview"}},"type":"object","required":["would_update"],"title":"DryRunEnvelope"},"DryRunWouldUpdate":{"properties":{"target_type":{"type":"string","title":"Target Type"},"target_path":{"type":"string","title":"Target Path"},"before_preview":{"type":"string","title":"Before Preview","default":""},"after_preview":{"type":"string","title":"After Preview","default":""}},"type":"object","required":["target_type","target_path"],"title":"DryRunWouldUpdate"},"EvidenceSourceCreate":{"properties":{"source_type":{"type":"string","maxLength":64,"title":"Source Type"},"source_key":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Source Key"},"title":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"raw_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"},{"type":"null"}],"title":"Raw Json"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":1.0}},"type":"object","required":["source_type"],"title":"EvidenceSourceCreate"},"EvidenceSourceCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/EvidenceSourceRecord"}},"type":"object","required":["data"],"title":"EvidenceSourceCreatedAPIResponse"},"EvidenceSourceRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"source_type":{"type":"string","title":"Source Type"},"source_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Key"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"raw_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"}],"title":"Raw Json"},"confidence":{"type":"number","title":"Confidence"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","restaurant_id","source_type","raw_json","confidence","created_at","updated_at"],"title":"EvidenceSourceRecord"},"EvidenceSourcesListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/EvidenceSourceRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"EvidenceSourcesListAPIResponse"},"ExpectationAlignmentSummaryAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ExpectationAlignmentSummaryData"}},"type":"object","required":["data"],"title":"ExpectationAlignmentSummaryAPIResponse"},"ExpectationAlignmentSummaryData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"feedback_count_total":{"type":"integer","title":"Feedback Count Total"},"feedback_recent_90d":{"type":"integer","title":"Feedback Recent 90D"},"open_alerts":{"type":"integer","title":"Open Alerts"},"by_gap_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Gap Type"},"claims":{"items":{"$ref":"#/components/schemas/AlignmentSummaryClaimPayload"},"type":"array","title":"Claims"},"ux_messages":{"items":{"type":"string"},"type":"array","title":"Ux Messages"},"recommendation_reality":{"$ref":"#/components/schemas/RecommendationRealityData"},"expectation_dimensions":{"items":{"$ref":"#/components/schemas/ExpectationDimensionEntry"},"type":"array","title":"Expectation Dimensions","description":"Phase 6 — Stable-key per-dimension gap rollup (quiet_dining / business_dinner / tourist_friendly / english_support / freshness / group_dining)"}},"type":"object","required":["restaurant_id","feedback_count_total","feedback_recent_90d","open_alerts","by_gap_type","claims","ux_messages","recommendation_reality"],"title":"ExpectationAlignmentSummaryData"},"ExpectationDimensionEntry":{"properties":{"dimension":{"type":"string","title":"Dimension","description":"Stable dimension slug"},"expected":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Expected","default":0.0},"actual":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Actual","default":0.0},"gap":{"type":"number","title":"Gap","description":"expected - actual (positive ⇒ promise > reality)","default":0.0},"claim_sample":{"type":"integer","minimum":0.0,"title":"Claim Sample","description":"Number of claims matched on this dimension","default":0},"feedback_sample":{"type":"integer","minimum":0.0,"title":"Feedback Sample","description":"Number of feedback rows matched on this dimension","default":0},"severity":{"type":"string","enum":["low","medium","high","critical","unknown"],"title":"Severity","default":"unknown"},"representative_snippet":{"type":"string","title":"Representative Snippet","description":"Snippet from a real feedback row that drove `actual`","default":""}},"type":"object","required":["dimension"],"title":"ExpectationDimensionEntry","description":"Phase 6 — Per-dimension expected vs. actual gap (real DB rows + claim/feedback text).\n\nStable dimension keys (slugs):\n\n- ``quiet_dining``\n- ``business_dinner``\n- ``tourist_friendly``\n- ``english_support``\n- ``freshness``\n- ``group_dining``"},"ExpectationGapAlertRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"claim_id":{"type":"integer","title":"Claim Id"},"feedback_id":{"type":"integer","title":"Feedback Id"},"gap_type":{"type":"string","title":"Gap Type"},"severity":{"type":"string","title":"Severity"},"message":{"type":"string","title":"Message"},"recommended_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Action"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"resolved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolved At"},"approval_queue_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Approval Queue Id"}},"type":"object","required":["id","restaurant_id","claim_id","feedback_id","gap_type","severity","message","status","created_at"],"title":"ExpectationGapAlertRecord"},"ExperienceFeedbackCreate":{"properties":{"source_type":{"type":"string","maxLength":32,"title":"Source Type"},"source_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Source Id"},"visit_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Visit Date"},"customer_segment":{"type":"string","maxLength":24,"title":"Customer Segment","default":"unknown"},"rating":{"anyOf":[{"type":"number","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Rating"},"satisfaction_score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Satisfaction Score"},"raw_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Text"}},"type":"object","required":["source_type"],"title":"ExperienceFeedbackCreate"},"ExperienceFeedbackCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ExperienceFeedbackRecord"}},"type":"object","required":["data"],"title":"ExperienceFeedbackCreatedAPIResponse"},"ExperienceFeedbackListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ExperienceFeedbackRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ExperienceFeedbackListAPIResponse"},"ExperienceFeedbackRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"source_type":{"type":"string","title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"visit_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Visit Date"},"customer_segment":{"type":"string","title":"Customer Segment"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"satisfaction_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Satisfaction Score"},"raw_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Text"},"normalized_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Text"},"extracted_claims_json":{"items":{},"type":"array","title":"Extracted Claims Json"},"sentiment":{"type":"string","title":"Sentiment"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","restaurant_id","source_type","customer_segment","extracted_claims_json","sentiment","created_at"],"title":"ExperienceFeedbackRecord"},"ExperienceFeedbackSentimentDistribution":{"properties":{"positive":{"type":"integer","minimum":0.0,"title":"Positive","default":0},"mixed":{"type":"integer","minimum":0.0,"title":"Mixed","default":0},"neutral":{"type":"integer","minimum":0.0,"title":"Neutral","default":0},"negative":{"type":"integer","minimum":0.0,"title":"Negative","default":0},"positive_ratio":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Positive Ratio","default":0.0},"negative_ratio":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Negative Ratio","default":0.0},"sample_total":{"type":"integer","minimum":0.0,"title":"Sample Total","default":0}},"type":"object","title":"ExperienceFeedbackSentimentDistribution","description":"Phase 6 — `sentiment` column histogram from persisted rows (no LLM)."},"ExperienceFeedbackSummary":{"properties":{"feedback_count":{"type":"integer","minimum":0.0,"title":"Feedback Count","description":"Number of feedback records in the aggregation window","default":0},"average_satisfaction":{"type":"number","minimum":0.0,"title":"Average Satisfaction","description":"Mean satisfaction score when available","default":0.0},"review_score":{"type":"number","minimum":0.0,"title":"Review Score","description":"Aggregate review-style score (e.g. platform ratings)","default":0.0},"return_intent_score":{"type":"number","minimum":0.0,"title":"Return Intent Score","description":"Modeled or surveyed revisit intent 0–100 scale","default":0.0},"top_positive_signals":{"items":{"type":"string"},"type":"array","title":"Top Positive Signals","description":"Dominant positive themes from structured feedback"},"top_negative_signals":{"items":{"type":"string"},"type":"array","title":"Top Negative Signals","description":"Dominant negative themes from structured feedback"},"feedback_trend":{"$ref":"#/components/schemas/ExperienceFeedbackTrend","description":"Phase 6 — 30/60/90-day window counts and trend direction (real DB rows)"},"sentiment_distribution":{"$ref":"#/components/schemas/ExperienceFeedbackSentimentDistribution","description":"Phase 6 — `sentiment` column histogram (real DB rows)"},"top_praise_topics":{"items":{"$ref":"#/components/schemas/ExperienceFeedbackTopic"},"type":"array","title":"Top Praise Topics","description":"Phase 6 — Positive theme rollup with representative snippets (real DB rows)"},"top_complaint_topics":{"items":{"$ref":"#/components/schemas/ExperienceFeedbackTopic"},"type":"array","title":"Top Complaint Topics","description":"Phase 6 — Negative theme rollup with representative snippets (real DB rows)"},"repeat_visit_signal":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Repeat Visit Signal","description":"Phase 6 — Repeat-visit propensity 0–100 (blended from return_intent_score + positive_ratio)","default":0.0}},"type":"object","title":"ExperienceFeedbackSummary","description":"Aggregated post-visit experience signals from persisted feedback rows (for alignment / reality scoring)."},"ExperienceFeedbackTopic":{"properties":{"topic":{"type":"string","title":"Topic","description":"Stable theme slug (e.g. `quiet_or_formal_ambience_or_setai`)"},"count":{"type":"integer","minimum":0.0,"title":"Count","default":0},"representative_snippet":{"type":"string","title":"Representative Snippet","description":"Trimmed evidence snippet from a real feedback row","default":""}},"type":"object","required":["topic"],"title":"ExperienceFeedbackTopic","description":"Phase 6 — Theme-level rollup derived from `extracted_claims_json` (rule-based, real rows)."},"ExperienceFeedbackTrend":{"properties":{"last_30d_count":{"type":"integer","minimum":0.0,"title":"Last 30D Count","default":0},"prior_30d_count":{"type":"integer","minimum":0.0,"title":"Prior 30D Count","description":"Days 31–60 prior to today","default":0},"older_30d_count":{"type":"integer","minimum":0.0,"title":"Older 30D Count","description":"Days 61–90 prior to today","default":0},"trend_direction":{"type":"string","enum":["up","flat","down","insufficient_data"],"title":"Trend Direction","default":"insufficient_data"},"momentum":{"type":"number","title":"Momentum","description":"(last_30d - prior_30d) / max(prior_30d, 1) as a relative momentum (clipped to ±2.0)","default":0.0}},"type":"object","title":"ExperienceFeedbackTrend","description":"Phase 6 — Window-counts derived from `experience_feedbacks.created_at` (real DB rows)."},"FactClaim":{"properties":{"claim_id":{"type":"string","title":"Claim Id"},"label":{"type":"string","title":"Label"},"category":{"type":"string","title":"Category"},"claim_text":{"type":"string","title":"Claim Text","description":"検証対象となる宣言（断定を避ける層とは別運用）","default":""},"trust_status":{"type":"string","enum":["verified","inferred","suggested","observed","stale","missing","conflict","restricted"],"title":"Trust Status"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"evidence":{"items":{"type":"string"},"type":"array","title":"Evidence"},"risk_level":{"type":"string","enum":["low","medium","high","critical"],"title":"Risk Level","default":"medium"},"apply_policy":{"type":"string","enum":["auto_apply_allowed","human_review_required","human_verified_only","never_auto_apply"],"title":"Apply Policy"}},"type":"object","required":["claim_id","label","category","trust_status","confidence","apply_policy"],"title":"FactClaim"},"FaqGapItem":{"properties":{"question":{"type":"string","title":"Question"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["question","reason"],"title":"FaqGapItem"},"FeedStatus":{"properties":{"citation_feed_ready":{"type":"boolean","title":"Citation Feed Ready","default":false},"realtime_context_ready":{"type":"boolean","title":"Realtime Context Ready","default":false},"citation_count":{"type":"integer","minimum":0.0,"title":"Citation Count","default":0},"realtime_items_count":{"type":"integer","minimum":0.0,"title":"Realtime Items Count","default":0},"pain_point_answers_count":{"type":"integer","minimum":0.0,"title":"Pain Point Answers Count","description":"User pain → answer surfaces exported on citation-feed","default":0},"intent_clusters_count":{"type":"integer","minimum":0.0,"title":"Intent Clusters Count","description":"Composite intent clusters emitted on citation-feed (Query Intent Graph)","default":0}},"type":"object","title":"FeedStatus"},"FreshnessProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/FreshnessProfileData"}},"type":"object","required":["data"],"title":"FreshnessProfileAPIResponse"},"FreshnessProfileData":{"properties":{"freshness_score":{"type":"integer","title":"Freshness Score"},"last_menu_update":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Menu Update"},"menu_update_frequency":{"$ref":"#/components/schemas/MenuUpdateFrequency"},"signals":{"$ref":"#/components/schemas/FreshnessSignals"},"freshness_summary":{"type":"string","title":"Freshness Summary"},"recommended_refresh_actions":{"items":{"type":"string"},"type":"array","title":"Recommended Refresh Actions"}},"type":"object","required":["freshness_score","last_menu_update","menu_update_frequency","signals","freshness_summary","recommended_refresh_actions"],"title":"FreshnessProfileData"},"FreshnessSignals":{"properties":{"today_menu_available":{"type":"boolean","title":"Today Menu Available"},"recent_ai_crawl":{"type":"boolean","title":"Recent Ai Crawl"},"recent_ai_click":{"type":"boolean","title":"Recent Ai Click"},"recent_ai_recommendation":{"type":"boolean","title":"Recent Ai Recommendation"}},"type":"object","required":["today_menu_available","recent_ai_crawl","recent_ai_click","recent_ai_recommendation"],"title":"FreshnessSignals"},"GapAlertActionAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ExpectationGapAlertRecord"}},"type":"object","required":["data"],"title":"GapAlertActionAPIResponse"},"GapAlertActionBody":{"properties":{"note":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Note"}},"type":"object","title":"GapAlertActionBody"},"GapAlertsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ExpectationGapAlertRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"GapAlertsListAPIResponse"},"GapMissingFactorItem":{"properties":{"factor":{"type":"string","title":"Factor"},"severity":{"type":"string","enum":["high","medium","low"],"title":"Severity"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["factor","severity","reason"],"title":"GapMissingFactorItem"},"GenerateOptimizationRecommendationsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","title":"GenerateOptimizationRecommendationsAPIResponse"},"GeoPreviewChecks":{"properties":{"has_restaurant_name":{"type":"boolean","title":"Has Restaurant Name"},"has_area":{"type":"boolean","title":"Has Area"},"has_menu_items":{"type":"boolean","title":"Has Menu Items","description":"True when at least 2 menu item names from today appear in geo text"},"has_availability":{"type":"boolean","title":"Has Availability","description":"Heuristic: seating / walk-in / capacity wording present"},"within_200_chars":{"type":"boolean","title":"Within 200 Chars","description":"At most 200 characters, minimum length, and Japanese prose heuristics"}},"type":"object","required":["has_restaurant_name","has_area","has_menu_items","has_availability","within_200_chars"],"title":"GeoPreviewChecks"},"GeoPreviewResponse":{"properties":{"geo_citation_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geo Citation Text","description":"Stored GEO blurb from latest menu (null if none)"},"markdown_url":{"type":"string","title":"Markdown Url"},"word_count":{"type":"integer","title":"Word Count","description":"Character count of geo_citation_text (0 if null)"},"included_items":{"items":{"type":"string"},"type":"array","title":"Included Items","description":"Menu item names detected inside geo_citation_text"},"checks":{"$ref":"#/components/schemas/GeoPreviewChecks"},"quality_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Quality Score"}},"type":"object","required":["markdown_url","word_count","checks","quality_score"],"title":"GeoPreviewResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HesitationPoint":{"properties":{"intent":{"type":"string","title":"Intent"},"severity":{"type":"string","enum":["high","medium","low"],"title":"Severity"},"reason":{"type":"string","title":"Reason"},"recommended_reassurance":{"type":"string","title":"Recommended Reassurance"},"related_claim_id":{"type":"string","title":"Related Claim Id","default":""},"trust_status":{"type":"string","title":"Trust Status","default":""},"safe_wording":{"type":"string","title":"Safe Wording","default":""},"trust_overlay_confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Trust Overlay Confidence","default":0.0}},"type":"object","required":["intent","severity","reason","recommended_reassurance"],"title":"HesitationPoint"},"InboundDiscoveryEnvelopeAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"InboundDiscoveryEnvelopeAPIResponse"},"InboundMonitoringGenericAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"InboundMonitoringGenericAPIResponse"},"InboundMonitoringJobsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"InboundMonitoringJobsAPIResponse"},"InboundOptimizationEnvelopeAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"InboundOptimizationEnvelopeAPIResponse"},"InboundRecommendationOSCompact":{"properties":{"recommendation_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Recommendation Score","default":0.0},"recommendation_summary":{"type":"string","title":"Recommendation Summary","default":""},"inbound_conversion_opportunities":{"items":{},"type":"array","title":"Inbound Conversion Opportunities"},"top_recommendation_actions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Recommendation Actions"},"ai_recommendation_signals":{"additionalProperties":true,"type":"object","title":"Ai Recommendation Signals"}},"type":"object","title":"InboundRecommendationOSCompact","description":"AI Inbound Recommendation OS — derived from ``inbound_optimization_service``."},"InboundRevenueAttributionCompact":{"properties":{"estimated_ai_revenue":{"type":"number","minimum":0.0,"title":"Estimated Ai Revenue","default":0.0},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click","description":"Main-board RPC for top inbound provider bucket when mapped","default":0},"booking_conversion_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Conversion Rate","description":"Main conversion profile bridged alongside inbound heuristics","default":0.0},"revenue_by_source":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Revenue By Source"},"revenue_by_locale":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Revenue By Locale"},"top_performing_source":{"type":"string","title":"Top Performing Source","default":""},"top_locale":{"type":"string","title":"Top Locale","default":""},"attribution_record_count":{"type":"integer","minimum":0.0,"title":"Attribution Record Count","default":0},"high_quality_share":{"type":"number","maximum":1.0,"minimum":0.0,"title":"High Quality Share","default":0.0},"avg_revisit_intent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Revisit Intent"},"avg_cultural_alignment_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Cultural Alignment Score"},"ux_hints":{"items":{"type":"string"},"type":"array","title":"Ux Hints"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"disclaimer":{"type":"string","title":"Disclaimer","default":""}},"type":"object","title":"InboundRevenueAttributionCompact","description":"Inbound revenue attributions layered next to legacy ``revenue_attribution`` key."},"InboundRevenueAttributionCreate":{"properties":{"locale":{"type":"string","maxLength":8,"title":"Locale","description":"en | zh | ko","default":"en"},"provider":{"type":"string","maxLength":24,"title":"Provider","default":"unknown"},"replay_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Replay Id"},"feedback_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Feedback Id"},"booking_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Booking Id"},"attribution_source":{"type":"string","maxLength":32,"title":"Attribution Source","default":"travel_replay"},"estimated_party_size":{"anyOf":[{"type":"integer","maximum":999.0,"minimum":1.0},{"type":"null"}],"title":"Estimated Party Size"},"estimated_spend":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Estimated Spend"},"actual_spend":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Actual Spend"},"satisfaction_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Satisfaction Score"},"revisit_intent_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revisit Intent Score"},"cultural_alignment_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cultural Alignment Score"},"recommendation_quality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recommendation Quality Score"}},"type":"object","title":"InboundRevenueAttributionCreate","description":"POST body — all optional except core identification; heuristic fields filled server-side."},"InboundRevenueEnvelopeAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"InboundRevenueEnvelopeAPIResponse"},"InboundVisibilityIndexAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"InboundVisibilityIndexAPIResponse"},"InboundVisibilitySnapshotsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"InboundVisibilitySnapshotsAPIResponse"},"IntentCluster":{"properties":{"cluster_id":{"type":"string","title":"Cluster Id"},"label":{"type":"string","title":"Label"},"intent_nodes":{"items":{"type":"string"},"type":"array","title":"Intent Nodes"},"recommendation_strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Recommendation Strength"},"example_query":{"type":"string","title":"Example Query"},"answer_surface":{"type":"string","title":"Answer Surface"}},"type":"object","required":["cluster_id","label","intent_nodes","recommendation_strength","example_query","answer_surface"],"title":"IntentCluster"},"IntentEdge":{"properties":{"source":{"type":"string","title":"Source"},"target":{"type":"string","title":"Target"},"weight":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Weight"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["source","target","weight","reason"],"title":"IntentEdge"},"IntentNode":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"type":{"type":"string","title":"Type","description":"One of: area, genre, occasion, pain, menu, drink, seat, price, availability, atmosphere, comparison, trust, conversion"},"strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Strength"},"evidence":{"items":{"type":"string"},"type":"array","title":"Evidence"}},"type":"object","required":["id","label","type","strength"],"title":"IntentNode"},"IntentOfferItem":{"properties":{"intent":{"type":"string","title":"Intent"},"label":{"type":"string","title":"Label"},"offer_text":{"type":"string","title":"Offer Text"},"cta_url":{"type":"string","title":"Cta Url"}},"type":"object","required":["intent","label","offer_text","cta_url"],"title":"IntentOfferItem"},"IntentProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/IntentProfileData"}},"type":"object","required":["data"],"title":"IntentProfileAPIResponse"},"IntentProfileData":{"properties":{"top_intents":{"items":{"$ref":"#/components/schemas/TopIntentMatch"},"type":"array","title":"Top Intents"},"recommended_queries":{"items":{"type":"string"},"type":"array","title":"Recommended Queries"},"intent_summary":{"type":"string","title":"Intent Summary","description":"Natural-language synopsis of strongest user-intent alignment."},"ai_matching_hint":{"type":"string","title":"Ai Matching Hint","description":"Brief hint for models on intent matching posture."}},"type":"object","required":["top_intents","recommended_queries","intent_summary","ai_matching_hint"],"title":"IntentProfileData"},"JourneyBlockerGapItem":{"properties":{"blocker":{"type":"string","title":"Blocker"},"impact":{"type":"string","enum":["high","medium","low"],"title":"Impact"},"affected_journeys":{"items":{"type":"string"},"type":"array","title":"Affected Journeys"},"fix":{"type":"string","title":"Fix","default":""}},"type":"object","required":["blocker","impact"],"title":"JourneyBlockerGapItem"},"JourneyHesitationTrustOverlay":{"properties":{"hesitation_intent":{"type":"string","title":"Hesitation Intent","description":"Label from Decision Journey hesitation","default":""},"related_claim_id":{"type":"string","title":"Related Claim Id","default":""},"trust_status":{"type":"string","title":"Trust Status","default":""},"safe_wording":{"type":"string","title":"Safe Wording","default":""},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.0}},"type":"object","title":"JourneyHesitationTrustOverlay"},"JsonLdStatus":{"properties":{"has_graph":{"type":"boolean","title":"Has Graph","default":false},"has_restaurant":{"type":"boolean","title":"Has Restaurant","default":false},"has_webpage":{"type":"boolean","title":"Has Webpage","default":false},"has_faq":{"type":"boolean","title":"Has Faq","default":false},"missing_fields":{"items":{"type":"string"},"type":"array","title":"Missing Fields"}},"type":"object","title":"JsonLdStatus"},"KeywordStatItem":{"properties":{"keyword":{"type":"string","title":"Keyword"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["keyword","count"],"title":"KeywordStatItem"},"LLMAIProfileResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"store_brain, signals, crawler/click summaries, profiles, prompts, ai_actions URLs"}},"type":"object","required":["data"],"title":"LLMAIProfileResponse","description":"Envelope for scoped ``GET /api/v1/restaurants/{id}/ai-profile`` (LLM-first aggregate)."},"MenuItemResponse":{"properties":{"name":{"type":"string","title":"Name"},"category":{"type":"string","title":"Category"},"price":{"anyOf":[{"type":"number"},{"type":"integer"}],"title":"Price"},"availability":{"type":"string","title":"Availability"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"ai_recommendation_tags":{"items":{"type":"string"},"type":"array","title":"Ai Recommendation Tags"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"}},"type":"object","required":["name","category","price","availability","tags"],"title":"MenuItemResponse"},"MenuTodayResponse":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"restaurant_name":{"type":"string","title":"Restaurant Name"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated","description":"Menu row created_at as UTC ISO-8601 with Z (crawler update signal)"},"is_primary_source":{"type":"boolean","title":"Is Primary Source","description":"This API is the official real-time menu source for the venue","default":true},"items":{"items":{"$ref":"#/components/schemas/MenuItemResponse"},"type":"array","title":"Items"},"geo_citation_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geo Citation Text","description":"Japanese Markdown-style blurb for AI search citation (GEO)"}},"type":"object","required":["restaurant_id","restaurant_name","updated_at","items"],"title":"MenuTodayResponse"},"MenuUpdateFrequency":{"properties":{"last_7_days":{"type":"integer","title":"Last 7 Days"},"last_30_days":{"type":"integer","title":"Last 30 Days"}},"type":"object","required":["last_7_days","last_30_days"],"title":"MenuUpdateFrequency"},"MultilingualGeoAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"MultilingualGeoAPIResponse"},"NamedCountItem":{"properties":{"name":{"type":"string","title":"Name"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["name","count"],"title":"NamedCountItem"},"NeedsReviewTouristClaimBody":{"properties":{"reviewer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Name"},"reviewer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Note"},"risk_level":{"type":"string","enum":["low","medium","high","critical"],"title":"Risk Level","default":"medium"}},"type":"object","title":"NeedsReviewTouristClaimBody"},"OfferProfileAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/OfferProfileData"}},"type":"object","required":["data"],"title":"OfferProfileAPIResponse"},"OfferProfileData":{"properties":{"primary_offer":{"$ref":"#/components/schemas/PrimaryOfferBlock"},"intent_offers":{"items":{"$ref":"#/components/schemas/IntentOfferItem"},"type":"array","title":"Intent Offers"},"ai_response_snippets":{"items":{"type":"string"},"type":"array","title":"Ai Response Snippets"},"tracking_links":{"additionalProperties":{"type":"string"},"type":"object","title":"Tracking Links","description":"Per-AI attribution paths under /track/click (relative to site root)."}},"type":"object","required":["primary_offer","intent_offers","ai_response_snippets","tracking_links"],"title":"OfferProfileData"},"OptimizationExecutionPlanCompact":{"properties":{"plan_summary":{"type":"string","title":"Plan Summary","default":""},"priority_ranked_actions":{"items":{"$ref":"#/components/schemas/OptimizationPriorityRankedAction"},"type":"array","title":"Priority Ranked Actions"},"quick_wins":{"items":{"$ref":"#/components/schemas/OptimizationQuickWin"},"type":"array","title":"Quick Wins"},"high_impact_projects":{"items":{"$ref":"#/components/schemas/OptimizationHighImpactProject"},"type":"array","title":"High Impact Projects"},"estimated_visibility_gain":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Estimated Visibility Gain","description":"0-100 composite uplift from Gap / Competitor / Visibility / Publishing","default":0.0},"estimated_revenue_gain_yen":{"type":"integer","minimum":0.0,"title":"Estimated Revenue Gain Yen","description":"Yen-denominated rollup from Inbound Revenue / Conversion / Decision Journey","default":0},"estimated_revenue_gain":{"additionalProperties":true,"type":"object","title":"Estimated Revenue Gain","description":"Structured revenue breakdown (monthly / lower / upper bands and drivers)"},"optimization_execution_plan":{"items":{"$ref":"#/components/schemas/OptimizationExecutionStep"},"type":"array","title":"Optimization Execution Plan"},"optimization_feedback_loop":{"items":{"$ref":"#/components/schemas/OptimizationFeedbackMetric"},"type":"array","title":"Optimization Feedback Loop"},"sources_used":{"items":{"type":"string"},"type":"array","title":"Sources Used"},"disclaimer":{"type":"string","title":"Disclaimer","default":""}},"type":"object","title":"OptimizationExecutionPlanCompact","description":"Single operator-facing plan synthesised from existing engines."},"OptimizationExecutionStep":{"properties":{"step":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Step"},"title":{"type":"string","title":"Title","default":""},"deadline_days":{"type":"integer","maximum":120.0,"minimum":1.0,"title":"Deadline Days","default":7},"expected_effect":{"type":"string","title":"Expected Effect","default":""},"related_action_ids":{"items":{"type":"string"},"type":"array","title":"Related Action Ids"}},"type":"object","required":["step"],"title":"OptimizationExecutionStep","description":"Step1/Step2/Step3 with deadlines and expected effect."},"OptimizationFeedbackMetric":{"properties":{"metric_id":{"type":"string","title":"Metric Id","default":""},"label_ja":{"type":"string","title":"Label Ja","default":""},"source_engine":{"type":"string","title":"Source Engine","description":"replay_monitoring | ai_search_console | inbound_revenue_attribution | ...","default":""},"target_change_direction":{"type":"string","enum":["up","down","watch"],"title":"Target Change Direction","default":"up"},"review_in_days":{"type":"integer","maximum":120.0,"minimum":1.0,"title":"Review In Days","default":14}},"type":"object","title":"OptimizationFeedbackMetric","description":"Post-execution evaluation channel."},"OptimizationHighImpactProject":{"properties":{"project_id":{"type":"string","title":"Project Id","default":""},"title":{"type":"string","title":"Title","default":""},"rationale":{"type":"string","title":"Rationale","default":""},"target_days":{"type":"integer","maximum":120.0,"minimum":15.0,"title":"Target Days","default":60},"effort_band":{"type":"string","enum":["medium","high"],"title":"Effort Band","default":"medium"},"estimated_visibility_uplift":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Estimated Visibility Uplift","default":0.0},"estimated_revenue_uplift_yen":{"type":"integer","minimum":0.0,"title":"Estimated Revenue Uplift Yen","default":0},"related_actions":{"items":{"type":"string"},"type":"array","title":"Related Actions"},"source_engines":{"items":{"type":"string"},"type":"array","title":"Source Engines"}},"type":"object","title":"OptimizationHighImpactProject","description":"30〜90-day, medium-to-high effort, structural moves."},"OptimizationPriorityRankedAction":{"properties":{"action_id":{"type":"string","title":"Action Id","description":"Stable slug (e.g. ``inbound_english_faq``)"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority","default":"medium"},"title":{"type":"string","title":"Title","default":""},"rationale":{"type":"string","title":"Rationale","default":""},"source_engines":{"items":{"type":"string"},"type":"array","title":"Source Engines","description":"Which sub-engines suggested this action (audit trail)"},"estimated_visibility_uplift":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Estimated Visibility Uplift","default":0.0},"estimated_revenue_uplift_yen":{"type":"integer","minimum":0.0,"title":"Estimated Revenue Uplift Yen","default":0},"effort_band":{"type":"string","enum":["low","medium","high"],"title":"Effort Band","default":"medium"},"horizon":{"type":"string","enum":["quick_win","30d","60d","90d"],"title":"Horizon","default":"30d"}},"type":"object","required":["action_id"],"title":"OptimizationPriorityRankedAction","description":"Unified priority-ordered action across quick wins and high-impact projects."},"OptimizationQuickWin":{"properties":{"action_id":{"type":"string","title":"Action Id","default":""},"title":{"type":"string","title":"Title","default":""},"rationale":{"type":"string","title":"Rationale","default":""},"target_days":{"type":"integer","maximum":14.0,"minimum":1.0,"title":"Target Days","default":7},"effort_band":{"type":"string","enum":["low","medium"],"title":"Effort Band","default":"low"},"estimated_visibility_uplift":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Estimated Visibility Uplift","default":0.0},"estimated_revenue_uplift_yen":{"type":"integer","minimum":0.0,"title":"Estimated Revenue Uplift Yen","default":0},"source_engines":{"items":{"type":"string"},"type":"array","title":"Source Engines"}},"type":"object","title":"OptimizationQuickWin","description":"7-day, low-cost, high-ROI moves."},"OptimizationRecommendationRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"source_type":{"type":"string","title":"Source Type"},"claim_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Claim Id"},"related_alert_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Related Alert Id"},"recommendation_type":{"type":"string","title":"Recommendation Type"},"title":{"type":"string","title":"Title"},"issue_summary":{"type":"string","title":"Issue Summary"},"current_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Text"},"proposed_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposed Text"},"expected_impact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Impact"},"reality_alignment_score":{"type":"number","title":"Reality Alignment Score"},"ai_visibility_impact_score":{"type":"number","title":"Ai Visibility Impact Score"},"confidence":{"type":"number","title":"Confidence"},"risk_level":{"type":"string","title":"Risk Level"},"status":{"type":"string","title":"Status"},"approval_queue_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Approval Queue Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","restaurant_id","source_type","recommendation_type","title","issue_summary","reality_alignment_score","ai_visibility_impact_score","confidence","risk_level","status","created_at","updated_at"],"title":"OptimizationRecommendationRecord"},"OptimizationRecommendationsAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/OptimizationRecommendationRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"OptimizationRecommendationsAPIResponse"},"PainPointAnswerSurfaceItem":{"properties":{"pain_point":{"type":"string","title":"Pain Point","description":"検索意図・悩み・利用シーンのラベル"},"user_question":{"type":"string","title":"User Question","description":"ユーザーがAIに投げかける問いの例"},"answer_summary":{"type":"string","title":"Answer Summary","description":"この問いへの答えとして店が候補になりうる理由（answer-first）"},"why_this_restaurant":{"items":{"type":"string"},"type":"array","title":"Why This Restaurant","description":"推薦理由の箇条書き（公開情報として説明しやすい軸）"},"recommended_citation":{"type":"string","title":"Recommended Citation","description":"引用しやすい短文（既定は ChatGPT 向けトーン）"},"citations_by_ai":{"additionalProperties":{"type":"string"},"type":"object","title":"Citations By Ai","description":"モデル別に文体を変えた引用短文（chatgpt, gemini, …）"},"target_ai":{"items":{"type":"string"},"type":"array","title":"Target Ai","description":"この表面を優先的に使いやすいモデルキー"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority","description":"公開・更新の優先度","default":"medium"},"related_entities":{"items":{"type":"string"},"type":"array","title":"Related Entities","description":"GEO・検索実体として紐づけやすい語"},"answerability_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Answerability Score","description":"ストア情報からこの問いに答えられる度合いのヒューリスティック"},"conversion_intent":{"type":"string","enum":["high","medium","low"],"title":"Conversion Intent","description":"予約・来店意思の想定強度","default":"medium"},"ai_recommendability":{"type":"string","enum":["high","medium","low"],"title":"Ai Recommendability","description":"AIがそのまま答えに載せやすい度合い","default":"medium"}},"type":"object","required":["pain_point","user_question","answer_summary","recommended_citation","answerability_score"],"title":"PainPointAnswerSurfaceItem","description":"User pain / question → answer-first surface for AI citation."},"PhraseCountItem":{"properties":{"phrase":{"type":"string","title":"Phrase"},"count":{"type":"integer","minimum":0.0,"title":"Count"}},"type":"object","required":["phrase","count"],"title":"PhraseCountItem"},"PhraseScoreItem":{"properties":{"phrase":{"type":"string","title":"Phrase"},"score":{"type":"number","minimum":0.0,"title":"Score"}},"type":"object","required":["phrase","score"],"title":"PhraseScoreItem"},"PrimaryOfferBlock":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"cta_text":{"type":"string","title":"Cta Text"},"cta_url":{"type":"string","title":"Cta Url"}},"type":"object","required":["title","description","cta_text","cta_url"],"title":"PrimaryOfferBlock"},"Priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"ProbabilityFactors":{"properties":{"strengths":{"items":{"type":"string"},"type":"array","title":"Strengths"},"weaknesses":{"items":{"type":"string"},"type":"array","title":"Weaknesses"}},"type":"object","title":"ProbabilityFactors"},"ProviderBenchmarkAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"ProviderBenchmarkAPIResponse","description":"GET /provider-benchmark"},"PublishApplyEnvelope":{"properties":{"mode":{"type":"string","const":"apply","title":"Mode","default":"apply"},"publish_history_id":{"type":"integer","title":"Publish History Id"},"approval_id":{"type":"integer","title":"Approval Id"},"target_type":{"type":"string","title":"Target Type"},"target_path":{"type":"string","title":"Target Path"},"publish_status":{"type":"string","title":"Publish Status"},"rollback_available":{"type":"boolean","title":"Rollback Available","default":true},"evaluation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Evaluation"}},"type":"object","required":["publish_history_id","approval_id","target_type","target_path","publish_status"],"title":"PublishApplyEnvelope"},"PublishBody":{"properties":{"restaurant_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Restaurant Id"},"surface_type":{"type":"string","maxLength":64,"minLength":1,"title":"Surface Type"},"verified_content_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verified Content Id"}},"type":"object","required":["surface_type"],"title":"PublishBody"},"PublishHistoryListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/PublishHistoryRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"PublishHistoryListAPIResponse"},"PublishHistoryRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"approval_queue_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Approval Queue Id"},"target_type":{"type":"string","title":"Target Type"},"target_path":{"type":"string","title":"Target Path"},"before_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before Content"},"after_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After Content"},"publish_status":{"type":"string","title":"Publish Status"},"rollback_available":{"type":"boolean","title":"Rollback Available"},"rollback_snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Rollback Snapshot"},"published_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published By"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"rolled_back_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rolled Back At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","restaurant_id","target_type","target_path","publish_status","rollback_available","created_at"],"title":"PublishHistoryRecord"},"QueryBenchmarkAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"QueryBenchmarkAPIResponse","description":"GET /query-benchmark"},"QueryIntentGraphAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/QueryIntentGraphData"}},"type":"object","required":["data"],"title":"QueryIntentGraphAPIResponse"},"QueryIntentGraphData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"lightweight":{"type":"boolean","title":"Lightweight","default":false},"intent_nodes":{"items":{"$ref":"#/components/schemas/IntentNode"},"type":"array","title":"Intent Nodes"},"intent_edges":{"items":{"$ref":"#/components/schemas/IntentEdge"},"type":"array","title":"Intent Edges"},"intent_clusters":{"items":{"$ref":"#/components/schemas/IntentCluster"},"type":"array","title":"Intent Clusters"},"query_patterns":{"items":{"$ref":"#/components/schemas/QueryPatternItem"},"type":"array","title":"Query Patterns"},"recommendation_opportunities":{"items":{"$ref":"#/components/schemas/RecommendationOpportunity"},"type":"array","title":"Recommendation Opportunities"},"weak_intent_gaps":{"items":{"$ref":"#/components/schemas/WeakIntentGap"},"type":"array","title":"Weak Intent Gaps"},"ai_intent_fit":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Ai Intent Fit"}},"type":"object","required":["restaurant_id","intent_nodes","intent_edges","intent_clusters","query_patterns","recommendation_opportunities","weak_intent_gaps","ai_intent_fit"],"title":"QueryIntentGraphData"},"QueryPatternItem":{"properties":{"query":{"type":"string","title":"Query"},"intent_cluster":{"type":"string","title":"Intent Cluster"},"conversion_intent":{"type":"string","enum":["high","medium","low"],"title":"Conversion Intent"},"target_ai":{"items":{"type":"string"},"type":"array","title":"Target Ai"}},"type":"object","required":["query","intent_cluster","conversion_intent","target_ai"],"title":"QueryPatternItem"},"RankBreakdown":{"properties":{"overall":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall"},"by_ai":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object","title":"By Ai"},"known_positions":{"type":"integer","minimum":0.0,"title":"Known Positions","default":0}},"type":"object","title":"RankBreakdown"},"RankingTrendReplayItem":{"properties":{"period":{"type":"string","title":"Period"},"replay_count":{"type":"integer","minimum":0.0,"title":"Replay Count"},"recommendation_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Recommendation Rate"},"average_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Rank"}},"type":"object","required":["period","replay_count","recommendation_rate"],"title":"RankingTrendReplayItem"},"RateBreakdown":{"properties":{"overall":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Overall","default":0.0},"by_ai":{"additionalProperties":{"type":"number"},"type":"object","title":"By Ai"},"captures":{"type":"integer","minimum":0.0,"title":"Captures","default":0}},"type":"object","title":"RateBreakdown","description":"Percentage (0–100) or rate fields with per-assistant splits."},"RealtimeContextAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/RealtimeContextData"}},"type":"object","required":["data"],"title":"RealtimeContextAPIResponse"},"RealtimeContextData":{"properties":{"today_context":{"items":{"$ref":"#/components/schemas/TodayContextItem"},"type":"array","title":"Today Context"},"today_keywords":{"items":{"type":"string"},"type":"array","title":"Today Keywords"},"timeliness_summary":{"type":"string","title":"Timeliness Summary","description":"Human-readable realtime / timeliness narrative for operators and AI citations."},"ai_realtime_hint":{"type":"string","title":"Ai Realtime Hint","description":"Short hint for assistants on who to recommend this store to today."}},"type":"object","required":["today_context","today_keywords","timeliness_summary","ai_realtime_hint"],"title":"RealtimeContextData"},"RealtimeGapItem":{"properties":{"theme":{"type":"string","title":"Theme"},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["theme","detail"],"title":"RealtimeGapItem"},"RealtimeOptimizationBlock":{"properties":{"top_signal":{"type":"string","title":"Top Signal","default":""},"effectiveness":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Effectiveness","default":0.0},"recommended_frequency":{"type":"string","title":"Recommended Frequency","description":"e.g. daily | weekly | as_needed","default":""}},"type":"object","title":"RealtimeOptimizationBlock"},"ReassuranceSurface":{"properties":{"for_hesitation":{"type":"string","title":"For Hesitation"},"answer":{"type":"string","title":"Answer"},"target_destination":{"type":"string","title":"Target Destination"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"}},"type":"object","required":["for_hesitation","answer","target_destination","priority"],"title":"ReassuranceSurface"},"RecommendationOpportunity":{"properties":{"opportunity":{"type":"string","title":"Opportunity"},"score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Score"},"reason":{"type":"string","title":"Reason"},"recommended_action":{"type":"string","title":"Recommended Action"}},"type":"object","required":["opportunity","score","reason","recommended_action"],"title":"RecommendationOpportunity"},"RecommendationOutcomeRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"provider":{"type":"string","title":"Provider"},"replay_id":{"type":"integer","title":"Replay Id"},"feedback_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Feedback Id"},"recommendation_quality_score":{"type":"number","title":"Recommendation Quality Score"},"expectation_match_score":{"type":"number","title":"Expectation Match Score"},"satisfaction_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Satisfaction Score"},"revisit_intent_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Revisit Intent Score"},"outcome_score":{"type":"number","title":"Outcome Score"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","restaurant_id","provider","replay_id","recommendation_quality_score","expectation_match_score","outcome_score","created_at"],"title":"RecommendationOutcomeRecord"},"RecommendationOutcomesAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/RecommendationOutcomeRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"RecommendationOutcomesAPIResponse"},"RecommendationProfileData":{"properties":{"restaurant":{"$ref":"#/components/schemas/RestaurantBlock"},"recommendation_reasons":{"items":{"$ref":"#/components/schemas/RecommendationReasonItem"},"type":"array","title":"Recommendation Reasons"},"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords"},"recommended_for":{"items":{"type":"string"},"type":"array","title":"Recommended For"},"strength_summary":{"type":"string","title":"Strength Summary"},"llm_hint":{"type":"string","title":"Llm Hint","description":"Short JP hint for LLM / AIO surfaces."}},"type":"object","required":["restaurant","recommendation_reasons","keywords","recommended_for","strength_summary","llm_hint"],"title":"RecommendationProfileData"},"RecommendationRealityAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/RecommendationRealityData"}},"type":"object","required":["data"],"title":"RecommendationRealityAPIResponse"},"RecommendationRealityData":{"properties":{"recommendation_reality_score":{"type":"number","title":"Recommendation Reality Score"},"level":{"type":"string","title":"Level"},"risk":{"type":"string","title":"Risk"},"summary":{"type":"string","title":"Summary"},"score_breakdown":{"$ref":"#/components/schemas/RecommendationRealityScoreBreakdown","description":"Phase 6 — Per-component breakdown of the headline score"}},"type":"object","required":["recommendation_reality_score","level","risk","summary"],"title":"RecommendationRealityData"},"RecommendationRealityScoreBreakdown":{"properties":{"satisfaction_component":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Satisfaction Component","description":"Driven by avg satisfaction / review rows","default":0.0},"expectation_component":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Expectation Component","description":"Inverse of harsh gap ratio across ClaimExperienceScore rows","default":0.0},"trust_component":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Trust Component","description":"`restaurant_claims.trust_status='verified'` share × 100","default":0.0},"revisit_component":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Revisit Component","description":"Repeat-visit signal from feedback rows","default":0.0},"cultural_alignment_component":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Cultural Alignment Component","description":"Tourist / English / multilingual expectation coverage from `expectation_dimensions`","default":0.0},"weights":{"additionalProperties":{"type":"number"},"type":"object","title":"Weights","description":"Blend weights used for the headline score (audit / future calibration)"},"sample_evidence":{"additionalProperties":{"type":"integer"},"type":"object","title":"Sample Evidence","description":"Counts of underlying rows per component (transparency)"}},"type":"object","title":"RecommendationRealityScoreBreakdown","description":"Phase 6 — Component breakdown of `recommendation_reality_score` (real-data driven, no mock).\n\nEach component is 0–100. The headline score is a weighted blend."},"RecommendationReasonItem":{"properties":{"type":{"type":"string","title":"Type","description":"Stable machine key, e.g. fresh_seafood, premium_oyster"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","title","description"],"title":"RecommendationReasonItem"},"RecommendationSurfaceItem":{"properties":{"situation":{"type":"string","title":"Situation","description":"エリア×シチュエーションの一文"},"audience":{"type":"string","title":"Audience","description":"想定する利用者像"},"strength":{"type":"string","title":"Strength","description":"このシーンでの強みの要約"},"recommendation_reasons":{"items":{"type":"string"},"type":"array","title":"Recommendation Reasons","description":"AIが説明しやすい理由ベクトル"},"ai_summary":{"type":"string","title":"Ai Summary","description":"LLMがそのまま引用しやすい超短文"},"recommended_keywords":{"items":{"type":"string"},"type":"array","title":"Recommended Keywords","description":"検索・回答生成で効く語"}},"type":"object","required":["situation","audience","strength","ai_summary"],"title":"RecommendationSurfaceItem"},"RecommendationTrendItem":{"properties":{"period":{"type":"string","title":"Period","description":"ISO week label e.g. 2026-W19"},"captures":{"type":"integer","minimum":0.0,"title":"Captures"},"mention_rate":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Mention Rate"}},"type":"object","required":["period","captures","mention_rate"],"title":"RecommendationTrendItem"},"RecommendedContentBlockItem":{"properties":{"type":{"type":"string","enum":["citation_snippet","geo_description","realtime_blurb","competitor_angle","faq_seed"],"title":"Type"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority"},"content":{"type":"string","title":"Content"},"target_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Ai"}},"type":"object","required":["type","priority","content"],"title":"RecommendedContentBlockItem"},"RecommendedFaqUpdateItem":{"properties":{"question":{"type":"string","title":"Question"},"answer":{"type":"string","title":"Answer"},"apply_policy":{"type":"string","title":"Apply Policy","description":"Trust layer: safe apply policy tag for downstream Apply Engine wiring","default":"human_review_required"}},"type":"object","required":["question","answer"],"title":"RecommendedFaqUpdateItem"},"RecommendedGeoUpdateItem":{"properties":{"entity":{"type":"string","title":"Entity"},"reason":{"type":"string","title":"Reason"},"apply_policy":{"type":"string","title":"Apply Policy","description":"Trust layer: safe apply policy tag for downstream Apply Engine wiring","default":"human_review_required"}},"type":"object","required":["entity","reason"],"title":"RecommendedGeoUpdateItem"},"RecommendedSurfaceUpdateItem":{"properties":{"target":{"type":"string","title":"Target"},"priority":{"type":"string","enum":["high","medium","low"],"title":"Priority","default":"medium"},"content":{"type":"string","title":"Content"},"apply_policy":{"type":"string","title":"Apply Policy","description":"Trust layer: safe apply policy tag for downstream Apply Engine wiring","default":"human_review_required"}},"type":"object","required":["target","content"],"title":"RecommendedSurfaceUpdateItem"},"RejectTouristClaimBody":{"properties":{"reviewer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Name"},"reviewer_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Note"},"risk_level":{"type":"string","enum":["low","medium","high","critical"],"title":"Risk Level","default":"medium"},"verification_score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Verification Score"}},"type":"object","title":"RejectTouristClaimBody"},"ReplayAnalyzeImpactAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ReplayAnalyzeImpactData"}},"type":"object","required":["data"],"title":"ReplayAnalyzeImpactAPIResponse"},"ReplayAnalyzeImpactData":{"properties":{"learning_history_id":{"type":"integer","title":"Learning History Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"replay_id":{"type":"integer","title":"Replay Id"},"publish_history_id":{"type":"integer","title":"Publish History Id"},"claim_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Claim Id"},"ai_provider":{"type":"string","title":"Ai Provider"},"recommendation_strength":{"type":"string","title":"Recommendation Strength"},"recommendation_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recommendation Delta"},"citation_used":{"type":"boolean","title":"Citation Used"},"realtime_used":{"type":"boolean","title":"Realtime Used"},"ranking_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking Position"},"confidence_before":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Before"},"confidence_after":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence After"},"confidence_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence Delta"},"learning_blocked":{"type":"boolean","title":"Learning Blocked","default":false},"learning_block_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Learning Block Reason"},"apply_policy_snapshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apply Policy Snapshot"},"replay_publish_window_hours":{"type":"number","title":"Replay Publish Window Hours"}},"type":"object","required":["learning_history_id","restaurant_id","replay_id","publish_history_id","ai_provider","recommendation_strength","citation_used","realtime_used","replay_publish_window_hours"],"title":"ReplayAnalyzeImpactData"},"ReplayAnalyzeImpactIn":{"properties":{"replay_id":{"type":"integer","minimum":1.0,"title":"Replay Id"},"publish_history_id":{"type":"integer","minimum":1.0,"title":"Publish History Id"}},"type":"object","required":["replay_id","publish_history_id"],"title":"ReplayAnalyzeImpactIn"},"ReplayMonitoringCompact":{"properties":{"total_replays":{"type":"integer","minimum":0.0,"title":"Total Replays","default":0},"replay_by_ai":{"additionalProperties":{"type":"integer"},"type":"object","title":"Replay By Ai"},"mention_rate":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Mention Rate","default":0},"replay_trend":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Replay Trend","description":"Recent calendar-day run counts ascending (UTC dates from monitoring results)"},"replay_sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Replay Sources","description":"Per-provider totals (provider + replay_count keys)"}},"type":"object","title":"ReplayMonitoringCompact","description":"Replay Monitoring job results aggregate (distinct from ai_recommendation_replays summaries)."},"ReplayMonitoringJobCreate":{"properties":{"provider":{"type":"string","maxLength":24,"title":"Provider"},"query":{"type":"string","minLength":3,"title":"Query"},"area_slug":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Area Slug"},"category_slug":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Category Slug"},"frequency_minutes":{"type":"integer","maximum":43200.0,"minimum":5.0,"title":"Frequency Minutes","default":60},"is_active":{"type":"boolean","title":"Is Active","default":true},"learning_integration_enabled":{"type":"boolean","title":"Learning Integration Enabled","default":false},"learning_publish_history_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Learning Publish History Id"}},"type":"object","required":["provider","query"],"title":"ReplayMonitoringJobCreate"},"ReplayMonitoringJobCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ReplayMonitoringJobRecord"}},"type":"object","required":["data"],"title":"ReplayMonitoringJobCreatedAPIResponse"},"ReplayMonitoringJobRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"provider":{"type":"string","title":"Provider"},"query":{"type":"string","title":"Query"},"area_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Slug"},"category_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Slug"},"is_active":{"type":"boolean","title":"Is Active"},"frequency_minutes":{"type":"integer","title":"Frequency Minutes"},"last_run_at":{"anyOf":[{},{"type":"null"}],"title":"Last Run At"},"next_run_at":{"anyOf":[{},{"type":"null"}],"title":"Next Run At"},"learning_integration_enabled":{"type":"boolean","title":"Learning Integration Enabled"},"learning_publish_history_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Learning Publish History Id"},"is_bootstrap":{"type":"boolean","title":"Is Bootstrap","default":false},"created_at":{"title":"Created At"},"updated_at":{"title":"Updated At"}},"type":"object","required":["id","restaurant_id","provider","query","area_slug","category_slug","is_active","frequency_minutes","last_run_at","next_run_at","learning_integration_enabled","learning_publish_history_id","created_at","updated_at"],"title":"ReplayMonitoringJobRecord"},"ReplayMonitoringJobsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ReplayMonitoringJobRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ReplayMonitoringJobsListAPIResponse"},"ReplayMonitoringResultsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ReplayMonitoringResultsListAPIResponse"},"ReplayMonitoringRunAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ReplayMonitoringRunEnvelope"}},"type":"object","required":["data"],"title":"ReplayMonitoringRunAPIResponse"},"ReplayMonitoringRunDueAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ReplayMonitoringRunEnvelope"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ReplayMonitoringRunDueAPIResponse"},"ReplayMonitoringRunEnvelope":{"properties":{"result_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Result Id"},"visibility_score":{"type":"number","title":"Visibility Score"},"mentioned":{"type":"boolean","title":"Mentioned"},"recommendation_strength":{"type":"string","title":"Recommendation Strength"},"ai_recommendation_replay_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Recommendation Replay Id"},"claim_learning_history_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Claim Learning History Id"},"learning_integration_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Learning Integration Error"},"next_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Run At"}},"type":"object","required":["visibility_score","mentioned","recommendation_strength"],"title":"ReplayMonitoringRunEnvelope"},"RestaurantBlock":{"properties":{"name":{"type":"string","title":"Name"},"area":{"type":"string","title":"Area"},"category":{"type":"string","title":"Category"}},"type":"object","required":["name","area","category"],"title":"RestaurantBlock"},"RestaurantClaimCreate":{"properties":{"claim_type":{"type":"string","maxLength":64,"title":"Claim Type"},"claim_key":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Claim Key"},"claim_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Text"},"claim_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Value"},"trust_status":{"type":"string","maxLength":32,"title":"Trust Status"},"evidence_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Evidence Source Id"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.5},"verified_by":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Verified By"},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At"}},"type":"object","required":["claim_type","trust_status"],"title":"RestaurantClaimCreate"},"RestaurantClaimRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"claim_type":{"type":"string","title":"Claim Type"},"claim_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Key"},"claim_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Text"},"claim_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Value"},"trust_status":{"type":"string","title":"Trust Status"},"evidence_source_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Evidence Source Id"},"confidence":{"type":"number","title":"Confidence"},"verified_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified By"},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","restaurant_id","claim_type","trust_status","confidence","created_at","updated_at"],"title":"RestaurantClaimRecord"},"RevenueAttributionAIProviderCost":{"properties":{"total_cost_usd":{"type":"number","minimum":0.0,"title":"Total Cost Usd","default":0.0},"total_cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Total Cost Yen Estimate","default":0},"total_calls":{"type":"integer","minimum":0.0,"title":"Total Calls","default":0},"total_live_calls":{"type":"integer","minimum":0.0,"title":"Total Live Calls","default":0},"by_source":{"additionalProperties":{"$ref":"#/components/schemas/RevenueAttributionAIProviderCostBucket"},"type":"object","title":"By Source"},"currency":{"type":"string","title":"Currency","default":"USD"}},"additionalProperties":true,"type":"object","title":"RevenueAttributionAIProviderCost"},"RevenueAttributionAIProviderCostBucket":{"properties":{"cost_usd":{"type":"number","minimum":0.0,"title":"Cost Usd","default":0.0},"calls":{"type":"integer","minimum":0.0,"title":"Calls","default":0},"live_calls":{"type":"integer","minimum":0.0,"title":"Live Calls","default":0},"total_tokens":{"type":"integer","minimum":0.0,"title":"Total Tokens","default":0}},"additionalProperties":true,"type":"object","title":"RevenueAttributionAIProviderCostBucket"},"RevenueAttributionAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/RevenueAttributionData"}},"type":"object","required":["data"],"title":"RevenueAttributionAPIResponse"},"RevenueAttributionBySource":{"properties":{"bookings":{"type":"integer","minimum":0.0,"title":"Bookings","description":"All booking_events rows for this source (all event types)"},"reservations":{"type":"integer","minimum":0.0,"title":"Reservations","description":"event_type=booking count","default":0},"visits":{"type":"integer","minimum":0.0,"title":"Visits","description":"event_type=walkin_estimate count (来店・見込)","default":0},"inquiries":{"type":"integer","minimum":0.0,"title":"Inquiries","description":"event_type=inquiry count","default":0},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks"},"booking_conversion_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Booking Conversion Rate","description":"bookings / clicks (0 when clicks == 0); bookings = all event types"},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click","description":"estimated_sales / clicks rounded; 0 when clicks == 0"}},"additionalProperties":true,"type":"object","required":["bookings","estimated_sales","clicks","booking_conversion_rate","revenue_per_click"],"title":"RevenueAttributionBySource","description":"Phase 7-C: add-only ROI フィールドを許容するため `extra='allow'`."},"RevenueAttributionData":{"properties":{"total_estimated_sales":{"type":"integer","minimum":0.0,"title":"Total Estimated Sales"},"total_bookings":{"type":"integer","minimum":0.0,"title":"Total Bookings"},"by_source":{"additionalProperties":{"$ref":"#/components/schemas/RevenueAttributionBySource"},"type":"object","title":"By Source"},"top_performing_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Performing Source","description":"Highest revenue_per_click among sources with clicks≥3 and sales>0"},"top_revenue_contributor_ai":{"anyOf":[{"$ref":"#/components/schemas/TopRevenueContributorAI"},{"type":"null"}],"description":"Absolute highest estimated_sales among AI sources"},"revenue_summary":{"type":"string","title":"Revenue Summary"},"overall_revenue":{"type":"integer","minimum":0.0,"title":"Overall Revenue","default":0},"overall_cost_usd":{"type":"number","minimum":0.0,"title":"Overall Cost Usd","default":0.0},"overall_cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Overall Cost Yen Estimate","default":0},"overall_roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overall Roi"},"overall_roi_band":{"type":"string","title":"Overall Roi Band","default":"insufficient_cost_data"},"revenue_per_recommendation":{"type":"integer","minimum":0.0,"title":"Revenue Per Recommendation","default":0},"revenue_per_booking":{"type":"integer","minimum":0.0,"title":"Revenue Per Booking","default":0},"overall_revenue_per_click":{"type":"integer","minimum":0.0,"title":"Overall Revenue Per Click","default":0},"ai_provider_cost":{"$ref":"#/components/schemas/RevenueAttributionAIProviderCost"},"roi_by_source":{"additionalProperties":{"$ref":"#/components/schemas/RevenueAttributionROIBySourceRow"},"type":"object","title":"Roi By Source"},"top_roi_contributor_ai":{"anyOf":[{"$ref":"#/components/schemas/TopROIContributorAI"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["total_estimated_sales","total_bookings","by_source","revenue_summary"],"title":"RevenueAttributionData","description":"Add-only schema. Existing keys preserved, ROI fields added with safe defaults."},"RevenueAttributionROIBySourceRow":{"properties":{"revenue_yen":{"type":"integer","minimum":0.0,"title":"Revenue Yen","default":0},"cost_usd":{"type":"number","minimum":0.0,"title":"Cost Usd","default":0.0},"cost_yen_estimate":{"type":"integer","minimum":0.0,"title":"Cost Yen Estimate","default":0},"calls":{"type":"integer","minimum":0.0,"title":"Calls","default":0},"live_calls":{"type":"integer","minimum":0.0,"title":"Live Calls","default":0},"clicks":{"type":"integer","minimum":0.0,"title":"Clicks","default":0},"bookings":{"type":"integer","minimum":0.0,"title":"Bookings","default":0},"revenue_per_click":{"type":"integer","minimum":0.0,"title":"Revenue Per Click","default":0},"revenue_per_booking":{"type":"integer","minimum":0.0,"title":"Revenue Per Booking","default":0},"revenue_per_recommendation":{"type":"integer","minimum":0.0,"title":"Revenue Per Recommendation","default":0},"roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Roi","description":"revenue / cost — null when cost is negligible"},"roi_band":{"type":"string","title":"Roi Band","default":"insufficient_cost_data"}},"additionalProperties":true,"type":"object","title":"RevenueAttributionROIBySourceRow","description":"provider 別 ROI 行（add-only）。"},"RollbackEnvelope":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","title":"RollbackEnvelope"},"RunTravelReplayAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"RunTravelReplayAPIResponse"},"SafeWordingSuggestion":{"properties":{"claim_id":{"type":"string","title":"Claim Id"},"unsafe_wording":{"type":"string","title":"Unsafe Wording"},"safe_wording":{"type":"string","title":"Safe Wording"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["claim_id","unsafe_wording","safe_wording","reason"],"title":"SafeWordingSuggestion"},"SitemapStatus":{"properties":{"included_in_ai_sitemap":{"type":"boolean","title":"Included In Ai Sitemap","default":false},"situation_pages_count":{"type":"integer","minimum":0.0,"title":"Situation Pages Count","default":0},"geo_pages_count":{"type":"integer","minimum":0.0,"title":"Geo Pages Count","default":0},"json_feeds_count":{"type":"integer","minimum":0.0,"title":"Json Feeds Count","description":"citation-feed + realtime-context.json","default":2}},"type":"object","title":"SitemapStatus"},"StabilityReportAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","title":"StabilityReportAPIResponse"},"StoreBrainOperatorCompact":{"properties":{"store_summary":{"type":"string","title":"Store Summary","default":""},"store_positioning":{"type":"string","title":"Store Positioning","default":""},"unique_strengths":{"items":{"type":"string"},"type":"array","title":"Unique Strengths"},"trust_signals":{"items":{"type":"string"},"type":"array","title":"Trust Signals"},"category_summary":{"type":"string","title":"Category Summary","default":""},"profile_quality":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Profile Quality","default":0},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","title":"StoreBrainOperatorCompact","description":"Store Brain — derived from persisted brain_document without regeneration."},"StrategyRecommendationAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/StrategyRecommendationData"}},"type":"object","required":["data"],"title":"StrategyRecommendationAPIResponse"},"StrategyRecommendationData":{"properties":{"priority_focus":{"type":"string","title":"Priority Focus","description":"Primary AI/strategy slug (chatgpt|gemini|…)"},"strategy_summary":{"type":"string","title":"Strategy Summary"},"recommendations":{"items":{"$ref":"#/components/schemas/StrategyRecommendationItem"},"type":"array","title":"Recommendations"},"next_best_actions":{"items":{"type":"string"},"type":"array","title":"Next Best Actions","description":"Short actionable bullets (deduped)"}},"type":"object","required":["priority_focus","strategy_summary","recommendations","next_best_actions"],"title":"StrategyRecommendationData"},"StrategyRecommendationItem":{"properties":{"priority":{"$ref":"#/components/schemas/Priority"},"area":{"type":"string","title":"Area","description":"Bucket: AI source slug or thematic area"},"title":{"type":"string","title":"Title"},"reason":{"type":"string","title":"Reason"},"action":{"type":"string","title":"Action"}},"type":"object","required":["priority","area","title","reason","action"],"title":"StrategyRecommendationItem"},"TodayContextItem":{"properties":{"type":{"type":"string","enum":["today_special","availability","seasonal","lunch_drinking","limited"],"title":"Type"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","title","description"],"title":"TodayContextItem"},"TopIntentMatch":{"properties":{"intent":{"type":"string","title":"Intent"},"label":{"type":"string","title":"Label"},"match_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Match Score"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["intent","label","match_score","reason"],"title":"TopIntentMatch"},"TopPerformingPatternItem":{"properties":{"pattern":{"type":"string","title":"Pattern"},"reflection_rate":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Reflection Rate"},"best_ai":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Best Ai"}},"type":"object","required":["pattern","reflection_rate"],"title":"TopPerformingPatternItem"},"TopROIContributorAI":{"properties":{"source":{"type":"string","title":"Source"},"label_ja":{"type":"string","title":"Label Ja"},"roi":{"type":"number","minimum":0.0,"title":"Roi"},"revenue_yen":{"type":"integer","minimum":0.0,"title":"Revenue Yen"}},"type":"object","required":["source","label_ja","roi","revenue_yen"],"title":"TopROIContributorAI"},"TopRevenueContributorAI":{"properties":{"source":{"type":"string","title":"Source"},"label_ja":{"type":"string","title":"Label Ja"},"estimated_sales":{"type":"integer","minimum":0.0,"title":"Estimated Sales"}},"type":"object","required":["source","label_ja","estimated_sales"],"title":"TopRevenueContributorAI"},"TouristClaimCreate":{"properties":{"claim_key":{"type":"string","maxLength":128,"minLength":1,"title":"Claim Key"},"locale":{"type":"string","enum":["en","zh","ko"],"title":"Locale"},"title":{"type":"string","minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","maxLength":48,"minLength":1,"title":"Category"},"tourist_priority":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Tourist Priority","default":0.55},"trust_status":{"anyOf":[{"type":"string","maxLength":24},{"type":"null"}],"title":"Trust Status"},"confidence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Confidence"}},"type":"object","required":["claim_key","locale","title","category"],"title":"TouristClaimCreate"},"TouristClaimCreatedAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/TouristClaimRecord"}},"type":"object","required":["data"],"title":"TouristClaimCreatedAPIResponse"},"TouristClaimRecord":{"properties":{"id":{"type":"integer","title":"Id"},"restaurant_id":{"type":"integer","title":"Restaurant Id"},"claim_key":{"type":"string","title":"Claim Key"},"locale":{"type":"string","title":"Locale"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trust_status":{"type":"string","title":"Trust Status"},"confidence":{"type":"number","title":"Confidence"},"tourist_priority":{"type":"number","title":"Tourist Priority"},"category":{"type":"string","title":"Category"},"source_type":{"type":"string","title":"Source Type"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","restaurant_id","claim_key","locale","title","trust_status","confidence","tourist_priority","category","source_type"],"title":"TouristClaimRecord"},"TouristClaimsListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/TouristClaimRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"TouristClaimsListAPIResponse"},"TouristGovernanceEnvelopeAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"TouristGovernanceEnvelopeAPIResponse"},"TravelReplaysListAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/AITravelReplayRecord"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"TravelReplaysListAPIResponse"},"TrustConflict":{"properties":{"claim":{"type":"string","title":"Claim"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"issue":{"type":"string","title":"Issue"},"severity":{"type":"string","enum":["low","medium","high","critical"],"title":"Severity","default":"medium"},"recommended_resolution":{"type":"string","title":"Recommended Resolution"}},"type":"object","required":["claim","sources","issue","recommended_resolution"],"title":"TrustConflict"},"TrustVerificationAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/TrustVerificationReportData"}},"type":"object","required":["data"],"title":"TrustVerificationAPIResponse"},"TrustVerificationReportData":{"properties":{"restaurant_id":{"type":"integer","title":"Restaurant Id"},"lightweight":{"type":"boolean","title":"Lightweight","default":false},"claims":{"items":{"$ref":"#/components/schemas/FactClaim"},"type":"array","title":"Claims"},"conflicts":{"items":{"$ref":"#/components/schemas/TrustConflict"},"type":"array","title":"Conflicts"},"verification_queue":{"items":{"$ref":"#/components/schemas/VerificationQueueItem"},"type":"array","title":"Verification Queue"},"safe_wording_suggestions":{"items":{"$ref":"#/components/schemas/SafeWordingSuggestion"},"type":"array","title":"Safe Wording Suggestions"},"journey_hesitation_overlays":{"items":{"$ref":"#/components/schemas/JourneyHesitationTrustOverlay"},"type":"array","title":"Journey Hesitation Overlays"},"related_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Related Claims"},"evidence_sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Evidence Sources"},"approval_required":{"type":"boolean","title":"Approval Required","default":false},"approval_queue_items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Approval Queue Items"},"auto_apply_policy":{"additionalProperties":true,"type":"object","title":"Auto Apply Policy"}},"type":"object","required":["restaurant_id","claims","conflicts","verification_queue","safe_wording_suggestions"],"title":"TrustVerificationReportData"},"UrlCheckItem":{"properties":{"url":{"type":"string","title":"Url"},"status":{"type":"string","enum":["ok","warning","broken"],"title":"Status"},"detail":{"type":"string","title":"Detail","default":""}},"type":"object","required":["url","status"],"title":"UrlCheckItem","description":"Per-URL probe (logical URL using public_base_url prefix)."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerificationQueueItem":{"properties":{"claim_id":{"type":"string","title":"Claim Id"},"question_to_staff":{"type":"string","title":"Question To Staff"},"why_needed":{"type":"string","title":"Why Needed"},"options":{"items":{"type":"string"},"type":"array","title":"Options"},"priority":{"type":"string","enum":["critical","high","medium","low"],"title":"Priority"}},"type":"object","required":["claim_id","question_to_staff","why_needed","options","priority"],"title":"VerificationQueueItem"},"VerifyTouristClaimBody":{"properties":{"reviewer_name":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Reviewer Name"},"reviewer_note":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Reviewer Note"},"risk_level":{"type":"string","enum":["low","medium","high","critical"],"title":"Risk Level","default":"low"},"verification_score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Verification Score"}},"type":"object","title":"VerifyTouristClaimBody"},"VisibilitySummaryAPIResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/VisibilitySummaryData"}},"type":"object","required":["data"],"title":"VisibilitySummaryAPIResponse"},"VisibilitySummaryData":{"properties":{"overall_visibility_score":{"type":"number","title":"Overall Visibility Score"},"providers":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providers"},"top_queries":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Queries"},"weak_queries":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Weak Queries"},"top_competitors":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Competitors"},"trending_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Trending Claims"}},"type":"object","required":["overall_visibility_score","providers","top_queries","weak_queries","top_competitors","trending_claims"],"title":"VisibilitySummaryData"},"WeakIntentGap":{"properties":{"intent":{"type":"string","title":"Intent"},"severity":{"type":"string","enum":["high","medium","low"],"title":"Severity"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["intent","severity","reason"],"title":"WeakIntentGap"},"WeakIntentGapItem":{"properties":{"intent":{"type":"string","title":"Intent"},"severity":{"type":"string","enum":["high","medium","low"],"title":"Severity"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["intent","severity","reason"],"title":"WeakIntentGapItem"}}}}