# Панчанг (ведичний альманах)

Панчанг (पञ्चाङ्ग, «п'ять членів») — це ведичний альманах на конкретну добу і географію. П'ять основних компонентів (tithi, vara, nakshatra, yoga, karana) визначають сприятливість часу для дій — від весілля до запуску продукту. AstroWay покриває всі п'ять плюс додаткові тайм-слоти (choghadia, hora, rahu-kaal) одним API.

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

- **Tithi** (місячний день) — 30 tithi в синодичному циклі, кожна 12° різниці Місяць–Сонце. Ключовий показник для більшості мухурт.
- **Karana** (півтиті) — 11 karana, по 6° довготи. Класифікують активність дня.
- **Yoga** (з'єднання) — 27 yoga, сума довгот Сонця і Місяця, ділена на 13°20'. Енергетична характеристика дня.
- **Nakshatra-of-day** — основна зоряна стоянка для дати (з міткою переходу, якщо в добі більше однієї).
- **Choghadia** — 8 денних + 8 нічних слотів по 1.5 год, з мітками «Amrit / Shubh / Labh / Char» (сприятливі) і «Kaal / Rog / Udveg» (несприятливі).
- **Hora** — планетарні години (ведичний варіант, від сходу Сонця, 24 hora по ~1 год).
- **Rahu Kaal** — несприятливий інтервал (1/8 світлового дня, залежить від дня тижня).
- **Full panchang** — все вище в одному запиті (зручно для daily widget).

## Ендпоінти

| Ендпоінт | Кредити | Що повертає |
|---|---|---|
| `/v1/vedic/panchang/tithi` | 10 | Поточний tithi + момент переходу до наступного |
| `/v1/vedic/panchang/karana` | 10 | Поточна karana + перехід |
| `/v1/vedic/panchang/yoga` | 10 | Поточна yoga + перехід |
| `/v1/vedic/panchang/nakshatra` | 10 | Накшатра дня + pada + перехід |
| `/v1/vedic/panchang/choghadia` | 20 | 16 слотів (8 day + 8 night) з мітками |
| `/v1/vedic/panchang/hora` | 20 | 24 планетарні години |
| `/v1/vedic/panchang/rahu-kaal` | 10 | Інтервали Rahu/Yama/Gulika Kaal |
| `/v1/vedic/panchang/full` | 50 | Усе вище в одній відповіді |

## Приклад

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/vedic/panchang/full \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "2026-05-11",
        "timezoneOffset": 5.5,
        "latitude": 28.6139,
        "longitude": 77.2090,
        "ayanamsa": "lahiri"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const r = await fetch('https://api.astroway.info/v1/vedic/panchang/full', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        date: '2026-05-11',
        timezoneOffset: 5.5,
        latitude: 28.6139,
        longitude: 77.2090,
        ayanamsa: 'lahiri',
      }),
    });
    const { data } = await r.json();
    console.log(`Tithi: ${data.tithi.name}, Nakshatra: ${data.nakshatra.name}`);
    console.log(`Rahu Kaal: ${data.rahuKaal.start} — ${data.rahuKaal.end}`);
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/vedic/panchang/full',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']},
        json={
            'date': '2026-05-11', 'timezoneOffset': 5.5,
            'latitude': 28.6139, 'longitude': 77.2090,
            'ayanamsa': 'lahiri',
        },
    )
    data = r.json()['data']
    print(f"Tithi: {data['tithi']['name']}, Nakshatra: {data['nakshatra']['name']}")
    ```
  </TabItem>
</Tabs>

### Приклад відповіді

```json
{
  "date": "2026-05-11",
  "sunrise": "05:32:18",
  "sunset": "19:04:42",
  "tithi": {
    "index": 9,
    "name": "Navami",
    "paksha": "Shukla",
    "endsAt": "2026-05-11T11:18:42+05:30"
  },
  "karana": { "index": 17, "name": "Vanija", "endsAt": "2026-05-11T11:18:42+05:30" },
  "yoga":   { "index": 14, "name": "Vajra",  "endsAt": "2026-05-11T16:42:08+05:30" },
  "nakshatra": { "index": 7, "name": "Punarvasu", "pada": 2, "endsAt": "2026-05-11T19:51:15+05:30" },
  "rahuKaal":   { "start": "07:11", "end": "08:51" },
  "yamaganda":  { "start": "10:31", "end": "12:11" },
  "gulika":     { "start": "13:51", "end": "15:31" }
}
```

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

- **Канонічний текст:** *Surya Siddhanta* (для tithi/karana/yoga), *Brihat Samhita* (для choghadia/muhurta), *Phaladipika* (для hora). Розрахунки істинного Місяця за Swiss Ephemeris (DE441/440), не середнього — це критично для tithi-переходів (різниця може бути до 3 годин).
- **Reference cross-check:** [drikpanchang.com](https://www.drikpanchang.com/) — найбільший публічний джерело панчангу. Наші tithi/nakshatra переходи збігаються з drikpanchang в межах ±30 секунд для Lahiri ayanamsa.
- **Choghadia** — використовуємо класичний порядок 7 планетарних регентів. Перший слот дня = регент дня тижня (неділя — Сонце і т.д.).
- **Rahu Kaal** — фіксовані 1/8 інтервали від сходу до заходу Сонця, мапа день тижня → номер слота за класикою (понеділок = 2-й, вівторок = 7-й, і т.д.).
- **Точка спостереження** має значення. Накшатра і tithi змінюються в той самий момент UTC всюди — але видимі дати залежать від часового поясу. Передавайте `timezoneOffset` саме того місця, де користувач хоче читати панчанг.

<Aside type="tip">
**Daily widget pattern.** Для віджету «панчанг на сьогодні» викликайте `/v1/vedic/panchang/full` раз на добу (північ за TZ користувача) з тими ж координатами. Кешуйте на 24 години. 50 кредитів × 30 днів = 1 500 кредитів/місяць на користувача — поміщається в Indie тариф.
</Aside>

## Пов'язане

- [Даші](/vedic/dashas/) — довгострокові періоди (на роки/десятиліття), панчанг — короткострокові (на день)
- [Shadbala](/vedic/shadbala/) — сила планет у момент панчангу
- [Варги](/vedic/vargas/) — divisional charts для глибшого аналізу муртхи
- [Точність](/accuracy/) — snapshot-тести панчангу проти drikpanchang
- [Кредити](/credits/) — повна таблиця тарифів
- [Автентифікація](/authentication/) — як отримати `aw_live_*` ключ
