데이터 필드 표준

dataware의 모든 데이터는 schema.org 국제 표준을 기반으로 정규화되어 있습니다. 별도의 필드 매핑 없이 바로 사용할 수 있는 데이터를 제공합니다.

필드 체계

dataware API가 반환하는 데이터 필드는 세 가지 계층으로 구분됩니다.

계층설명위치
Tier 1 - 공통 필드모든 데이터셋에서 사용하는 기본 필드최상위 응답 필드
Tier 2 - 준공통 필드여러 데이터셋에서 공통으로 사용하는 필드extraAttributes 내부
Tier 3 - 도메인 특화 필드특정 데이터셋 유형에서만 사용하는 필드extraAttributes 내부

API 응답의 meta.schemaVersion 필드에서 현재 스키마 버전을 확인할 수 있습니다.


Tier 1: 공통 필드

모든 데이터셋의 아이템에 포함되는 기본 필드입니다.

식별/분류

필드타입설명schema.org
namestring이름/상호명Thing.name
descriptionstring설명/소개Thing.description
categoryCodestring분류 코드 (예: lodging/glamping)-
administrativeAreaCodestring행정동코드 10자리-

연락처

필드타입설명schema.org
telephonestring대표 전화번호LocalBusiness.telephone
emailstring이메일ContactPoint.email
contactNamestring담당자명-
urlstring공식 웹사이트Thing.url

위치/주소

필드타입설명schema.org
streetAddressstring도로명+건물번호PostalAddress.streetAddress
addressRegionstring시/도PostalAddress.addressRegion
addressLocalitystring시/군/구PostalAddress.addressLocality
postalCodestring우편번호PostalAddress.postalCode
roadAddressstring전체 도로명주소-
jibunAddressstring지번주소-
latitudenumber위도 (WGS84)GeoCoordinates.latitude
longitudenumber경도 (WGS84)GeoCoordinates.longitude

운영

필드타입설명schema.org
openingHoursstring운영시간LocalBusiness.openingHours

Tier 2: 준공통 필드

여러 데이터셋에서 공통으로 사용되는 필드입니다. API 응답의 extraAttributes 안에 포함됩니다.

필드타입설명schema.org
restDaystring휴무일-
parkingstring주차 정보LocationFeatureSpecification
amenityFeaturestring[]편의시설/부대시설 목록LodgingBusiness.amenityFeature
infoSectionsobject[]구조화된 소개 섹션-
aggregateRatingnumber평균 평점AggregateRating.ratingValue
reviewCountnumber리뷰 수AggregateRating.reviewCount
babyCarriageboolean유모차 대여 가능-
petAllowedboolean반려동물 동반 가능LodgingBusiness.petsAllowed
isAccessibleForFreeboolean무료 여부Place.isAccessibleForFree
priceRangestring가격대LocalBusiness.priceRange
keywordsstring[]태그/키워드Thing.keywords
sameAsstring[]외부 링크 (SNS 등)Thing.sameAs

infoSections 구조

[
  { "title": "대표메뉴", "content": "돼지갈비" },
  { "title": "이용안내", "content": "11:00-21:00, 매주 월요일 휴무" }
]

Tier 3: 도메인 특화 필드

특정 데이터셋 유형에서만 사용되는 필드입니다. 데이터셋마다 어떤 Tier 3 키를 사용하는지는 데이터셋 정보에서 확인할 수 있습니다.

숙박 (LodgingBusiness)

필드타입설명
checkinTimestring체크인 시간 (예: "15:00")
checkoutTimestring체크아웃 시간 (예: "11:00")
numberOfRoomsnumber객실 수

음식점 (FoodEstablishment)

필드타입설명
servesCuisinestring음식 종류 (예: "한식")
menustring대표 메뉴
acceptsReservationsboolean예약 가능 여부

축제/행사 (Event)

필드타입설명
startDatestring시작일 (예: "2026-05-01")
endDatestring종료일
eventPlacestring행사 장소명
organizerstring주최/주관
eventStatusstring상태 (scheduled/cancelled/postponed)
programstring프로그램 내용

상품 (Product)

지역 농수산품, 특산품 등 판매 가능한 상품 데이터입니다.

필드타입설명
basePricenumber기본 가격 (원)
currencystring통화 코드 (예: "KRW")
originstring원산지
weightstring중량/규격
storageMethodstring보관방법 (냉장/냉동/상온)
shippingInfostring배송 정보
productOptionsobject[]상품 옵션 목록

productOptions 구조:

[
  { "name": "1kg", "additionalPrice": 0 },
  { "name": "3kg", "additionalPrice": 25000 },
  { "name": "선물세트 5kg", "additionalPrice": 50000, "description": "고급 포장" }
]

체험상품 (Experience)

농촌체험, 공방체험 등 예약 기반 체험 상품 데이터입니다.

필드타입설명
experienceTypesstring[]체험 종류
bookingUnitstring예약 단위 ("person" / "team")
capacityPerSlotnumber회차당 기본 정원
operatingTimeSlotsstring[]운영 시간대 (예: ["11:00", "14:00"])
minParticipantsnumber최소 인원
maxParticipantsnumber최대 인원
reservationRequiredboolean예약 필수 여부
seasonalAvailabilitystring운영 계절
pricingTiersobject[]가격 유형별 단가

pricingTiers 구조:

[
  { "type": "adult", "label": "성인", "price": 10000 },
  { "type": "youth", "label": "청소년", "price": 8000 },
  { "type": "child", "label": "소아", "price": 3000 }
]

캠핑/글램핑 (Campground)

필드타입설명
siteTypesstring[]사이트 유형
siteCountnumber사이트 수
facilitiesstring[]부대시설 목록

상품/체험 데이터 활용 가이드

dataware API는 상품/체험의 카탈로그(레퍼런스) 데이터를 제공합니다. 실시간 재고, 예약 상태, 결제 처리 등 트랜잭션 데이터는 API 소비자 서비스에서 관리합니다.

dataware가 제공하는 것

구분예시
상품 정의이름, 설명, 이미지, 옵션 목록
레퍼런스 가격기본 가격, 옵션별 추가 금액, 가격 유형별 단가
운영 패턴운영 시간대, 기본 정원, 운영 계절
위치/연락처주소, 좌표, 전화번호, 이메일

dataware가 제공하지 않는 것

구분이유
실시간 재고/잔여 수량트랜잭션 데이터는 소비자 서비스의 책임
특정 날짜의 예약 가능 슬롯운영 캘린더는 소비자 서비스가 관리
결제/주문 상태커머스 로직은 소비자 서비스의 책임

연동 패턴

상품 연동 시:

  • basePriceproductOptions레퍼런스 가격입니다. 소비자 서비스는 이를 기반으로 실제 판매가를 설정할 수 있습니다.
  • 상품 옵션 구조가 변경될 수 있으므로, 주기적으로 API를 조회하여 동기화하는 것을 권장합니다.

체험상품 연동 시:

  • pricingTiers는 가격 유형(성인/청소년/소아)과 기준 단가를 정의합니다. 소비자 서비스는 이를 기반으로 실제 판매가를 설정합니다.
  • operatingTimeSlotscapacityPerSlot은 기본 운영 패턴입니다. 소비자 서비스는 이를 참고하여 특정 날짜에 예약 가능한 슬롯을 생성합니다.
  • 잔여 인원 관리, 예약 차감, 매진 처리는 소비자 서비스에서 구현합니다.

레이어 분리

레이어책임데이터 특성
dataware (카탈로그)무엇이 있는가, 기본 조건은 무엇인가정적, 참조용
소비자 서비스 (커머스)언제/얼마에/몇 개 파는가동적, 트랜잭션

소비자 서비스는 dataware item의 id를 외래키로 참조하여 자체 상품/재고 테이블과 연결하는 것을 권장합니다.


하위호환 정책

dataware API는 Immutable Key Rule을 따릅니다.

  • 한번 발행된 필드 키는 이름이 변경되거나 삭제되지 않습니다.
  • 새로운 필드는 추가될 수 있지만, 기존 필드는 항상 동일한 이름과 타입으로 유지됩니다.
  • API URL은 /v1/으로 고정됩니다. 스키마 진화 시에도 엔드포인트 URL은 변경되지 않습니다.
  • 응답의 meta.schemaVersion으로 현재 스키마 버전을 확인할 수 있습니다.
{
  "meta": {
    "schemaVersion": "1.0.0"
  },
  "data": [...]
}