Help us understand the problem. What is going on with this article?

PythonでQRコードが自動発行される顧客データベースを作ってみる

クリーニング屋さんへ行った

先日、近所のクリーニング屋さんに嫁さんの指示のもと服を出しに行きました。

お正月明けの土曜日。

おそらく一番お客さんが来るであろう日。

なのにそこには、パートのおばちゃんが一名。

image.png

お客さんはじゃんじゃんやってくる。

まあ、そうだよね。

そして、お客さんの対応をする後ろでりーんりーん。。ってめちゃくちゃ電話鳴っとるやないかーい。

でも忙しすぎて電話取れない。。

人間は誰しもはマルチタスクが苦手

人間、誰しもあれもこれもいっしょにやることはできません。

image.png

そもそもこれって店のオーナーや、店長さんのシフトミスでは??

こんな状況をシステム的な改善で対応できないか考えてみました。

前回の記事でQRコードがPythonで簡単に発行できるよ。という記事を書いたので、それの応用編。

参照:PythonでQRコード作成。定期券発行の際に毎回同じこと書いて、並びたくない。。

やりたいこと

・クリーニングができた段階でオプションで電話もしくはメール、SMSするサービスをつける。
(全員には無理だろううざいから、あくまでオプション)服にQRコードをつけてスマホでかざすとメール、SMS,電話でお客さんにコンタクトできるようにする。

・お客さんの情報を登録した時点で、QRコードが自動発行されるようにする。シンプルな管理を。

スクリーンショット 2020-01-12 15.12.34.png

実行環境

Python 3.7.6
macOS Mojave 10.14.6

ライブラリをインポート

最初に必要なライブラリをインポート。(入っていない場合はpipでインストール)

・QRコード作成のためのqrcode
・顧客登録時の日時を入れるためにdatetime
・CSVによるデータベース作成のためのcsv

customerdata.py
import qrcode
import datetime
import csv

顧客登録時に必要な情報を入れる

顧客データベースに必要な情報を聞くように設定。
メールやSMS、電話ができるように必要情報を聞きます。
*登録時刻がデータベースに登録されるように設定。

customerdata.py
name=input('氏名は?')
address=input('住所は?')
age=input('年齢は?')
tel=input('電話番号は?')
mail=input('メールは?')

#日時、時刻がデータベースに登録されるよう設定
dt_now=datetime.datetime.now()
dt=dt_now.strftime('%Y年%m月%d日 %H時%M分')

QRコード作成

QRコードは氏名、電話番号、メール、住所、登録日時が出てくるように設定。
自動発行されるimgファイルの名称はあとからテキスト検索(氏名、電話番号で)できるように本人の氏名と電話番号で出力します。

customerdata.py
img=qrcode.make( ' 電話番号: ' + str(tel) +'メール: ' +str(mail)+'氏名:'+str(name)  + '住所:'+ str(address)+'作成日時:'+ str(dt))
img.save(str(name)+str(tel))

#QRコードの名称はあとからテキスト検索できるように本人の氏名と電話番号で登録

データベース登録

CSVに情報を登録。(customer_data.csv)

customerdata.py
with open('customer_data.csv','a') as f:
    writer = csv.writer(f)
    #次の行は初回登録のみ。2回目以降の登録時はコメントアウト!!
    writer.writerow(['氏名','年齢','住所','電話番号','メール','登録日'])
    writer.writerow([str(name),str(age),str(address),str(tel),str(mail),str(dt)])
    f.close()

コマンドラインで実行します。

commandline
(kyoto) MacBook-Air% python3 customerdata.py
氏名は?田中たろう
住所は?京都市A 町B通り
年齢は?40
電話番号は?090-000-0000
メールは?tanaka@gmail.com

データベースにはこんな感じで登録。

スクリーンショット 2020-01-12 11.48.43.png

同時にQRコードが自動発行されます。
スクリーンショット 2020-01-12 11.50.14.png

iPhoneにかざしてQRコードを読み込むと情報がでてきます。

IMG_2287.PNG

ソースコード

customerdata.py

import qrcode
import datetime
import csv

name=input('氏名は?')
address=input('住所は?')
age=input('年齢は?')
tel=input('電話番号は?')
mail=input('メールは?')


dt_now=datetime.datetime.now()
dt=dt_now.strftime('%Y年%m月%d日 %H時%M分')

img=qrcode.make( ' 電話番号: ' + str(tel) +'メール: ' +str(mail)+'氏名:'+str(name)  + '住所:'+ str(address)+'作成日時:'+ str(dt))
img.save(str(name)+str(tel))


with open('customer_data.csv','a') as f:
    writer = csv.writer(f)
    #次の行は初回登録のみ。2回目以降の登録時はコメントアウト!!
    writer.writerow(['氏名','年齢','住所','電話番号','メール','登録日'])
    writer.writerow([str(name),str(age),str(address),str(tel),str(mail),str(dt)])
    f.close()

いろいろ応用できそう

データベースの作成とQRコードの自動発行はほかにも色々応用できそう。
出前とか、痴呆老人の徘徊防止とか、アレルギーや薬剤の禁忌情報とか。

こんな感じで使えそうという拡張性と発展性のあるコメントをいただけると嬉しいです。

スクリーンショット 2020-01-12 15.12.34.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした