# डेटिंग ऐप्स

ज्योतिषीय अनुकूलता — डेटिंग ऐप्स जैसे Bumble, Hinge, Tinder, Tantan और NUiT, Struck जैसे astro-first ऐप्स में retention का प्रमुख कारण है। AstroWay API सिर्फ एक कॉल से 0–100 तक का सिनास्ट्री स्कोर प्रदान करता है — बिना स्वयं के एफेमेरिस इंजन और Solar Fire ($495) लाइसेंस के।

## यह कैसे काम करता है

1. उपयोगकर्ता पंजीकरण के दौरान जन्म की तारीख, समय और स्थान दर्ज करता है
2. मैच होने पर आपका बैकएंड दोनों व्यक्तियों के डेटा के साथ `/v1/synastry` को कॉल करता है
3. API `compatibility.score` (0–100) और `label` (harmonious/balanced/mixed/challenging) लौटाता है
4. स्कोर का उपयोग रैंकिंग के कारकों में से एक के रूप में किया जाता है

```
मैचिंग एल्गोरिदम
  ├── स्थान निकटता         (40%)
  ├── समान रुचियाँ          (30%)
  ├── ज्योतिषीय अनुकूलता   (20%)  ← AstroWay API
  └── अन्य संकेत            (10%)
```

## प्रमुख एंडपॉइंट्स

| एंडपॉइंट | क्रेडिट्स | लौटाता क्या है |
|---|---|---|
| `/v1/synastry` | 50 | क्रॉस-एस्पेक्ट्स + 0–100 स्कोर |
| `/v1/human-design/compatibility` | 100 | HD-अनुकूलता (टाइप + रणनीति) |
| `/v1/horoscope/compatibility` | 50 | पाठ्य विश्लेषण |

## एकीकरण पैटर्न

```ts
// मैच होने पर — सिनास्ट्री को कॉल करें
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">
सिनास्ट्री परिणाम अपरिवर्तनीय होता है (केवल जन्म तिथियों पर निर्भर करता है)। अपने डेटाबेस में जोड़ी `(userA_id, userB_id) → स्कोर` को कैश करें। एक API कॉल और फिर कभी पुनर्गणना की आवश्यकता नहीं।
</Aside>

## बजट आकलन

### परिदृश्य: 1,000 नए मैच प्रति दिन

| मेट्रिक | मान |
|---|---|
| मैच/दिन | 1,000 |
| क्रेडिट्स/मैच | 50 (सिनास्ट्री) |
| क्रेडिट्स/दिन | 50,000 |
| क्रेडिट्स/माह | ~1,500,000 |
| टैरिफ | **Business ($199/माह, 3,500,000 क्रेडिट्स)** |

### परिदृश्य: 50 मैच प्रति दिन (स्टार्टअप)

| मेट्रिक | मान |
|---|---|
| मैच/दिन | 50 |
| क्रेडिट्स/दिन | 2,500 |
| क्रेडिट्स/माह | ~75,000 |
| टैरिफ | **Starter ($19/माह, 200,000 क्रेडिट्स)** |

### अनुकूलन

- **कैशिंग** — डेटाबेस में स्कोर को सहेजें, पुनर्गणना न करें
- **लेज़ी प्रोसेसिंग** — सभी संभावित जोड़ियों के लिए नहीं, केवल तब गणना करें जब उपयोगकर्ता मैच खोलता है
- **पंजीकरण पर बैच गणना** — शीर्ष 20 संभावित मैचों के लिए तुरंत अनुकूलता की गणना करें

## जन्म का समय नहीं है

यदि उपयोगकर्ता को समय याद नहीं है — `"time": "12:00:00"` (दोपहर) भेजें। घर कम सटीक होंगे, लेकिन ग्रहों की स्थिति और क्रॉस-एस्पेक्ट्स सही रहेंगे। अनुकूलता स्कोर फिर भी सूचनात्मक रहेगा।

HD-अनुकूलता के लिए समय अधिक महत्वपूर्ण है — गलत समय के प्रभाव का आकलन करने के लिए `hd/sensitivity` पर विचार करें।

<CardGrid>
  <LinkCard title="Synastry API →" href="/products/synastry-api/" description="अनुकूलता एंडपॉइंट्स के बारे में विस्तार से" />
  <LinkCard title="शीघ्र शुरुआत" href="/getting-started/" description="5 मिनट में पहला अनुरोध" />
  <LinkCard title="टैरिफ" href="/pricing/" description="मुफ्त से लेकर Enterprise तक" />
</CardGrid>
