한국어 · English
The screen after the boarding pass
TripNaru builds trip itineraries for Korean travellers visiting Japan. It starts from a flight — not a search box. Without a flight number and departure date, the server does not generate anything. Everyone who reaches an itinerary already has fixed dates, a fixed destination and a fixed party size.
- Input = a flight
- Arrivals = NRT · HND · KIX · ITM · ICN · GMP · PUS
- Output = one complete itinerary
The arrival-airport gate runs before anything else. If the destination is not one of the four airports above, the request never reaches itinerary generation. We do not advertise destinations we do not support.
Where partner products sit
Inside itinerary slots. Not in a sidebar.
There is no banner inventory on this site and no partner logo wall. A booking card is attached to the itinerary node that needs it — a lunch slot, a night of accommodation — and it stays inside the itinerary column.
10:00–11:00 Sensoji Temple
12:00–13:00 Lunch slot · placed on the route
┗ [Book] 2 guests · 12:00 · Tokyo
→ final price is confirmed on the partner site
Stay One hotel
┗ [Book] 2 guests · 3 nights · KRW
→ final price is confirmed on the partner siteOutbound links carry the trip conditions, so the traveller does not re-enter a search form on arrival. The parameters are fixed in our contract schema.
entityId · checkIn · checkOut · partySize · locale · currency
Deep link quality
| EXACT_PRODUCT | Direct to the product page |
|---|---|
| PREFILLED_SEARCH | Search results with conditions filled in |
| CATEGORY_LANDING | Category page for that city |
| UNAVAILABLE | No usable route — the booking button is not shown at all |
Showing a button that leads nowhere is worse for your brand than showing nothing. That is why the fourth level is “not displayed”.
Once a slot reaches BOOKED_UNVERIFIED, it is locked against automatic replacement. Recomputing the itinerary will not swap a hotel the traveller has already booked, and we never prompt someone who has booked to switch to a cheaper option.
TripNaru does not issue tickets, does not process payments, and makes no lowest-price claim. Final price and availability are confirmed on the partner site.
Commission does not enter the ranking
It is stored, and used only as a tie-breaker.
packages/contracts/src/partner.ts
commissionType: z.enum(['PERCENT', 'REVSHARE', 'CPA', 'UNKNOWN']).optional(), commissionRate: z.number().optional(),
Commission rate is stored but is not an input to the recommendation score. It is used only to break a tie when quality, price and cancellation terms are identical.
That separation exists in the code today. The verification — showing no correlation between commission rate and placement — can only be computed once approved partnerships produce real rate data. We will run it as a release gate and publish the result as soon as that data exists.
Written declarations
- We do not sell placement.
- We do not incentivise clicks.
- No paid traffic and no bot traffic.
- We do not operate coupon, cashback or reward models.
- Promotional method: content (web) and mobile application.
Current status
Zero traffic today. We would rather send you a real number in ninety days than an invented one now.
| Monthly visitors | 0 |
|---|---|
| App downloads | 0 |
| Partner bookings | 0 |
| Public data integration | In progress — corpus is fixture-grade today |
| Mobile app | In progress — the web surface launches first |
We are applying with zero traffic. We accept any probation period, volume cap or interim review you apply to new partners, and we will not dispute a decision to stop if we do not meet your thresholds.
Every outbound link carries a sub-ID identifying surface, city, partner and slot. Thirty days after the first link goes live we will send you the click and booking report unprompted.
Operator
| Service | TripNaru |
|---|---|
| Operated by | LeafTime |
| Business registration | 517-19-02380 (Republic of Korea) |
| Partnerships | partners@tripnaru.com |
| General | hello@tripnaru.com |