# Мухурта — електорна астрологія

Мухурта — це ведична електорна астрологія: вибір сприятливого моменту для початку важливої справи. На відміну від натальної астрології, тут карта будується _на майбутній момент_ — і алгоритм перебирає вікно дат/годин, шукаючи коли planetary panchang-фактори (тіті, накшатра, йога, карана, vara, lagna) максимально сприятливі для конкретної події.

<Aside type="tip">
**Як працюють ендпоінти мухурти.** На вхід — вікно пошуку (start/end date, location, тривалість події). На виході — упорядкований список варіантів з оцінкою, які panchang-елементи сприятливі/несприятливі, і список "уникати" (Rahu Kaal, Yamaganda, Gulika Kaal).
</Aside>

## Що ми розраховуємо

Кожен ендпоінт перевіряє унікальний набір умов:

- **marriage** — Saptapadi-час: благоприятні тіті (2, 3, 5, 7, 10, 11, 12, 13), накшатри (Rohini, Mrigashira, Uttara Phalguni, Hasta, Swati, Anuradha, Mula, Uttara Ashadha, Uttara Bhadrapada, Revati), уникнення Manglik-несумісних періодів.
- **vehicle-purchase** — Mercury/Venus сильні, уникнення Astha (Venus combust), Bhadra-карана.
- **business-start** — Jupiter-aspected lagna, 10-й дім вільний від malefics, Chandra Bala.
- **travel** — Dishashool (направлення дня), накшатра рухливості, уникнення Yamaganda.
- **naming-ceremony (Namakaran)** — на 11-й або 12-й день після народження; сприятливі накшатри для імені.
- **surgery** — уникнення Sankranti, Saturday, Chandrashtama; Mars/Saturn-related rules.
- **education-start (Vidyarambh)** — Wednesday/Thursday + Mercury/Jupiter сильні + накшатри знань (Hasta, Pushya, Sravana, Revati).
- **investment** — 2-й і 11-й дім, Jupiter і Venus підтримка.
- **property-purchase** — 4-й дім чистий, Saturn-aspected, уникнення Mars в 4.
- **griha-pravesh (новосілля)** — Уттарайана (північна сонячна траєкторія), вологий сезон уникнення, накшатри стабільності (Anuradha, Uttara*).
- **engagement** — слабші вимоги ніж marriage, але та сама логіка panchang.
- **court-case** — Mars-controlled, lagna lord міцний, опонент-сигніфікатор слабкий.

## Ендпоінти

| Ендпоінт | Кредити | Подія |
|---|---|---|
| `/v1/vedic/muhurat/marriage` | 50 | Весілля (saptapadi-час) |
| `/v1/vedic/muhurat/engagement` | 30 | Заручини |
| `/v1/vedic/muhurat/naming-ceremony` | 30 | Намакаран (наречення дитини) |
| `/v1/vedic/muhurat/griha-pravesh` | 50 | Новосілля |
| `/v1/vedic/muhurat/property-purchase` | 30 | Купівля нерухомості |
| `/v1/vedic/muhurat/vehicle-purchase` | 30 | Купівля авто |
| `/v1/vedic/muhurat/business-start` | 50 | Старт бізнесу |
| `/v1/vedic/muhurat/investment` | 30 | Інвестиція |
| `/v1/vedic/muhurat/education-start` | 30 | Vidyarambh — початок навчання |
| `/v1/vedic/muhurat/travel` | 30 | Поїздка |
| `/v1/vedic/muhurat/surgery` | 30 | Операція |
| `/v1/vedic/muhurat/court-case` | 30 | Судова справа / правовий процес |

## Приклад

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/vedic/muhurat/marriage \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "start_date": "2026-09-01",
        "end_date": "2026-12-31",
        "latitude": 28.6139,
        "longitude": 77.2090,
        "timezoneOffset": 5.5,
        "duration_hours": 3,
        "ayanamsa": "lahiri",
        "limit": 10
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/vedic/muhurat/business-start', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        start_date: '2026-09-01',
        end_date: '2026-12-31',
        latitude: 50.4501,
        longitude: 30.5234,
        timezoneOffset: 3,
        duration_hours: 2,
        ayanamsa: 'lahiri',
        limit: 5,
      }),
    });
    const { data } = await r.json();
    for (const slot of data.slots) {
      console.log(`${slot.start} → ${slot.end}: score ${slot.score}/100 (${slot.verdict})`);
      console.log(`  Tithi: ${slot.panchang.tithi}, Nakshatra: ${slot.panchang.nakshatra}`);
    }
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/vedic/muhurat/travel',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']},
        json={
            'start_date': '2026-09-01',
            'end_date': '2026-09-30',
            'latitude': 50.4501,
            'longitude': 30.5234,
            'timezoneOffset': 3,
            'duration_hours': 1,
            'ayanamsa': 'lahiri',
            'limit': 10,
        },
    )
    for slot in r.json()['data']['slots']:
        print(f"{slot['start']} → {slot['end']}: {slot['score']}/100 ({slot['verdict']})")
    ```
  </TabItem>
</Tabs>

Приклад відповіді (`marriage`, скорочено):

```json
{
  "data": {
    "event": "marriage",
    "window": { "start": "2026-09-01", "end": "2026-12-31" },
    "location": { "latitude": 28.6139, "longitude": 77.209, "timezone_offset": 5.5 },
    "slots": [
      {
        "start": "2026-11-12T07:24:00+05:30",
        "end":   "2026-11-12T10:24:00+05:30",
        "score": 84,
        "verdict": "excellent",
        "panchang": {
          "tithi": "Shukla Ekadashi",
          "nakshatra": "Rohini",
          "yoga": "Siddhi",
          "karana": "Vanij",
          "vara": "Thursday"
        },
        "factors_positive": ["Tithi auspicious", "Nakshatra Rohini", "Thursday", "No Rahu Kaal"],
        "factors_negative": []
      }
    ],
    "ayanamsa": "lahiri"
  }
}
```

## Точність і джерела

- **Канонічні тексти** — *Muhurta Chintamani* (Ramadayalu Bhattacharya, ~1600 р.) і *Muhurta Martand* (Narayana, 17 ст.). Сучасні компендіуми: B.V. Raman *Muhurta or Electional Astrology*; K.K. Pathak *Brihat Muhurta Bhusana*.
- **Panchang-фактори** — обчислюються нашим самостійним panchang-движком (`/v1/vedic/panchang/*`), той самий source-of-truth.
- **Window scanning** — алгоритм перебирає 15-хвилинні слоти всередині `[start_date, end_date]`, оцінює кожен (score 0-100), повертає top-N відсортованих по `score desc`.
- **Алгоритмічні вибори** — деякі правила (особливо для `surgery`, `court-case`) походять з вузьких регіональних шкіл. У docs ми пишемо який варіант обрали і чому.
- **Статус** — `marriage`, `vehicle-purchase`, `griha-pravesh`, `travel`, `business-start` — GREEN (cross-verified проти Drik Panchang і ProKerala). `surgery`, `court-case`, `naming-ceremony`, `investment`, `property-purchase`, `education-start`, `engagement` — переважно YELLOW (single-source школи). Детальний breakdown — `docs/AUDIT-TRAIL.md`.

## Пов'язане

<CardGrid>
  <LinkCard title="Сумісність" href="/vedic/compatibility/" description="Звірка карт перед весіллям + Manglik" />
  <LinkCard title="Йоги" href="/vedic/yogas/" description="Раджа, Дхана, Махапуруша — комбінації" />
  <LinkCard title="Доші" href="/vedic/doshas/" description="Manglik, Кала-Сарп, Пітру — афлікції" />
  <LinkCard title="Вартість" href="/credits/" description="Кредити для кожного ендпоінта" />
  <LinkCard title="Точність" href="/accuracy/" description="Як ми верифікуємо обчислення" />
  <LinkCard title="Автентифікація" href="/authentication/" description="X-Api-Key, тестові ключі" />
</CardGrid>
