[VXML] Plage horaire

Voici un système de plage horaire en VXML.

Ceci concerne les serveurs vocaux interactifs.

Bien souvent on aime pas téléphoner à des robots qui nous demandent d’appuyer sur tout plein de touche, mais il faut reconnaitre que c’est quand même bien pratique. De plus un serveur vocal interactif ne sert pas qu’à cela.

Suite à quelque demande j’ai créé un script qui permet de gérer les plages horaires de chaque jour.

Voici ce script :

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">

    <var name="heure"/>
    <var name="minutes"/>
    <var name="jour"/>
    <var name="ouvert"/>

    <form id="main">

            <!-- On commence par initialiser les variables -->
            <!-- Le jour va de 0 a 6 du dimanche au samedi -->
            <script>
                var d = new Date();
                heure = d.getHours();
                minutes = d.getMinutes();
                jour = d.getDay();
                ouvert = 'non';
            </script>

            <!-- Lundi -->
            <script>
                if (jour == 1)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            
            <!-- Mardi -->
            <script>
                if (jour == 2)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            <!-- Mercredi -->
            <script>
                if (jour == 3)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 19;
                    var minute_fin = 20;
                }
            </script>
            
            
            <!-- Jeudi -->
            <script>
                if (jour == 4)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            
            <!-- Vendredi -->
            <script>
                if (jour == 5)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            
            <!-- Samedi -->
            <script>
                if (jour == 6)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            <!-- Dimanche -->
            <script>
                if (jour == 0)
                {
                    var heure_debut = 8;
                    var minute_debut = 30;
                    
                    var heure_fin = 18;
                    var minute_fin = 45;
                }
            </script>
            
            
            <script>
                <![CDATA[
                    
                if(heure >= heure_debut && heure <= heure_fin)
                {
                    if(heure_debut == heure)
                    {
                        if(minutes >= minute_debut)
                        {
                            ouvert = 'oui';
                        }
                    }
                    else
                    {
                        if(heure_fin == heure)
                        {
                            if(minutes <= minute_fin)
                            {
                                ouvert = 'oui';
                            }
                        }
                        else
                        {
                            ouvert = 'oui';
                        }
                    }
                }
                ]]>
            </script>
            
            <if cond="ouvert == 'oui'">
                <goto next="#ouvert" />
            <else />
                <goto next="#ferme" />
            </if>
        </block>
    </form>

    <form id="ouvert">
        <transfer name="services" dest="number/09xxxxxxx1">
        </transfer>
    </form>

    <form id="ferme">
        <block>
            <prompt bargein="false">
                Le service est actuellement fermer.
            </prompt>
        </block>
    </form>
</vxml>

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *