올리브영 테크블로그 포스팅 올리브영 선물 픽업 서비스 개발
Order & Present

올리브영 선물 픽업 서비스 개발

선물하기 픽업 수령 서비스 개발 일지

2022.10.17

반갑습니다! 오늘도 올리브영입니다!
안녕하세요. 저는 주문/결제 스쿼드에서 막내를 담당하고 있는 Aaron 입니다.
어느덧 올리브영에서 생활(?) 한지 1년이 다 되었습니다.
이제는 조금 많은 일을 겪으며 입문자를 벗어난 시기에 들어섰다 할 수 있을 것 같은데요.
이런 저에게 많은 일 중 가장 기억에 남는 게 무엇이냐고 한다면 저는 망설임 없이 대답할 수 있는 것이 하나 있습니다.
그것은 바로 선.물.하.기 픽.업 서비스 개발입니다.

올리브영 입사 세달 차! 백신 휴가와 설 명절 등이 껴있어 사실상 두 달 남짓 안된 수습 기간 중에 저에게 선물하기 픽업이라는 선물(?)이 다가왔습니다.
지금부터 선물하기 픽업 개발에 대한 이야기를 해보려고 합니다.


선물이 도착하였습니다.(출처:GIPHY)


#시작하기 전에

참고로 제가 올리브영에 입사를 지원하게 된 가장 큰 이유는 ‘옴니채널’ 서비스를 직접 몸으로 겪어보고 싶어서였습니다.
올리브영에는 대표적인 옴니채널 서비스로 오늘드림 서비스가 있는데요. 해당 서비스 안에는 주문한 물품을 매장에서 픽업을 할 수 있는 픽업 서비스가 있습니다.
제가 맡은 선물하기 픽업 서비스 개발의 경우에는 기존 오늘드림 픽업 서비스와 같은 기능을 할 수 있도록 선물하기 서비스에 해당 기능을 도입하는 것으로 적절한 개발 계획을 세우고 시작하게 되었습니다. (컨트롤 C + 컨트롤 V를 기대하며..)

선물하기 서비스란 ? 
선물하는 송신자는 선물 상품을 고른 후 카카오톡 이나 SMS를 통해 수신자에게 선물하기 링크를 보내주고
선물 수신자는 선물 수락 시 오늘드림 배송 또는 일반 배송으로 수락 할 지를 선택하여 제품을 택배로 받을 수 있는 서비스 입니다.

#What To Do

선물하기 픽업 서비스 개발은 선물을 수락한 사람이 배송뿐만 아니라 직접 매장으로 픽업을 할 수 있도록 서비스를 추가 개발하는 작업이었습니다.
선물하기 픽업 서비스를 추가하기 위해서는 기존 매장POS 쪽으로 선물하기 픽업 주문을 생성할 수 있도록 개발해야 했으며 픽업수락 페이지 추가, 픽업 바코드 페이지 등의 개발 요건들이 존재하였습니다.

process
선물하기 픽업 프로세스
03
개발을 시작 전 기획 문서를 보며 아직 올리브영에 친하지 않은 저는 아주 기초적인 것 부터 궁금한 내용들을 리스트업 하였습니다.
1. 수락 페이지 개발

기존 선물 수락 페이지의 경우 하나의 페이지에서 상품 정보를 노출하고 배송정보를 입력받아 수락할 수 있도록 개발되어 있었습니다.
선물 픽업 수락 페이지가 추가됨에 따라 해당 페이지를 2개의 단계로 나눠 수락할 수 있도록 개발하였습니다.

AS-IS 선물 수락페이지 Main
present
TO-BE 선물 수락페이지 Main
present
TO-BE 선물 수락페이지(픽업)
present
TO-BE 선물 수락페이지(배송)
present
2. 픽업 바코드 페이지

픽업 바코드의 경우 MMS로도 전달 되지만 매장 정보(위치 , 영업시간 등)등과 같이 픽업 바코드를 조회할 수 있는 페이지 또한 개발이 필요하였습니다.

barcode
픽업 바코드 페이지
3. 기존 알림톡에서 SMS로 전송하도록 수정

현재 선물하기의 메시지들은 알림톡 또는 SMS형태로 선물 수신자에게 전달되고 있습니다. 이때 선물 수신 알림 메시지는 주문자와의 1:1 메시지로 전달되고 이후 픽업관련 알림등은 알림톡을 통해 전달되게 되어 수신자에게는 2개의 채널을 통해 메시지가 올 수 있어 이용에 혼동을 줄이고자 이를 모두 SMS 형태로 전달 될 수 있도록 하였습니다.

SMS
선물 수신시 SMS
SMS
픽업 수락시 SMS
SMS
픽업 완료시 SMS
4. 매장POS와의 대화

현재 올리브영 온라인몰에서는 매장POS와 배치,API,DB 등을 사용하여 주문 데이터를 주고받고 있습니다.
처음에는 주문 데이터만 잘 생성하면 이후 프로세스는 기존 프로세스와 동일하게 진행하면 되겠다고 생각했었지만 기존 픽업 프로세스와는 다른 부분이 존재하였습니다.(?!!)
기존 픽업 서비스의 경우에는 주문하는 시점에 픽업으로 주문을 하기 때문에 배송비가 결제가 안 되지만 선물하기의 경우 선물하는 시점에는 배송으로 받을지 픽업으로 받을지 알 수 없기 때문에 2만원 이하일 경우에는 배송비를 결제한다는 점입니다.
?? 그러면 이 배송비를 어떻게 해줘야 하지 ?? 라는 딜레마에 빠지게 되었습니다.
다행히 올리브영에는 예치금이라는 현금과 동일한 개념의 지급수단이 있어 픽업을 완료한 시점에 배송비 결제 건이 있는 주문의 경우 주문자에게 예치금으로 반환해주는 로직을 추가하였습니다.

예치금 반환 SMS
픽업 완료 후 에치금 반환 SMS
매장POS
매장POS로 전달된 픽업주문(매장POS의 초상권은 소중합니다.)

#끝인줄 알았지만 또 다른 시작

저희 조직에는 개발 완료 후 배포를 진행하기 전 마지막 관문인 QA 진행이 있습니다. 훌륭하신 QA분들이 계셔서 저의 부족함(?)을 채울 수 있는 동시에 조금의 부끄러움을 경험할 수 있습니다.

Qa결함 리스트
결함 폭탄

#마무리

입사 후 처음 참여하는 프로젝트였으며 모든 게 낯설기도 했고 선물하기 스쿼드, 매장POS 개발팀 등 여러 스쿼드와의 협업이 필요한 프로젝트였습니다. 힘든 점도 많았지만 좋은 분들과 좋은 시너지를 갖고 협업을 진행하여 시스템을 더 잘 알게 되었고 초급에서 LV50 정도로 성장할 수 있는 경험이었다고 생각합니다.
무엇보다도 단순히 개발만 하는 게 아닌 스쿼드 형태로 나의 서비스를 만든다는 책임감을 느낄 수 있는 업무수행 방식이 인상 깊었으며 제가 개발한 픽업 서비스 이용 고객들이 점진적으로 증가하고 있다는 사실에 뿌듯함도 느낄 수 있었습니다.

아! 마지막으로 이렇게 인터넷 신문 등에도 해당 내용이 소개되어 신기하고 나름의 뿌듯함을 느낄 수 있었습니다.

news
(출처:보도뉴스)

올리브영에 와서 어떤 개발을 하는지 궁금하신 분들을 위해 해당 포스팅을 작성하였는데요.
다음번에는 좀 더 기술적인 내용을 다루는걸 기약하며 마무리 하도록 하겠습니다. 감사합니다.

OliveyoungOrderPresent
올리브영 테크 블로그 작성 올리브영 선물 픽업 서비스 개발
🙏
Aaron |
Back-end Engineer
안녕하세요. 잘부탁드립니다.