Sergei af148faa40 Add scheme files, beneficiaries module, dashboard improvements
Changes:
- Add wellnuoSheme/ folder with project documentation
- Rename patients -> beneficiaries (proper WellNuo terminology)
- Add BeneficiaryContext for state management
- Update API service with WellNuo endpoints
- Add dashboard screen for beneficiary overview
- Update navigation and layout

Scheme files include:
- API documentation with credentials
- Project description
- System analysis
- UX flow
- Legal documents (privacy, terms, support)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-12 13:38:38 -08:00

668 lines
26 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"_meta": {
"name": "WellNuo - Complete App Store Publication Guide",
"updatedAt": "2025-12-12T21:16:24.718Z"
},
"elements": [
{
"id": "main_header",
"type": "card",
"title": "WellNuo App Store Publication",
"borderColor": "purple",
"tags": [
"overview"
],
"description": "Система мониторинга благополучия пожилых людей\n\n**Продукт:** Мобильное приложение для удаленного мониторинга\n**Категория:** Health & Fitness / Medical\n**Рейтинг:** 4+ (без ограничений)\n\n**Ключевая ценность:**\nПозволяет семьям заботиться о пожилых родственниках без нарушения их приватности",
"x": 140,
"y": 307.5
},
{
"id": "phase_1_preparation",
"type": "card",
"title": "PHASE 1: Подготовка документов",
"borderColor": "purple",
"tags": [
"checklist",
"phase1"
],
"description": "**Срок: Неделя 1**\n\n□ Apple Developer Account ($99/год)\n□ App Store Connect настройка\n□ Bundle ID регистрация\n□ Сертификаты и профили\n□ Privacy Policy страница\n□ Terms of Service страница\n□ Support URL страница\n□ Marketing URL (wellnuo.com)",
"x": 520,
"y": 307.5
},
{
"id": "developer_account",
"type": "card",
"title": "Apple Developer Account",
"borderColor": "purple",
"tags": [
"phase1",
"setup"
],
"description": "**Тип:** Organization (рекомендуется)\n**Стоимость:** $99/год\n**URL:** developer.apple.com/enroll\n\n**Требования для Organization:**\n- D-U-N-S Number (бесплатно)\n- Юридическое название компании\n- Адрес регистрации\n- Website компании\n- Телефон для верификации\n\n**Время регистрации:** 1-7 дней",
"x": 900,
"y": 77.5
},
{
"id": "bundle_id_sku",
"type": "card",
"title": "Bundle ID & SKU",
"borderColor": "purple",
"tags": [
"phase1",
"setup"
],
"description": "**Bundle ID:** com.wellnuo.seniorcare\n**SKU:** WELLNUO-SENIOR-001\n\n**Capabilities (включить):**\n- Push Notifications\n- Background Modes\n- HealthKit (если интеграция)\n- Sign in with Apple\n\n**Настройка:**\nCertificates, IDs & Profiles → Identifiers → +",
"x": 1280,
"y": 77.5
},
{
"id": "certificates",
"type": "card",
"title": "Сертификаты и Provisioning",
"borderColor": "teal",
"tags": [
"phase1",
"setup"
],
"description": "**Для публикации:**\n\n1. **Distribution Certificate**\n - iOS Distribution (App Store)\n - Создать в Keychain Access\n\n2. **Provisioning Profile**\n - App Store Distribution\n - Привязать к Bundle ID\n\n**Для EAS Build (Expo):**\neas credentials → Automatic",
"x": 1660,
"y": 77.5
},
{
"id": "phase_2_content",
"type": "card",
"title": "PHASE 2: Контент и материалы",
"borderColor": "pink",
"tags": [
"checklist",
"phase2"
],
"description": "**Срок: Неделя 2**\n\n□ App Icon (все размеры)\n□ Screenshots (все устройства)\n□ App Preview Video (опционально)\n□ App Store Description\n□ Keywords (100 символов)\n□ What's New текст\n□ Promotional Text\n□ Support информация",
"x": 900,
"y": 365
},
{
"id": "app_icon_specs",
"type": "card",
"title": "App Icon - Спецификации",
"borderColor": "pink",
"tags": [
"phase2",
"design"
],
"description": "**Главная иконка:**\n1024x1024 PNG (без альфа-канала)\n\n**Требования Apple:**\n- Без прозрачности\n- Без закругленных углов (система сама)\n- Четкое изображение на всех размерах\n\n**Дизайн WellNuo:**\n- Символ сердца/заботы\n- Градиент: #4A90E2 → #7B68EE\n- Простой, узнаваемый",
"x": 1280,
"y": 192.5
},
{
"id": "screenshots_specs",
"type": "card",
"title": "Screenshots - Размеры",
"borderColor": "pink",
"tags": [
"phase2",
"design"
],
"description": "**iPhone обязательные:**\n• 6.9\" Pro Max: 1320×2868\n• 6.7\" Plus: 1290×2796\n• 6.5\" Max: 1284×2778\n• 5.5\" (для старых): 1242×2208\n\n**iPad (если поддержка):**\n• 12.9\" Pro: 2048×2732\n• 11\" Pro: 1668×2388\n\n**Количество:** 3-10 на устройство",
"x": 1660,
"y": 192.5
},
{
"id": "screenshots_content",
"type": "card",
"title": "Screenshots - Содержание",
"borderColor": "pink",
"tags": [
"phase2",
"design"
],
"description": "**Рекомендуемый порядок:**\n\n1. **Dashboard** - мониторинг\n \"Следите за благополучием близких\"\n\n2. **Оповещения** - уведомления\n \"Мгновенные уведомления\"\n\n3. **Отчеты** - статистика\n \"Ежедневные отчеты\"\n\n4. **Настройки** - приватность\n \"Полный контроль приватности\"\n\n5. **Семья** - пользователи\n \"Вся семья на связи\"",
"x": 2040,
"y": 192.5
},
{
"id": "app_preview_video",
"type": "card",
"title": "App Preview Video",
"borderColor": "pink",
"tags": [
"phase2",
"design"
],
"description": "**Формат:** H.264, M4V/MP4/MOV\n**Длительность:** 15-30 секунд\n**Звук:** Опционально\n\n**Размеры:**\n• 6.5\": 886×1920\n• iPad: 1200×1600\n\n**Структура:**\n0-5с: Логотип + проблема\n5-15с: Демо основных функций\n15-25с: Решение + результат\n25-30с: Call-to-action",
"x": 2420,
"y": 192.5
},
{
"id": "app_name_subtitle",
"type": "card",
"title": "App Name & Subtitle",
"borderColor": "blue",
"tags": [
"phase2",
"aso"
],
"description": "**App Name (30 символов max):**\nWellNuo - Senior Care Monitor\n\n**Subtitle (30 символов max):**\nElderly Wellness Tracking\n\n**Альтернативы:**\n- WellNuo: Family Care App\n- WellNuo - Elder Monitoring\n\n**Правила:**\n- Без generic слов (app, best, #1)\n- Уникальное, запоминающееся",
"x": 2800,
"y": 192.5
},
{
"id": "keywords_aso",
"type": "card",
"title": "Keywords (100 символов)",
"borderColor": "blue",
"tags": [
"phase2",
"aso"
],
"description": "**Keywords:**\nsenior care,elderly monitor,family safety,wellness tracker,aging parents,remote care,health alerts,activity monitor,caregiver app,independent living\n\n**Символов:** 98/100\n\n**Правила:**\n- Запятая без пробела\n- Без повторов из названия\n- Без множественного числа",
"x": 3180,
"y": 192.5
},
{
"id": "description_full",
"type": "card",
"title": "App Store Description",
"borderColor": "blue",
"tags": [
"phase2",
"aso"
],
"description": "**Структура (4000 символов):**\n\n**Hook (видно без раскрытия):**\nПозаботьтесь о своих близких, сохраняя их независимость. WellNuo - умная система мониторинга благополучия пожилых без камер.\n\n**Проблема:**\nБеспокоитесь о пожилых родителях?\n\n**Решение:**\nWellNuo использует сенсоры...\n\n**Features:** (буллеты)\n**CTA:** Скачайте бесплатно!",
"x": 3560,
"y": 192.5
},
{
"id": "phase_3_legal",
"type": "card",
"title": "PHASE 3: Юридические документы",
"borderColor": "red",
"tags": [
"checklist",
"phase3",
"legal"
],
"description": "**КРИТИЧЕСКИ ВАЖНО для Apple:**\n\n□ Privacy Policy (обязательно)\n□ Terms of Service (обязательно)\n□ Support URL (обязательно)\n□ GDPR Compliance\n□ CCPA Compliance\n□ Data Retention Policy\n□ Third-Party AI Disclosure (NEW 2025!)",
"x": 1280,
"y": 422.5
},
{
"id": "privacy_policy_structure",
"type": "card",
"title": "Privacy Policy - Структура",
"borderColor": "red",
"tags": [
"phase3",
"legal"
],
"description": "**URL:** wellnuo.com/privacy\n\n**Обязательные разделы (Apple 2025):**\n\n1. **Сбор данных** - что собираем\n2. **Использование** - как используем\n3. **Третьи стороны** - кому передаем\n4. **AI Disclosure** - использование AI (NEW!)\n5. **Хранение** - как долго храним\n6. **Безопасность** - как защищаем\n7. **Права пользователя** - как удалить\n8. **Дети** - политика для детей\n9. **Изменения** - как уведомляем\n10. **Контакты** - как связаться",
"x": 1660,
"y": 307.5
},
{
"id": "ai_disclosure_new",
"type": "card",
"title": "⚠️ AI Third-Party Disclosure (NEW 2025)",
"borderColor": "red",
"tags": [
"phase3",
"legal",
"critical"
],
"description": "**НОВОЕ ТРЕБОВАНИЕ Apple Nov 2025:**\n\n\"Must clearly disclose where personal data will be shared with third-party AI\"\n\n**Для WellNuo указать:**\n\n1. **Используемые AI сервисы:**\n - OpenAI GPT API\n - OpenRouter API\n\n2. **Какие данные передаются:**\n - Обезличенные паттерны активности\n - Никаких персональных данных\n\n3. **Явное согласие:**\n - Prompt при первом запуске\n - Настройка в Settings",
"x": 2040,
"y": 307.5
},
{
"id": "terms_of_service",
"type": "card",
"title": "Terms of Service - Структура",
"borderColor": "red",
"tags": [
"phase3",
"legal"
],
"description": "**URL:** wellnuo.com/terms\n\n**Разделы:**\n\n1. Принятие условий\n2. Описание сервиса\n3. Регистрация и аккаунт\n4. Подписка и оплата\n5. Возвраты (Apple policy)\n6. Ограничение ответственности\n7. Интеллектуальная собственность\n8. Запрещенные действия\n9. Прекращение использования\n10. Применимое право\n11. Контакты\n\n**Важно:** Ссылка на Apple EULA",
"x": 2420,
"y": 307.5
},
{
"id": "support_url_page",
"type": "card",
"title": "Support URL - Страница",
"borderColor": "red",
"tags": [
"phase3",
"legal"
],
"description": "**URL:** wellnuo.com/support\n\n**Содержание:**\n\n1. **FAQ** - частые вопросы\n2. **Guides** - как начать\n3. **Troubleshooting** - решение проблем\n4. **Contact Form** - форма обращения\n5. **Email:** support@wellnuo.com\n6. **Phone:** +1-408-647-7068\n7. **Response Time:** 24-48 часов\n\n**Требование Apple:**\nОбязательно рабочий контакт!",
"x": 2800,
"y": 307.5
},
{
"id": "phase_4_technical",
"type": "card",
"title": "PHASE 4: Технические требования",
"borderColor": "teal",
"tags": [
"checklist",
"phase4"
],
"description": "**Перед сабмитом:**\n\n□ iOS 17.0+ minimum\n□ Built with Xcode 15.2+\n□ SDK iOS 18 (с апреля 2025)\n□ ARM64 architecture\n□ No private APIs\n□ No crashes (TestFlight)\n□ IPv6 support\n□ ATS (App Transport Security)\n□ Code signing",
"x": 1660,
"y": 480
},
{
"id": "permissions_usage",
"type": "card",
"title": "Permissions & Usage Descriptions",
"borderColor": "teal",
"tags": [
"phase4",
"backend"
],
"description": "**Info.plist описания (обязательно!):**\n\n**NSLocationWhenInUseUsageDescription:**\n\"WellNuo needs location to detect when you leave or arrive home for activity monitoring.\"\n\n**NSCameraUsageDescription:**\n\"WellNuo uses camera to scan QR codes for device setup.\"\n\n**NSHealthShareUsageDescription:**\n\"WellNuo reads health data to monitor your wellness status.\"\n\n**Правило:** Конкретная причина!",
"x": 2040,
"y": 422.5
},
{
"id": "app_privacy_labels",
"type": "card",
"title": "App Privacy Labels (Nutrition)",
"borderColor": "teal",
"tags": [
"phase4",
"legal"
],
"description": "**Data Linked to You:**\n- Contact Info (Email) - YES\n- Health & Fitness - YES\n- Location - YES (if used)\n\n**Data Not Linked to You:**\n- Usage Data - YES\n- Diagnostics - YES\n\n**Data Collection Purposes:**\n- App Functionality\n- Analytics (anonymized)\n\n**ВАЖНО:** Должно соответствовать Privacy Policy!",
"x": 2420,
"y": 422.5
},
{
"id": "export_compliance",
"type": "card",
"title": "Export Compliance (ECCN)",
"borderColor": "teal",
"tags": [
"phase4",
"legal"
],
"description": "**Вопрос Apple:**\n\"Does your app use encryption?\"\n\n**Для WellNuo: YES**\n- HTTPS/TLS для API\n- Secure storage\n\n**Но exemption доступен если:**\n- Стандартное HTTPS\n- Не кастомный encryption\n- Стандартные iOS APIs\n\n**Ответ:**\n\"Yes, qualifies for exemption under:\nNote 4 to Category 5, Part 2\"",
"x": 2800,
"y": 422.5
},
{
"id": "age_rating",
"type": "card",
"title": "Age Rating Questionnaire",
"borderColor": "teal",
"tags": [
"phase4"
],
"description": "**Для WellNuo (Health App):**\n\n**Violence:** None\n**Sexual Content:** None\n**Profanity:** None\n**Drug Reference:** None\n**Gambling:** None\n**Horror:** None\n**Medical Info:** Infrequent/Mild ✓\n**User Generated Content:** None\n\n**Результат:** 4+ (все возрасты)",
"x": 3180,
"y": 422.5
},
{
"id": "iap_configuration",
"type": "card",
"title": "In-App Purchases Setup",
"borderColor": "orange",
"tags": [
"phase4",
"external"
],
"description": "**Product IDs:**\n\n1. **com.wellnuo.premium.monthly**\n Type: Auto-Renewable\n Price: $4.99/month\n\n2. **com.wellnuo.premium.yearly**\n Type: Auto-Renewable\n Price: $49.99/year (Save 17%)\n\n3. **com.wellnuo.lifetime**\n Type: Non-Consumable\n Price: $149.99\n\n**Free Trial:** 7 дней",
"x": 3560,
"y": 422.5
},
{
"id": "review_notes",
"type": "card",
"title": "App Review Notes",
"borderColor": "teal",
"tags": [
"phase4"
],
"description": "**Для ревьюера Apple:**\n\n**Demo Account:**\nEmail: demo@wellnuo.com\nPassword: WellNuoDemo2025!\n\n**Notes:**\n\"This app monitors elderly wellness through environmental sensors. The demo account shows simulated sensor data.\n\nKey features:\n1. Dashboard - activity overview\n2. Alerts - notification system\n3. Reports - daily/weekly stats\n4. Settings - privacy controls\n\nAI features use OpenAI API (disclosed in privacy policy).\"",
"x": 3940,
"y": 422.5
},
{
"id": "phase_5_submit",
"type": "card",
"title": "PHASE 5: Submission Checklist",
"borderColor": "green",
"tags": [
"checklist",
"phase5"
],
"description": "**Финальная проверка:**\n\n**App Store Connect:**\n□ All metadata filled\n□ Screenshots uploaded\n□ App Preview (optional)\n□ Privacy Policy URL works\n□ Support URL works\n□ Categories selected\n□ Age rating completed\n□ Pricing set\n□ IAP configured\n□ App Privacy filled\n\n**Build:**\n□ TestFlight tested\n□ No crashes in 24h\n□ Demo account ready",
"x": 2040,
"y": 537.5
},
{
"id": "common_rejections",
"type": "card",
"title": "Common Rejection Reasons",
"borderColor": "red",
"tags": [
"phase5"
],
"description": "**Избегать:**\n\n**2.1 App Completeness:**\n- Placeholder контент\n- Broken links, Crashes\n\n**2.3 Accurate Metadata:**\n- Screenshots не соответствуют\n\n**3.1.1 In-App Purchase:**\n- IAP не работает\n\n**5.1.1 Data Collection:**\n- Privacy Policy не соответствует\n\n**5.1.2 Data Use:**\n- AI disclosure отсутствует (NEW!)\n\n**4.2 Minimum Functionality:**\n- Недостаточно функций",
"x": 2420,
"y": 537.5
},
{
"id": "review_timeline",
"type": "card",
"title": "Review Timeline",
"borderColor": "gray",
"tags": [
"phase5",
"timeline"
],
"description": "**Обычный review:**\n24-48 часов (90% apps)\n\n**Expedited Review (запрос):**\n- Critical bug fix\n- Time-sensitive event\n\n**После одобрения:**\n- Automatic release\n- Manual release (выбрать дату)\n- Phased release (7 дней)\n\n**Если rejection:**\n- Прочитать причину\n- Исправить\n- Resubmit или Appeal",
"x": 2800,
"y": 537.5
},
{
"id": "testflight_beta",
"type": "card",
"title": "TestFlight Beta Testing",
"borderColor": "green",
"tags": [
"phase4"
],
"description": "**Internal Testing:**\n- До 100 тестеров\n- Без Apple review\n- Мгновенный доступ\n\n**External Testing:**\n- До 10,000 тестеров\n- Требует Beta Review (24-48ч)\n- Public link возможен\n\n**Длительность:** 90 дней max\n\n**Рекомендация:**\n2 недели external beta перед submit",
"x": 4320,
"y": 422.5
},
{
"id": "post_launch",
"type": "card",
"title": "Post-Launch Actions",
"borderColor": "blue",
"tags": [
"phase5",
"marketing"
],
"description": "**Сразу после публикации:**\n\n1. **Мониторинг:**\n - Crash reports\n - Reviews, Downloads\n\n2. **Marketing:**\n - Press release\n - Social media\n - Product Hunt\n\n3. **ASO Optimization:**\n - A/B test screenshots\n - Keywords analysis\n\n4. **Updates Plan:**\n - Bug fixes (1.0.1)\n - Feature updates (1.1)",
"x": 3180,
"y": 537.5
},
{
"id": "localization",
"type": "card",
"title": "Localization Strategy",
"borderColor": "blue",
"tags": [
"phase2",
"marketing"
],
"description": "**Приоритетные языки:**\n\n1. **English (US)** - Primary\n2. **Spanish** - Latin America\n3. **German** - Europe\n4. **French** - Europe/Canada\n5. **Chinese Simplified**\n6. **Japanese**\n\n**Локализовать:**\n- App Store description\n- Screenshots text\n- Keywords (разные!)\n- What's New",
"x": 4700,
"y": 422.5
},
{
"id": "analytics_setup",
"type": "card",
"title": "Analytics Setup",
"borderColor": "gray",
"tags": [
"phase5",
"overview"
],
"description": "**App Store Connect:**\n- Impressions\n- Downloads\n- Sales, Retention\n\n**In-App Analytics:**\n- Firebase Analytics\n- Amplitude / Mixpanel\n\n**Key Metrics:**\n- DAU/MAU\n- Session duration\n- Feature usage\n- Subscription conversion\n- Churn rate",
"x": 5080,
"y": 422.5
},
{
"id": "automation_cicd",
"type": "card",
"title": "Automation & CI/CD",
"borderColor": "teal",
"tags": [
"phase4",
"backend"
],
"description": "**EAS Build (Expo):**\neas build --platform ios\neas submit --platform ios\n\n**Fastlane:**\n- match (certificates)\n- pilot (TestFlight)\n- deliver (App Store)\n\n**GitHub Actions:**\n- Auto build on push\n- Auto submit to TestFlight\n\n**App Store Connect API:**\n- API Key в App Store Connect",
"x": 5460,
"y": 422.5
},
{
"id": "launch_timeline",
"type": "card",
"title": "Launch Timeline",
"borderColor": "purple",
"tags": [
"timeline"
],
"description": "**Week 1:** Документы и аккаунты\n**Week 2:** Контент и материалы\n**Week 3:** Юридические документы\n**Week 4:** Техническая подготовка\n**Week 5-6:** TestFlight Beta\n**Week 7:** Submit to App Store\n**Week 8:** Review + Launch\n\n**Итого:** ~8 недель до публикации",
"x": 5840,
"y": 422.5
}
],
"connections": [
{
"from": "main_header",
"to": "phase_1_preparation",
"label": "Start"
},
{
"from": "phase_1_preparation",
"to": "developer_account"
},
{
"from": "developer_account",
"to": "bundle_id_sku"
},
{
"from": "bundle_id_sku",
"to": "certificates"
},
{
"from": "phase_1_preparation",
"to": "phase_2_content",
"label": "Next"
},
{
"from": "phase_2_content",
"to": "app_icon_specs"
},
{
"from": "app_icon_specs",
"to": "screenshots_specs"
},
{
"from": "screenshots_specs",
"to": "screenshots_content"
},
{
"from": "screenshots_content",
"to": "app_preview_video"
},
{
"from": "app_preview_video",
"to": "app_name_subtitle"
},
{
"from": "app_name_subtitle",
"to": "keywords_aso"
},
{
"from": "keywords_aso",
"to": "description_full"
},
{
"from": "phase_2_content",
"to": "phase_3_legal",
"label": "Parallel"
},
{
"from": "phase_3_legal",
"to": "privacy_policy_structure"
},
{
"from": "privacy_policy_structure",
"to": "ai_disclosure_new",
"label": "NEW 2025!"
},
{
"from": "ai_disclosure_new",
"to": "terms_of_service"
},
{
"from": "terms_of_service",
"to": "support_url_page"
},
{
"from": "phase_3_legal",
"to": "phase_4_technical",
"label": "Next"
},
{
"from": "phase_4_technical",
"to": "permissions_usage"
},
{
"from": "permissions_usage",
"to": "app_privacy_labels"
},
{
"from": "app_privacy_labels",
"to": "export_compliance"
},
{
"from": "export_compliance",
"to": "age_rating"
},
{
"from": "age_rating",
"to": "iap_configuration"
},
{
"from": "iap_configuration",
"to": "review_notes"
},
{
"from": "review_notes",
"to": "testflight_beta"
},
{
"from": "phase_4_technical",
"to": "phase_5_submit",
"label": "Final"
},
{
"from": "phase_5_submit",
"to": "common_rejections"
},
{
"from": "common_rejections",
"to": "review_timeline"
},
{
"from": "review_timeline",
"to": "post_launch"
},
{
"from": "testflight_beta",
"to": "localization"
},
{
"from": "localization",
"to": "analytics_setup"
},
{
"from": "analytics_setup",
"to": "automation_cicd"
},
{
"from": "automation_cicd",
"to": "launch_timeline"
}
],
"tagsDictionary": [
{
"id": "tag-overview",
"name": "overview",
"color": "purple"
},
{
"id": "tag-checklist",
"name": "checklist",
"color": "green"
},
{
"id": "tag-phase1",
"name": "phase1",
"color": "purple"
},
{
"id": "tag-phase2",
"name": "phase2",
"color": "pink"
},
{
"id": "tag-phase3",
"name": "phase3",
"color": "red"
},
{
"id": "tag-phase4",
"name": "phase4",
"color": "teal"
},
{
"id": "tag-phase5",
"name": "phase5",
"color": "cyan"
},
{
"id": "tag-setup",
"name": "setup",
"color": "brown"
},
{
"id": "tag-design",
"name": "design",
"color": "pink"
},
{
"id": "tag-aso",
"name": "aso",
"color": "blue"
},
{
"id": "tag-legal",
"name": "legal",
"color": "red"
},
{
"id": "tag-critical",
"name": "critical",
"color": "red"
},
{
"id": "tag-backend",
"name": "backend",
"color": "teal"
},
{
"id": "tag-external",
"name": "external",
"color": "orange"
},
{
"id": "tag-marketing",
"name": "marketing",
"color": "blue"
},
{
"id": "tag-timeline",
"name": "timeline",
"color": "gray"
}
]
}