# 【レンタックス】メール部屋止めの解除漏れ対策 ## 依頼元 - 柏原MD・新居MD - 2023年12月の仲介・管理会議で発生した課題 ## 概要・要旨 - 仲介営業店は特例として==メール==での部屋止めが許されている。 - 部屋止め期限は==1週間== - ところが営業店はこの期限までに「解除」を忘れてしまう。 - この解除漏れを仕組で解決できないか。 ## 現状の業務の流れ - 営業店はレンタックスに部屋止めメールを送る。 - 宛先はレンタックスメーリス(ml_rentax) ```= From:〇〇店 To:レンタックス部屋止め(ml_rentax.co.jp) 件名:ジャンフランソワ205号室の部屋止めお願いします。 お疲れ様です。〇〇です。 : ``` - レンタックスでは==審査課==が申込みに対応 - 申込の受諾と見守り機器の推進の件を上記メールに返信。 - 審査課はi-SPで対象部屋の==予約登録==を行う。 - 予約期限は1週間 ```= 部屋止め:2024/1/7の場合 予約期間:2024/1/7~2024/1/14(1週間) ``` - これにより空室WEB・リアプロ等の掲載が落ちる。 - ==予約機能は外部の仲介業者の対しても利用する。== - 「営業店」と外部は「仲介」で登録。 - 営業店は申込がキャンセルされたら部屋止め解除メールを送る。 - 予約期限日が過ぎても、破棄しないと空室にならない為、 **解除忘れはレンタックスにとっては純粋に機会損失となる。** ### レンタックスの業務に関して(高橋MG) - 審査課では**申込を管理している**ので期限前に確認する事も有る。 - ↑従って上記を忘れるリスクは低いが… ## 課題 - 仲介店の部屋止め管理・・・「解除を忘れない仕組作り」 - i-SPの予約管理・・・・機能的に弱い?Kintone絡めるか? 予約期限日を過ぎたら自動的に情報を破棄して欲しい…:cry: ## 実装案 SpreadSheet+GAS ### 概要 - 部屋止め申込/解除フォームをFormで作成 - この時予約期限の入力する(最大7日) - 登録時にレンタックスへ部屋止めメールを送信 - フォームの内容をSpreadSheetに記録 - 時刻トリガーでスプレッドシートの内容をチェック、 部屋止め解除メールを送信する。 ### ポイント - そもそも「メール止め」ではなくなってしまう(メールに比べ利便性Down)のがどうか? - メール発信がgmailドメインとなる。(返信されても…) - **期限前にきちんと部屋止め解除した場合にどうするか?** - スプレッドシート上にデータで申込状況を確認する。 - **Formを使用しない場合にSSでスケジュール実行が可能か?** - 「時刻主導」のトリガーで実施可能。 - **デプロイURLを変更しないようにするには** - [GASのWebアプリでURLを変えずに新バージョンを公開する(新エディタ) \- make it easy](https://ryjkmr.com/gas-web-app-deploy-new-same-url/) ### Googleアカウント作成 | 項目 | 内容 | | ---------- | ------------------------- | | 利用 | 個人 | | 名 | レンタックス部屋止め | | 生年月日 | 1989/2/9 | | 性別 | 回答しない | | アドレス | rentax.heyadome@gmail.com | | パスワード | Rentax7023 | | 追加メール | なし | | 電話番号 | なし | ### 参考 [【GAS x HTML】確認画面付きの本格的な発注フォームを作る \| GASおじさんのブログ](https://uncle-gas.com/gas-html-order-form/) ### 実装時メモ - Select(店舗)をフォームパラメータで送信 - 選択しているValueが送信される。 - Selecをスプシの内容から動的に生成 - 「修正する」ボタンの実装 - 入力フォームのバリデーション - 必須チェック - required属性のメッセージはブラウザに依存 - スマホでなければOKなので、その時に考える。 - [HTML 属性: required \- HTML: ハイパーテキストマークアップ言語 \| MDN](https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/required) - 日付範囲チェック(へ日~7日後の間) - 依頼するボタン実装 - 内容をシートに書き込み - sheet.appendRow([name,email,message]);→OK - 部屋止めメール送信 - 完了ページに遷移 - 部屋止め解除画面 - Tableのシートのデータを展開 - チェックの列を設ける(ラジオで択一になるようにidを設定する?) - ==フォームの送信値に含まれるかどうか要検証== - 部屋止め解除バッチ - シートから==本日==が部屋止め期限のデータを取得 - 解除メールを==一通==ずつ送信 - sheet.getRangeでまとめて ### 部屋止め解除依頼フォーム - テーブルに未解除データを表示 - チェックで選択 - [テーブル · Bootstrap v5\.3](https://getbootstrap.jp/docs/5.3/content/tables/) - [チェックボックスとラジオ · Bootstrap v5\.3](https://getbootstrap.jp/docs/5.3/forms/checks-radios/) - 部屋止めと解除の分岐はパラメータで実装 - 部屋止めからの分岐はinputのrequiredが必須チェックを求めるので不可 - Table部分のHTMLをGAS側で生成 - ラジオボタンの必須チェック - ==requiredの動作は有効だが、BootStarpでは合うものがなかった== - [x] 完了画面の「部屋止め」「部屋止め解除」を出し分ける。 - [x] 部屋止め完了メールに解除のリンクを付ける?→要検討 - [x] 期限のデフォルトを1週間後 - [x] バッチ処理のテスト - 解約データ登録 - トリガーセット ### 開発環境 - 部屋止め https://script.google.com/macros/s/AKfycbwx1NOv1B9FVKYI7KEIPVGr7bDLoWBP8zn4BQX4ZMsrk9Ij2SEGMRGxNA3lb2b-hXGN7A/exec - 部屋止め解除 https://script.google.com/macros/s/AKfycbwx1NOv1B9FVKYI7KEIPVGr7bDLoWBP8zn4BQX4ZMsrk9Ij2SEGMRGxNA3lb2b-hXGN7A/exec?cancel=true ### URL短縮・バナー消去等 [Google Apps Script \(GAS\)とGoogle Workspace製品だけで実現する、Full StackのWeb開発|クラウドテクノロジーブログ|ソフトバンク](https://www.softbank.jp/biz/blog/cloud-technology/articles/202212/full-stack-gas/) - Googleサイト上でSubmitさせるには、ボタン処理をJSで [グーグルサイトに応答型のgoogle app scriptを埋め込みたい\[html初心者\]](https://teratail.com/questions/300czjfrfo33fn) ``` 操作のポイントはこれです。 pushSubmit(){document.ifl.document.forms[0].submit();} getElementsByTagName を使いたい場合はこちら function pushSubmit(){document.ifl.document.getElementsByTagName("form")[0].submit();} サンプルコードは以下のようになります。 <iframe> の src が同一ドメインであれば、 JavaScript でフレーム内を操作できますが、異なるドメインであれば、エラーになります。 index.html <html><body><script>function pushSubmit(){document.ifl.document.forms[0].submit();}</script><a href="#" onclick="pushSubmit()"><iframe> submit</a><br><iframe name="ifl" src="framepage1.html"></iframe></body></html> framepage1.html <html><body>frame page 1<form action="framepage2.html"></form></body></html> framepage2.html <html><body>frame page 2</body></html> >条件: >iFrameに読み込むページは千差万別で、FormにIDもNameも設定されていない状況(ただし、必ずFromは1つ)で、そのiFrame内のフォームをsubmitする方法。 読み込むページは千差万別とありますが、セキュリティ仕様により、操作できる対象は同一ドメインに限定されます。 なお、ドメインは、 document.domain プロパティで集約的変更ができます。 例 www.example.co.jp --> example.co.jp www2.example.co.jp --> example.co.jp document.domain = "example.co.jp" urdmerry 質問者 お礼 2011/03/08 08:48 ( ゜∀゜)・∵. グハッ!! 異ドメイン間ではうまくいかないってのは致命的でしたorz でもこれで、どうやっても権限がない的エラーが出てたんすね>< ありがとうございました、何か根本的な別の方法を考えてみます(´・ω・`) ``` - [x] googleサイトへの埋め込み - 素の状態でChromeDevToolsのConsoleの内容を確認する。 ``` Unsafe attempt to initiate navigation for frame with origin 'https://sites.google.com' from frame with URL 'https://n-dg3qubjwzfegqwqg5lcnaxymq2ntvimxg57i3la-0lu-script.googleusercontent.com/userCodeAppPanel'. The frame attempting navigation of the top-level window is sandboxed, but the flag of 'allow-top-navigation' or 'allow-top-navigation-by-user-activation' is not set. ``` - allow-top-navigation→iframeの属性 - [HTML サービス: サーバー機能と通信する \| Apps Script \| Google for Developers](https://developers.google.com/apps-script/guides/html/communication?hl=ja#index.html_4) - 上記のサンプルコードをベースに実装したが、onsubmitイベントが発火しない! - iframe(sandbox)側の属性を編集する手法も公開されていない ## 【追加】レンタックス審査課の承認機能追加 - [x] メール止めの宛先は審査課のみに変更(shinsa@) - これは設定シートで変更可能 - [x] 承認フォームを作成 - [x] 依頼時のメールは店舗宛てと審査宛てに分割 - 店舗宛ては受付メール - 審査宛ては承認フォームのURLを記載 - [ ] 承認/否認時にメール送信 - 返信メールは見守り機器の文言 - [ ] 一覧に承認/否認のステータス - [x] 東エリアは利用不可 - 店舗設定シートで同期 - [x] 「メール止め」に文言修正 - [x] 0件でメール止め解除ボタンを使用不可に - [x] 初期表示は5日後 - [ ] リマインドメールは1,2日前に実施
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up