MENU

料金プラン

機能一覧

デモ

ご利用の流れ

お役立ちコラム



予約フォーム

操作ガイド

Amelia JavaScriptフック – 予約フォーム

フックの使用には一定レベルのプログラミングスキルが必要であり、プラグインで提供されるサポートには含まれていません。これらのフックは、新しい予約フォームとカタログフォーム([ameliastepbooking]および[ameliacatalogbooking])でのみトリガーされます。

パラメータ

  • success function:成功時のコールバック関数。'beforeBooking' フックでのみ使用されます。
  • error function: エラー時のコールバック関数。'beforeBooking' フックでのみ使用されます。
  • data object: 予約データオブジェクト。

フォームの読み込み完了

'ViewContent' フックは、フォームが読み込まれた後にトリガーされます。

window.ameliaActions = {
    ViewContent: function (success = null, error = null, data) {
        console.log('ViewContent HOOK')
        console.log(data)
        console.log('------------')
    }
}

サービスが選択されました

'SelectService' フックは、フォームでサービスが選択/変更されたときにトリガーされます。

window.ameliaActions = {
    SelectService: function (success = null, error = null, data) {
        console.log('SelectService HOOK')
        console.log(data)
        console.log('------------')
    }
}

カテゴリーが選択されました

'SelectCategory' フックは、フォームでカテゴリが選択/変更されたときにトリガーされます。

window.ameliaActions = {
    SelectCategory: function (success = null, error = null, data) {
        console.log('SelectCategory HOOK')
        console.log(data)
        console.log('------------')
    }
}

スタッフが選択されました

'SelectEmployee' フックは、フォームでスタッフが選択/変更されたときにトリガーされます。

window.ameliaActions = {
    SelectEmployee: function (success = null, error = null, data) {
        console.log('SelectEmployee HOOK')
        console.log(data)
        console.log('------------')
    }
}

場所が選択されました

'SelectLocation' フックは、フォームで場所が選択/変更されたときにトリガーされます。

window.ameliaActions = {
    SelectLocation: function (success = null, error = null, data) {
        console.log('SelectLocation HOOK')
        console.log(data)
        console.log('------------')
    }
}

コースが選択されました

'SelectPackage' フックは、フォームでコースが選択/変更されたときにトリガーされます。

window.ameliaActions = {
    SelectPackage: function (success = null, error = null, data) {
        console.log('SelectPackage HOOK')
        console.log(data)
        console.log('------------')
    }
}

情報入力ステップの読み込み完了

'InitInfoStep' フックは、お客様情報入力ステップが読み込まれたときにトリガーされます。

window.ameliaActions = {
    InitInfoStep: function (success = null, error = null, data) {
        console.log('InitInfoStep HOOK')
        console.log(data)
        console.log('------------')
    }
}

情報入力ステップでのカスタム検証

'customValidation' フックは、お客様情報入力ステップが検証される際、決済ステップが読み込まれる前にトリガーされます。

window.ameliaActions = {
    customValidation: function (success = null, error = null, data) {
        console.log('customValidation HOOK')
        console.log('------------')
        console.log(data)
        const customValidator = (rule, value, callback) => {
            if (value.includes('SOME_REGEX')) {
                callback(new Error())
            } else {
                callback()
            }
        }
        // これはメール入力フィールドの例です
        data.rules.email.push({message: 'カスタムメッセージ', validator: customValidator})
        // これはカスタム項目の例です
        var customFieldId = 2
        data.rules['cf' + customFieldId].push({message: 'カスタムメッセージ', validator: customValidator})
    }
}

決済ステップの読み込み完了

'InitiateCheckout' フックは、決済ステップが読み込まれたときにトリガーされます。

window.ameliaActions = {
    InitiateCheckout: function (success = null, error = null, data) {
        console.log('InitiateCheckout HOOK')
        console.log(data)
        console.log('------------')
    }
}

「確定」ボタンがクリックされました

'beforeBooking' フックは、「確定」ボタンがクリックされた後、予約が完了する前にトリガーされます。このフックは現在、MollieおよびWooCommerceの決済では機能しません。

window.ameliaActions = {
    beforeBooking: function (success = null, error = null, data) {
        console.log('Before booking is created HOOK')
        console.log(data)
        console.log('------------')
        
        // 予約を完了するために success コールバックを呼び出す
        success()
    }
}

当日払い予約の完了

'Schedule' フックは、当日払い予約が完了した後、完了ステップが読み込まれる前にトリガーされます。

window.ameliaActions = {
    Schedule: function (success = null, error = null, data) {
        console.log('Schedule HOOK')
        console.log(data)
        console.log('------------')
    }
}

オンライン決済予約の完了

'Purchased' フックは、オンライン決済予約が完了した後、完了ステップが読み込まれる前にトリガーされます。

window.ameliaActions = {
    Purchased: function (success = null, error = null, data) {
        console.log('Purchased HOOK')
        console.log(data)
        console.log('------------')
    }
}