--- // 외국인 환자용 체류 안내. 병원 좌표를 중심으로 숙박·식사·회복·관광·행사를 이동 반경 순으로 놓는다. // 데이터는 한국관광공사 TourAPI 영문(EngService2)에서 scripts/fetch_medical_tourism.py 가 미리 수집한 // src/data/medicalTourism.json 이다. 값을 만들지 않는다. // - 평점·리뷰·영업시간은 TourAPI 가 주지 않아 싣지 않는다. // - 수술 전후 식이 적합성은 의학 판단이라 병원이 확정한 문구만 싣는다(site.json dietGuideEn). // - 회복 단계가 며칠째인지도 병원 확정값이다(site.json recoveryStagesEn). 단계는 이동 거리로만 정의한다. import Base from '../../layouts/Base.astro'; import { fact, site as S, SITE_NAME, clinicSchema, reservationUrl, has } from '../../lib'; import data from '../../data/medicalTourism.json'; const f = fact as Record; const Sx = S as Record; const clinic = f.shortNameEn || f.nameEn || f.shortName || 'the clinic'; const site = Astro.site!.toString().replace(/\/$/, ''); const T = data as any; const GROUPS: Array<{ key: string; label: string; blurb: string }> = [ { key: 'stay', label: 'Where to stay', blurb: 'Hotels and guesthouses near the clinic, for the days when visits are frequent.' }, { key: 'restaurant', label: 'Where to eat', blurb: 'Restaurants within walking or short-ride distance.' }, { key: 'wellness', label: 'Rest and recovery', blurb: 'Spas and jjimjilbang listed by the Korea Tourism Organization.' }, { key: 'attraction', label: 'Places to see', blurb: 'Sights within the city, once you are able to travel further.' }, { key: 'culture', label: 'Culture', blurb: 'Museums, theatres and halls.' }, { key: 'shopping', label: 'Shopping', blurb: 'Department stores, markets and streets.' }, ]; const dist = (m: number | null) => (m === null ? '' : m < 1000 ? `${m} m` : `${(m / 1000).toFixed(1)} km`); const dt = (d: string | null) => (d && d.length === 8 ? `${d.slice(0, 4)}.${d.slice(4, 6)}.${d.slice(6, 8)}` : ''); // 병원이 확정하기 전에는 비운다. 임의로 채우지 않는다. const dietGuide: string = Sx.dietGuideEn || ''; const recoveryStages: string = Sx.recoveryStagesEn || ''; const ld = [ { '@type': 'WebPage', '@id': `${site}/en/stay#page`, name: `Your stay near ${clinic}`, url: `${site}/en/stay`, inLanguage: 'en', isPartOf: { '@id': `${site}/#website` }, about: { '@id': `${f.url}/#clinic` }, publisher: { '@type': 'Organization', name: SITE_NAME, url: site } }, clinicSchema(site), ]; ---
For international patients

Your Stay in Seoul

Where to stay, eat and rest around {clinic}. Everything below is listed by distance from the clinic at {f.address?.fullEn || f.address?.full}. Addresses and names come from the Korea Tourism Organization, not from us. For the clinic's own address, hours and phone, see Clinic information.

Before you use this page

Reference point{clinic} — {T.meta.origin.lat}, {T.meta.origin.lng}
SourceKorea Tourism Organization, TourAPI EngService2 — collected {T.meta.fetchedAt.slice(0, 10)}
Search radiusStay and food 5 km · sights, culture, shopping 10 km · festivals {T.meta.festivalRadiusKm} km

Planning your days

How many days each stage lasts depends on your procedure, and only your doctor can tell you that. The stages below are defined by distance from the clinic, nothing else.

{recoveryStages ?

{recoveryStages}

:

The day-by-day schedule is pending confirmation by {clinic}. Ask at your consultation.

}
StageDistance from clinicWhat fits here
Frequent visitswithin 1 kmHotels and food you can reach on foot
Short outings1 – 3 kmRestaurants, spas
Around the city3 – 10 kmSights, culture, shopping
{GROUPS.map((g) => { const items = (T.places[g.key] ?? []) as any[]; return (

{g.label}

{g.blurb}

{g.key === 'restaurant' && ( dietGuide ?

What {clinic} advises after surgery. {dietGuide}

:

What you may eat after surgery is a medical question. {clinic} has not yet published English guidance, so we do not mark any restaurant as suitable. Please ask at your consultation.

)} {items.length === 0 ?

No English listings within this radius.

:
{items.map((p) => )}
NameDistanceAddress
{p.title}{dist(p.distanceM)}{p.address}
}
); })}

Festivals and events while you are here

Currently running or starting soon, within {T.meta.festivalRadiusKm} km of the clinic.

{T.festivals.length === 0 ?

No listings.

:
{T.festivals.map((e: any) => )}
EventDatesDistanceWhere
{e.title}{dt(e.startDate)} – {dt(e.endDate)}{e.distanceKm} km{e.address}
}

What this page does not tell you

  • No ratings, review counts or opening hours. The tourism data does not carry them, and we do not guess.
  • No claim that any restaurant suits your recovery. That is for {clinic} to say.
  • English tourism listings around Gangnam are thin. Some categories hold only a handful of entries.
  • We are not a travel agency and take no booking or commission. Links and names are for reference.

{has(reservationUrl) && Book a consultation with {clinic}}

{f.sideEffectNoticeEn || f.sideEffectNotice}