Serviços de Voz » Portal de Voz » Exemplos » Reserva de Passagens e Hotéis pelo Portal de Voz » Código Fonte


O exemplo abaixo mostra código fonte em VXML utilizado para o exemplo de Reserva de Passagens e Hotéis:

<?xml version="1.0"?>
<!DOCTYPE vxml PUBLIC "-//Nuance/DTD VoiceXML 2.0//EN" "http://voicexml.nuance.com/dtd/nuancevoicexml-2-0.dtd">
<vxml version="2.0" xml:lang="pt-BR">
  <script xml:space="preserve">
    <![CDATA[
     function sipParaNum(s) {
     return s.substr(4,(s.indexOf('@') - 4)); }
    ]]>
  </script>
  <var name="callerid" />
<menu dtmf="false" scope="dialog" id="menu1">
 <prompt bargein="true">
     Por favor fale uma das seguintes opções:
    <enumerate />
   </prompt>
    <choice next="#passagem">passagens</choice>
    <choice next="#hotel">hotéis</choice>
   </menu>
<form id="passagem" scope="dialog">
 <grammar src="../grammars/autogen/Frase_Passagem.gsc"
   type="application/x-nuance-gsc" scope="document" />
   <initial name="frase_passagem">
    <prompt bargein="true">Quantas passagens você quer comprar, de onde, e para onde?</prompt>
    <catch event="noinput nomatch" count="1">
    <reprompt />
    Responda por exemplo: três passagens de São Paulo para Brasília</catch>
   <catch event="noinput nomatch" count="2">
   <assign name="frase_passagem" expr="true" />
   </catch>
   </initial>
   <field modal="false" name="quantidade" type="number">
    <prompt bargein="true">Fale a quantidade</prompt>
   </field>
   <field modal="false" name="origem" slot="cidade">
    <prompt bargein="true">Fale a cidade de origem</prompt>
    <grammar src="../grammars/capitais.grammar" type="text/gsl" />
   </field>
   <field modal="false" name="destino"
   slot="cidade">
    <prompt bargein="true">Fale a cidade de destino</prompt>
    <grammar src="../grammars/capitais.grammar" type="text/gsl" />
   </field>
   <field modal="false" name="data" type="date">
    <prompt bargein="true">Fale a data da viagem incluindo dia, mes e ano</prompt>
   </field>
   <filled mode="all">
    <assign name="callerid"
    expr="sipParaNum(session.telephone.ani)" />
   <submit method="post" enctype="application/x-www-form-urlencoded" expr="'confirma_passagem.asp'" namelist="quantidade origem destino data" />
   </filled>
   </form>
   <form id="hotel" scope="dialog">
   <grammar src="../grammars/autogen/Frase_Hotel.gsc"
    type="application/x-nuance-gsc" scope="document" />
   <initial name="frase_hotel">
    <prompt bargein="true">Quantas diárias você quer reservar e em
     que cidade?</prompt>
     <catch event="noinput nomatch" count="2">
     <assign name="frase_hotel" expr="true" />
     </catch>
   </initial>
   <field modal="false" name="quantidade"
    type="number">Fale o número de diárias</field>
    <field modal="false" name="destino"
   slot="cidade">
   <prompt bargein="true">Fale a cidade</prompt>
   <grammar src="../grammars/capitais.grammar" type="text/gsl" />
    </field>
   <field modal="false" name="data" type="date">
   <prompt bargein="true">Fale a data inicial</prompt>
   </field>
   <filled mode="all">
    <assign name="callerid"
     expr="sipParaNum(session.telephone.ani)" />
      <submit method="post"
      enctype="application/x-www-form-urlencoded"
      expr="'confirma_hotel.asp'" namelist="quantidade destino data" />
    </filled>
</form>
</vxml>