# Dating alkalmazások

Asztrológiai kompatibilitás — retention-meghajtó a randialkalmazásokban, mint például a Bumble, Hinge, Tinder, Tantan, valamint az astro-first alkalmazásokban, például a NUiT vagy a Struck. Az AstroWay API egy kész synastry-pontszámot (0–100) biztosít egyetlen API-hívással — saját ephemeris-motor és a Solar Fire ($495) licenc nélkül.

## Hogyan működik?

1. A felhasználó a regisztráció során megadja a születési dátumát, időpontját és helyét
2. A találkozáskor a backended meghívja a `/v1/synastry` endpointot mindkét személy adataival
3. Az API visszaadja a `compatibility.score` (0–100) és a `label` (harmonious/balanced/mixed/challenging) értéket
4. A pontszámot egyike a rangsorolási tényezőknek

```
Találkozási algoritmus
  ├── Helyzeti közelség         (40%)
  ├── Közös érdeklődés          (30%)
  ├── Asztrológiai kompatibilitás (20%)  ← AstroWay API
  └── Egyéb jelek               (10%)
```

## Kulcsfontosságú endpointok

| Endpoint | Kreditek | Visszaadott érték |
|---|---|---|
| `/v1/synastry` | 50 | Keresztspektusok + 0–100 pontszám |
| `/v1/human-design/compatibility` | 100 | HD-kompatibilitás (típus + stratégia) |
| `/v1/horoscope/compatibility` | 50 | Szöveges kompatibilitási elemzés |

## Integrációs minta

```ts
// Találkozáskor — hívd meg a synastryt
async function getCompatibility(userA: UserProfile, userB: UserProfile) {
  const result = await astrowayClient.synastry({
    chart1: {
      date: userA.birthDate,
      time: userA.birthTime || '12:00:00', // noon default if unknown
      timezoneOffset: userA.tzOffset,
      latitude: userA.birthLat,
      longitude: userA.birthLng,
    },
    chart2: {
      date: userB.birthDate,
      time: userB.birthTime || '12:00:00',
      timezoneOffset: userB.tzOffset,
      latitude: userB.birthLat,
      longitude: userB.birthLng,
    },
  });

  return {
    score: result.compatibility.score,      // 0-100
    label: result.compatibility.label,      // "harmonious"
    harmony: result.compatibility.harmony,  // weighted sum
    tension: result.compatibility.tension,
  };
}
```

<Aside type="tip">
A synastry eredménye változatlan (csak a születési adatoktól függ). A `(userA_id, userB_id) → pontszám` párt cache-elheted a saját adatbázisodban. Egyetlen API-hívás, és többé nem kell újra kiszámolni.
</Aside>

## Költségbecslés

### Forgatókönyv: 1 000 új találkozás naponta

| Metrika | Érték |
|---|---|
| Találkozások/nap | 1 000 |
| Kreditek/találkozás | 50 (synastry) |
| Kreditek/nap | 50 000 |
| Kreditek/hónap | ~1 500 000 |
| Tarifa | **Business ($199/hó, 3 500 000 kredit)** |

### Forgatókönyv: 50 találkozás naponta (startup)

| Metrika | Érték |
|---|---|
| Találkozások/nap | 50 |
| Kreditek/nap | 2 500 |
| Kreditek/hónap | ~75 000 |
| Tarifa | **Starter ($19/hó, 200 000 kredit)** |

### Optimalizálás

- **Cache-elés** — tárold a pontszámot az adatbázisban, ne számold újra
- **Lusta feldolgozás** — csak akkor számold ki a synastryt, amikor a felhasználó megnyitja a találkozót, ne az összes lehetséges párra
- **Kötegelt számítás regisztrációkor** — számold ki a kompatibilitást a top 20 potenciális találkozóval rögtön

## Nincs születési idő

Ha a felhasználó nem tudja a pontos születési időt — add meg `"time": "12:00:00"` (dél). A házak kevésbé lesznek pontosak, de a bolygók pozíciói és a keresztspektusok helyesek maradnak. A kompatibilitási pontszám továbbra is informatív marad.

Az HD-kompatibilitásnál fontosabb a pontos idő — a `hd/sensitivity` értéket érdemes figyelembe venni a pontatlan időpont hatásának értékeléséhez.

<CardGrid>
  <LinkCard title="Synastry API →" href="/products/synastry-api/" description="Részletes leírás a kompatibilitási endpointokról" />
  <LinkCard title="Gyors kezdés" href="/getting-started/" description="Az első kérés 5 perc alatt" />
  <LinkCard title="Árak" href="/pricing/" description="Ingyenes verziótól az Enterprise-ig" />
</CardGrid>
