여행사 일정표·제안서 작성을 Claude Code로 절반 시간에 끝내는 법
여행사 플래너를 위한 가이드. Claude Code와 생성형 AI로 일정표·견적·제안서 작성을 단축하는 절차를 프롬프트 템플릿과 검증 스크립트와 함께 소개합니다.
금요일 저녁, 카운터에 손님 한 분이 오셨습니다. “다음 주말에 부부끼리 교토 2박. 예산은 50만 원 정도로, 단풍이랑 가이세키를 보고 싶어요.” 좋은 상담입니다. 그런데 제 머릿속을 스친 건, 지금부터 시작될 2시간이었습니다.
숙소 빈방을 알아보고, 이동 시간을 짜고, 요금을 계산기로 더하고, 워드에 옮겨 적고, 주의사항을 붙여 넣고, 마지막으로 오타를 고친다. 제안서 한 건에 2시간. 그걸 하루에 몇 건씩 떠안으면, 밤이 되어도 “내일 다시 짜자” 하는 산더미가 남습니다. 손님 얼굴보다 템플릿 빈칸 채우는 작업에 시간을 빨립니다. 이게 여행사 플래너의 꽤 현실적인 하루라고 생각합니다.
저는 이 “조립과 정서(淨書)” 부분을 Claude Code와 생성형 AI에 대신 맡겼습니다. 결론부터 말하면, 제안서 한 건당 작업이 2시간에서 50분 정도로 줄었습니다. 다만 통째로 던지면 잘 안 됩니다. 맡길 범위와 사람이 반드시 쥐어야 할 범위를 칼같이 나누는 게 요령이었습니다.
핵심 요약
- 일정표·견적·제안서의 “조립과 정서”는 AI가 잘합니다. 플래너는 행선지 고르기와 손님 응대에 집중할 수 있습니다
- 그대로 빌려 쓸 수 있는 프롬프트 템플릿과, 요금 계산 실수를 기계로 걸러내는 검증 스크립트를 실었습니다
- 요금·재고·취소 규정처럼 “틀리면 사고가 되는 숫자”는 사람이 반드시 확인합니다. 여기에 선을 긋는 게 안전하게 쓰는 조건입니다
- 개인정보는 이름과 예약번호를 가린 뒤 AI에 넘깁니다. 원본 데이터를 붙여넣지 않는 운영 규칙을 먼저 정합니다
- 한 건 2시간이 50분으로. 월 60건이면 약 70시간 절약이라는 어림 계산이 섭니다
애초에 여행사 일의 어디가 무거운가
이 글의 독자는 아마 매장이나 법인 영업에서 맞춤형 여행을 짜는 플래너일 겁니다. 패키지를 파는 것보다 요청을 듣고 처음부터 짜는 비중이 높은 사람일수록, 이 글이 와닿을 겁니다.
맞춤형 제안은 대체로 이런 흐름으로 흘러갑니다.
- 청취: 행선지, 인원, 예산, 취향, 빼면 안 되는 조건을 듣는다
- 소재 수집: 숙소, 교통, 현지 체험 후보와 요금을 알아본다
- 조립: 이동 시간과 빈방 상황을 보며 일정에 녹인다
- 견적: 숙박, 교통, 수배료, 세금을 더해 총액을 낸다
- 정서: 일정표와 제안서로 다듬고 주의사항을 덧붙인다
- 제시와 수정: 손님에게 내고 “둘째 날은 관광 좀 더” 같은 수정을 반영한다
이 중 1과 6은 사람만 할 수 있습니다. 손님 표정과 예산의 속내를 읽는 일입니다. 반면 3부터 5는 정해진 소재를 정해진 틀에 흘려 넣는 작업입니다. 여기에 매번 1~2시간이 걸리고, 게다가 수정할 때마다 같은 작업을 다시 합니다. 헛수고의 정체가 바로 여기 있습니다.
“둘째 날은 좀 더 여유롭게”라는 말을 들으면, 이동 시간도 요금도 전부 다시 짭니다. 엑셀 행을 하나 밀었을 뿐인데 합계가 안 맞고, 못 알아채고 내보내서 얼굴이 빨개진다. 이런 작은 사고가 현장에서는 의외로 자주 생깁니다.
AI에 맡길 범위와, 사람이 반드시 판단할 범위
여기를 애매하게 두면 사고가 납니다. 먼저 선을 긋습니다.
| 공정 | AI에 맡긴다 | 사람이 반드시 판단한다 |
|---|---|---|
| 청취 | 질문 누락 점검 | 예산의 속내, 궁합, 분위기 읽기 |
| 소재 수집 | 후보 사전 조사, 비교표 작성 | 재고·빈방 최종 확인, 추천 취사선택 |
| 조립 | 이동 시간을 고려한 일정 초안 | 무리 없는 동선인지, 체력에 맞는지 |
| 견적 | 계산식 조립, 합계 초안 | 매입 단가, 환율, 취소 규정 숫자 |
| 정서 | 일정표·제안서 정형화, 오타 점검 | 최종 승인, 손님 명의 확정 |
기억해 두실 선 긋기는 하나입니다. “틀리면 환불이나 클레임이 되는 숫자”는 반드시 사람이 확인한다. 요금, 빈방, 취소료, 연령별 요금, 환율. 여기는 AI 초안을 곧이곧대로 받지 말고, 매입처의 정식 요금으로 대조합니다. AI는 빠른 정서 담당이지 요금을 보증해 주지는 않습니다.
Use case 1: 요청 메모에서 일정표 초안 만들기
청취 메모는 대개 제각각인 글머리 기호 목록입니다. 이걸 일정표 형태로 옮기는 데 저는 지금까지 가장 많은 시간을 썼습니다. 여기를 AI에 넘깁니다.
그대로 쓸 수 있는 프롬프트 템플릿이 이겁니다.
당신은 여행사의 베테랑 플래너입니다.
아래 요청 메모를 바탕으로, 이동 시간에 무리가 없는 일정표 초안을 만들어 주세요.
# 요청 메모
- 행선지: 교토
- 일정: 2박 3일
- 인원: 부부 2명
- 예산: 총액 50만 원 전후
- 희망: 단풍 명소, 저녁은 가이세키, 이동은 너무 빡빡하지 않게
# 출력 규칙
- 하루를 "오전/오후/저녁"으로 구분한다
- 각 항목에 소요 시간 기준과 이동 수단을 적는다
- 이동이 1시간을 넘는 곳에는 "★이동 긺"이라고 주를 단다
- 요금이 필요한 곳은 [확인필요:요금]이라 적고, 숫자는 멋대로 채우지 않는다
- 마지막에 "확인이 필요한 항목"을 글머리 기호로 나열한다
마지막 두 줄이 핵심입니다. 요금은 멋대로 채우게 두지 말고 [확인필요:요금] 자리표시자로 둔다. 이렇게 하면 AI가 그럴듯한 가짜 가격을 적는 사고를 막을 수 있습니다. 나온 초안에, 내가 매입처에서 받은 정식 요금을 흘려 넣는다. 이 역할 분담이라면 안심하고 쓸 수 있습니다.
Claude Code 기본 조작에 아직 익숙하지 않은 분은 먼저 Claude Code 시작 가이드를 읽어 두면, 이 템플릿을 바로 시험할 수 있습니다.
Use case 2: 견적 합계 실수를 기계로 걸러내기
제안서에서 가장 무서운 게 요금 덧셈 실수입니다. 1박 2식을 인원수만큼, 세금과 서비스료, 수배료. 엑셀로 짜면 행을 하나 더했을 때 합계 범위가 어긋나서, 못 알아채고 낮은 금액으로 내보냅니다. 이건 사과와 차액 자비 부담 코스입니다.
그래서 견적 내역을 기계로 점검하는 스크립트를 준비했습니다. Node.js가 있으면 돌아갑니다. 내역의 소계를 전부 다시 더해서, 제시 중인 총액과 일치하는지 검산만 하는 것입니다.
// verify-quote.mjs 요금 내역과 총액이 일치하는지 검산한다
// 실행: node verify-quote.mjs
const quote = {
customer: "(가림)님",
items: [
{ label: "숙박 1박째 료칸A 2명", amount: 120000 },
{ label: "숙박 2박째 료칸B 2명", amount: 130000 },
{ label: "신칸센 왕복 2명", amount: 140000 },
{ label: "현지 가이드 반나절", amount: 45000 },
{ label: "수배료", amount: 20000 },
],
tax: 36000, // 부가가치세 등
presentedTotal: 491000, // 제안서에 적을 총액
};
const subtotal = quote.items.reduce((sum, item) => sum + item.amount, 0);
const calcTotal = subtotal + quote.tax;
console.log(`소계: ${subtotal.toLocaleString()}원`);
console.log(`세금: ${quote.tax.toLocaleString()}원`);
console.log(`계산상 총액: ${calcTotal.toLocaleString()}원`);
console.log(`제안서 총액: ${quote.presentedTotal.toLocaleString()}원`);
if (calcTotal === quote.presentedTotal) {
console.log("OK: 내역과 총액이 일치합니다");
} else {
const diff = quote.presentedTotal - calcTotal;
console.log(`NG: ${Math.abs(diff).toLocaleString()}원 어긋납니다. 제안서를 내기 전에 고치세요`);
process.exit(1);
}
이 스크립트에 presentedTotal을 제안서 숫자에 맞춰 넣어 두면, 어긋나는 순간 NG로 멈춥니다. 손님에게 내기 전 마지막 문지기입니다. items의 단가 자체는 사람이 매입처에서 확인한 값을 넣는 전제이고, 여기는 검산만 합니다. 검산과 요금 확인은 별개, 라고 딱 잘라 두는 게 중요합니다.
프롬프트 정밀도를 더 올리고 싶은 분은 프롬프트 정밀도를 올리는 요령도 함께 보세요.
Use case 3: “둘째 날을 여유롭게” 수정을 한 방에 반영하기
제시 후 수정이야말로 AI의 진가입니다. 지금까지는 요청이 올 때마다 일정도 요금도 손으로 다시 짰습니다. 지금은 이렇게 부탁합니다.
앞의 일정표에 다음 수정을 반영해 주세요.
- 둘째 날: 오전 일정을 하나 줄이고, 오후는 호텔 휴식을 1시간 넣는다
- 그로 인해 이동이 바뀌는 곳은 소요 시간을 다시 적는다
- 요금이 바뀌는 항목은 [확인필요:요금]으로 되돌린다
- 변경한 곳 앞에 "▼변경"을 붙이고, 무엇을 바꿨는지 한 줄로 설명한다
“변경한 곳에 표시를 달아 줘”라고 부탁하는 게 요령입니다. 어디가 바뀌었는지 한눈에 보이니, 제 확인이 순식간에 끝납니다. 요금이 움직이는 항목은 [확인필요:요금]으로 되돌리게 하고, 재계산은 사람이 쥔다. 이걸로 “고쳤다고 생각했는데 합계만 옛날 그대로”라는 사고가 사라졌습니다.
일정과 제안서 틀을 프로젝트에 외워 두면, 매번 처음부터 지시할 필요가 없습니다. 방법은 CLAUDE.md 작성법이 참고됩니다.
복붙으로 쓰는 확인 체크리스트
제안서를 내기 전 최종 확인은 종이든 메모든 좋으니 매번 이걸 통과시키세요.
- 요금은 매입처의 정식 견적과 대조했는가
- 빈방·재고를 최종 확인했는가 (AI 초안을 믿고 있지 않은가)
- 취소 규정과 연령별 요금을 본문에 넣었는가
- 검산 스크립트를 통과해 합계가 일치하는가
- 손님 이름·예약번호를 올바른 표기로 되돌렸는가
- 이동 시간에 무리가 없는가 (고령·어린아이 동반은 특히)
개인정보·보안 주의점
여행 수배는 이름, 생년월일, 여권번호, 예약번호 같은 민감 정보 덩어리입니다. 이걸 그대로 AI에 붙여넣는 건 피합니다.
운영 규칙은 단순하게 둘입니다. 하나, 개인정보는 가린 뒤 넘긴다. 이름은 “A님”, 예약번호는 “(가림)“으로 바꿉니다. 조립이나 정서에 실명은 필요 없습니다. 둘, 원본 데이터는 로컬에서 관리하고, 마지막 명의 끼워넣기만 사람이 손에서 한다. AI에는 틀을 만들게 하고, 개인을 특정하는 정보는 손에서 채웁니다. 이 순서를 지키면 밖으로 나가면 곤란한 정보는 흘러가지 않습니다.
회사로서 도입한다면, 무엇을 넘겨도 되고 무엇이 안 되는지를 명문화해 두면 안전합니다. 팀에서의 선 긋기 만들기는 연수·상담에서 함께 정리할 수 있습니다. 판단 기준을 애매한 채 전원에게 나눠 주면, 누군가는 반드시 원본 데이터를 붙여넣기 때문입니다.
도입 전과 후, 무엇이 바뀌었나
숫자로 늘어놓으면 변화가 뚜렷합니다.
| 항목 | 도입 전 | 도입 후 |
|---|---|---|
| 제안서 한 건 작성 시간 | 약 2시간 | 약 50분 |
| 수정 1회 반영 시간 | 약 40분 | 약 10분 |
| 합계 계산 실수 | 가끔 발생 | 검산으로 내기 전 감지 |
| 플래너의 집중 대상 | 정서와 계산기 | 행선지 고르기와 접객 |
대략적인 ROI 기준입니다. 제안서를 월 60건 만든다고 하면, 한 건당 70분 단축이면 월에 대략 70시간이 뜨는 계산이 됩니다. 그 시간을 더 나은 행선지 찾기나 추가 제안에 돌릴 수 있습니다. 여기가 가장 큰 가치라고 느낍니다.
비엔지니어도 쓸 수 있을지 불안한 분은 엔지니어가 아니어도 쓰는 Claude Code를 읽으면, 첫걸음의 문턱이 낮아질 겁니다. 일상 업무를 더 빠르게 돌리는 요령은 Claude Code 생산성 팁에도 정리해 두었습니다.
자주 묻는 질문
Q. AI가 요금을 멋대로 정해 버리지 않을까 걱정됩니다.
A. 프롬프트에서 [확인필요:요금]을 써서 숫자를 채우지 못하게 하는 운영으로 합니다. 요금은 사람이 매입처에서 확인한 값만 넣습니다. AI는 계산식과 정서 담당, 으로 역할을 고정하면 폭주하지 않습니다.
Q. 손님 실명이나 예약번호를 넣어도 괜찮나요. A. 넣지 마세요. 가린 뒤 넘기고, 마지막 명의 끼워넣기만 손에서 합니다. 조립과 정서에 개인 이름은 필요 없습니다.
Q. 저희는 자체 일정 템플릿이 있습니다. 재현할 수 있나요. A. 가능합니다. 자사 틀과 서식 규칙을 프로젝트에 외워 두면, 매번 그에 맞는 형태로 내줍니다. 자세한 내용은 공식 문서의 설정 방법을 확인하세요.
Q. 완전히 자동화해서 사람 확인을 생략할 수 있나요. A. 권하지 않습니다. 요금·재고·취소 규정 확인은 사람이 쥔다는 전제입니다. 여기를 생략하면 실수가 그대로 손님에게 갑니다. 시간 단축은 “조립과 정서”에 한하는 게 안전합니다.
실제로 시험해 본 결과
저는 첫머리의 “교토 2박” 사례를 실제로 이 흐름으로 한 건 통과시켜 봤습니다. 요청 메모에서 일정 초안을 내기까지 약 8분. 매입처에서 받은 정식 요금을 흘려 넣고 검산 스크립트에 통과시켰더니, 처음엔 손입력 실수로 5,000원 어긋나 있어서, 제대로 NG로 멈춰 줬습니다. 내기 전에 알아챈 게 무엇보다 컸습니다.
그 뒤 손님에게서 “둘째 날을 여유롭게”라는 수정이 들어왔지만, 변경한 곳에 표시를 달게 한 덕분에 확인까지 합쳐 10분도 안 걸려 교체할 수 있었습니다. 토털로, 평소라면 2시간 코스가 50분 정도. 뜬 시간으로 단풍 숨은 명소를 한 안 더 보탤 여유까지 생겼습니다.
확인한 건 셋입니다. 요금을 채우지 못하게 하는 운영으로 가짜 숫자가 안 나오는 것, 검산으로 합계 실수가 나기 전에 멈추는 것, 수정 반영이 헛수고 없이 도는 것. 이 셋이 갖춰지면 여행사 제안 만들기는 안심하고 맡길 수 있다, 는 게 지금의 실감입니다. 우선 한 건, 실패해도 무섭지 않은 안건으로 시험해 보세요. 좀 더 깊이 파고들고 싶어지면 연수·상담이나 제품 페이지도 둘러보시길 권합니다.
공식 사용법은 Claude Code 공식 문서도 참조하세요.
무료 PDF: Claude Code 치트시트
이메일을 입력하면 명령, 리뷰 습관, 안전한 워크플로를 정리한 PDF를 받을 수 있습니다.
개인정보를 안전하게 관리하며 스팸을 보내지 않습니다.
작성자 소개
Masa
Claude Code 실무 워크플로와 팀 도입을 검증하는 엔지니어입니다.
관련 글
제작사가 Claude Code에 고객 사이트를 맡기기 전 권한 체크리스트
고객 사이트를 안전하게 AI로 수정하기 위한 에이전시용 권한과 검증 절차입니다.
SaaS 고객지원 버그 신고를 Claude Code로 재현 절차로 바꾸는 방법
모호한 문의를 재현 단계, 증거, 개발자 전달 메모로 정리하는 지원팀 워크플로입니다.
Obsidian 묵은 메모를 Claude Code 지시서로 바꾸는 10분 루틴
Obsidian에 쌓인 메모가 매번 쓸모없어지는 분께. 사실·결정·미확인으로 분류해 Claude Code가 그대로 움직일 지시서로 바꾸는 아침 10분의 형(型)을 소개합니다.