<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5730 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5730.xml">
<!ENTITY RFC5731 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5731.xml">
<!ENTITY RFC3688 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="yes"?>
<!-- keep one blank line between list items -->
<?rfc comments="yes" ?>
<!-- show cref output -->
<?rfc inline="yes" ?>
<!-- inline cref output -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-tan-epp-launchphase-06" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title abbrev="Launch Phase Mapping for EPP">Launch Phase Mapping for the
    Extensible Provisioning Protocol (EPP)</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Wil Tan" initials="W.T." surname="Tan">
      <organization>Cloud Registry</organization>

      <address>
        <postal>
          <street>Suite 32 Seabridge House</street>

          <street>377 Kent St</street>

          <city>Sydney</city>

          <region>NSW</region>

          <code>2000</code>

          <country>AU</country>
        </postal>

        <phone>+61 414 710899</phone>

        <email>wil@cloudregistry.net</email>

        <uri>http://www.cloudregistry.net</uri>
      </address>
    </author>

    <author fullname="Gavin Brown" initials="G.B." surname="Brown">
      <organization>CentralNic Ltd</organization>

      <address>
        <postal>
          <street>35-39 Mooregate</street>

          <city>London</city>

          <region>England</region>

          <code>EC2R 6AR</code>

          <country>GB</country>
        </postal>

        <phone>+44 8700 170 900</phone>

        <email>gavin.brown@centralnic.com</email>

        <uri>http://www.centralnic.com</uri>
      </address>
    </author>

    <author fullname="James Gould" initials="J.G" surname="Gould">
      <organization>VeriSign, Inc.</organization>

      <address>
        <postal>
          <street>12061 Bluemont Way</street>

          <city>Reston</city>

          <region>VA</region>

          <code>20190</code>

          <country>US</country>
        </postal>

        <email>jgould@verisign.com</email>

        <uri>http://www.verisigninc.com</uri>
      </address>
    </author>

    <date day="12" month="March" year="2013"/>

    <!-- Meta-data Declarations -->

    <area>Applications</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <keyword>EPP, Sunrise, Landrush, Trademark Clearinghouse, Trademark
    Claims, domain name registry, launch phase</keyword>

    <abstract>
      <t>This document describes an Extensible Provisioning Protocol (EPP)
      extension mapping for the provisioning and management of domain names
      during the launch phase of a domain name registry.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document describes an extension mapping for version 1.0 of the
      <xref target="RFC5730">Extensible Provisioning Protocol (EPP)</xref>.
      This EPP mapping specifies a flexible schema that can be used to
      implement several common use cases related to the provisioning and
      management of launch phase extension in a domain name registry.</t>

      <t>It is typical for domain registries to operate in special modes
      within certain periods of time to facilitate allocation of domain names. 
      This document
      uses the term "launch phase" and the shorter form "launch" to refer to
      such a period.</t>

      <t>The <xref target="RFC5731">EPP domain name mapping</xref> is designed
      for the steady state operation of a registry. During the launch, the
      interface used at each phase of the launch could be different from what
      is defined in <xref target="RFC5731">EPP domain name mapping</xref>. for
      example, registries typically accept multiple applications for a given
      domain name during the "sunrise" launch phase, referred to as a launch application.  A launch registration 
      is used to refer to a registration made during a launch phase when the server uses 
      a first-come-first-serve model.  Even in a first-come-first-serve model additional steps 
      and information might be required to support a launch phase, like the passing of 
      trademark information on a create.  In addition, the <eref
      target="http://newgtlds.icann.org/en/about/trademark-clearinghouse/claims-model-26sep12-en.pdf">Proposed Trademark Claims Model</eref> 
      defines a registry
      interface for the Trademark Claims or "claims" launch phase that
      includes support for presenting a Trademark Claims Notice to the
      Registrant. This document proposes an extension to the domain name
      extension in order to unambiguously manage the various launch phases
      known.</t>

      <section title="Conventions Used in This Document">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <xref
        target="RFC2119">RFC 2119</xref>.</t>

        <t>XML is case sensitive. Unless stated otherwise, XML specifications
        and examples provided in this document MUST be interpreted in the
        character case presented in order to develop a conforming
        implementation.</t>

        <t>"launch-1.0" is used as an abbreviation for
        "urn:ietf:params:xml:ns:launch-1.0". The XML namespace prefix "launch"
        is used, but implementations MUST NOT depend on it and instead employ
        a proper namespace-aware XML parser and serializer to interpret and
        output the XML documents.</t>
        <t>"signedMark-1.0" is used as an abbreviation for
        "urn:ietf:params:xml:ns:signedMark-1.0" that is defined in <xref target="draft-lozano-smd"/>. 
        The XML namespace prefix "smd"
        is used, but implementations MUST NOT depend on it and instead employ
        a proper namespace-aware XML parser and serializer to interpret and
        output the XML documents.</t>
        <t>"mark-1.0" is used as an abbreviation for
        "urn:ietf:params:xml:ns:mark-1.0" that is defined in <xref target="draft-lozano-smd"/>. 
        The XML namespace prefix "mark"
        is used, but implementations MUST NOT depend on it and instead employ
        a proper namespace-aware XML parser and serializer to interpret and
        output the XML documents.</t>
      </section>
    </section>

    <section anchor="attrs" title="Object Attributes">
      <t>This extension adds additional elements to the <xref
      target="RFC5731">EPP domain name mapping</xref>. Only those new elements
      are described here.</t>

      <section anchor="applicationID" title="Application Identifiers">
        <t>Servers MAY allow multiple applications, referred to as a launch application, 
        of a given domain name
        during its launch phase operations. Upon receiving a request to create
        a domain name, the server creates an application object corresponding
        to the request and assigns an application identifier for the application
        and returns it to the client with the &lt;launch:applicationID&gt;
        element. In order to facilitate correlation, all subsequent launch
        operations on the application object MUST be qualified by the
        previously assigned application identifier using the
        &lt;launch:applicationID&gt; element.</t>
      </section>

      <section anchor="phases" title="Launch Phases">
        <t>The server MAY support multiple launch phases sequentially or
        simultaneously. The &lt;launch:phase&gt; element MUST be included by
        the client to define the target launch phase of the command.</t>

        <t>The following launch phase values are defined: <list
            style="hanging">
            <t hangText="sunrise">Phase when trademark holders can submit
            registrations or applications with trademark information that can be
            validated by the server.</t>

            <t hangText="landrush">Post sunrise phase when non-trademark
            holders are allowed to register domain names with steps taken 
            to address a large volume of initial registrations.</t>

            <t hangText="claims1">Trademark claims phase 1 as defined by 
            Trademark Clearinghouse model of displaying a full, detailed 
            claims notice to clients for domain names that match 
            trademarks.</t>
            
            <t hangText="claims2">Trademark claims phase 2 as defined by 
            Trademark Clearinghouse model of displaying a short, educational 
            claims notice to clients for domain names that match 
            trademarks that opt into the service.</t>

            <t hangText="open">Post launch phase that is also referred to as
            "steady state". Servers MAY require additional trademark
            protection with this phase.</t>

            <t hangText="custom">A custom server launch phase that is defined
            using the "name" attribute.</t>
          </list></t>

        <t>For extensibility the &lt;launch:phase&gt; element includes an
        OPTIONAL "name" attribute that can define a sub-phase or the full name
        of the phase when the &lt;launch:phase&gt; element has the "custom"
        value.  For example, the "claims1" launch phase could have two 
        sub-phases that include "landrush" and "open".</t>
      </section>

      <section anchor="statuses" title="Status Values">
        <t>A launch application object MAY have a status value. The
        &lt;launch:status&gt; element is used to convey extended status pertaining to
        the application object, beyond what is specified in the object mapping
        for this application object.</t>

        <t>The following status values are defined using the 
        required "s" attribute: <list style="hanging">
            <t hangText="pending:">The initial state of a newly-created
            application object.</t>

            <t hangText="validated:">The application meets relevant registry
            rules.</t>

            <t hangText="invalid:">The application does not validate according
            to registry rules.</t>

            <t hangText="pendingAuction:">The application is pending based on 
            results of an auction.</t>

            <t hangText="allocated:">One of two possible end states of an
            application object; the object corresponding to the application
            has been provisioned.</t>

            <t hangText="rejected:">The other possible end state; the object
            was not provisioned.</t>

            <t hangText="custom:">A custom status that is defined using the 
            "name" attribute.</t>
          </list></t>

       <t>Each status value MAY be accompanied by a string of human-readable 
        text that describes the rationale for the status applied to the object.
        The OPTIONAL "lang" attribute MAY be present to identify the language 
        if the negotiated value is something other than the default value of 
        "en" (English).</t>
        
        <t>For extensibility the &lt;launch:status&gt; element includes an
        OPTIONAL "name" attribute that can define a sub-status or the full name
        of the status when the status value is "custom".  The server SHOULD 
        NOT use the "custom" status value.</t>

        <t>Certain status values MAY be combined. For example, an application
        can be invalid and rejected. Additionally certain statuses MAY be
        skipped. For example, an application MAY immediately start at the
        allocated status or an application MAY skip the pendingAuction status
        if the server does not support an auction. If a &lt;domain:create&gt; processes a request
        synchronously without the use of an intermediate application, than an
        <xref target="applicationID">Application Identifier</xref> is not
        needed along with the application status.</t>

        <section title="State Transition">
          <figure align="center" anchor="fsm">
            <artwork align="left"><![CDATA[

                            | request
                            v
                       +---------+
                       | pending |
                       +----+----+
                            |
                            |
       +--------------+-----+-----------+--------------+
       |              |                 |              |
       v              v                 v              v
 +-----------+   +---------+        +-------+      +-------+
 |           |   |         |       /         \    /         \
 | validated |   | invalid +----->| rejected  |  | allocated |
 |           |   |         |       \         /    \         /
 +----+------+   +----+----+        +-------+      +-------+
      |                                 ^              ^
      |                                 |              |
      |                                 |              |
      |                                 |              |
      +---------------------------------+              |
      |                                 |              |
      |                                 |              |
      |                        +--------+-------+      |
      |                        |                |      |
      +----------------------->| pendingAuction +------+
                               |                |
                               +----------------+

            ]]></artwork>
          </figure>
        </section>
      </section>

      <section anchor="validationModels" title="Mark Validation Models">
        <t>A server MUST support at least one of the following models for validating the trademark 
        information:</t>

        <t><list style="hanging">

            <t hangText="code">Use of a mark code by itself to validate 
            that the mark matches the domain name.  This model is supported 
            using the &lt;launch:codeMark&gt; element with just the 
            &lt;launch:code&gt; element.</t>

            <t hangText="mark">The mark information is passed without any
            other validation element. The server will use some custom form of
            validation to validate that the mark information is authentic. This
            model is supported using the &lt;launch:codeMark&gt; element with 
            just the <xref target="mark">&lt;mark:mark&gt;</xref> element.</t>

            <t hangText="code with mark:">A code is used along with the mark
            information by the server to validate the mark utilizing an external party. 
            The code represents some form of
            secret that matches the mark information passed. This model is
            supported using the &lt;launch:codeMark&gt; element that contains both the
            &lt;launch:code&gt; and the <xref target="mark">&lt;mark:mark&gt;</xref> elements.</t>

            <t hangText="signed mark:">The mark information is digitally
            signed as described in the <xref target="digitalsignature">Digital Signature</xref>
            section.  The digital signature can be directly validated by the 
            server using the public key
            of the external party that created the signed mark using it's private key. This model is 
            supported using the
            <xref target="signedMark">&lt;smd:signedMark&gt;</xref> and 
            <xref target="encodedSignedMark">&lt;smd:encodedSignedMark&gt;</xref> 
            elements.</t>
          </list></t>

        <t>More than one &lt;launch:codeMark&gt;, <xref target="signedMark">&lt;smd:signedMark&gt;</xref>, 
        or <xref target="encodedSignedMark">&lt;smd:encodedSignedMark&gt;</xref> element MAY be specified. The maximum
        number of marks per domain name is up to server policy.</t>
        
        <section anchor="codeMark" title="&lt;launch:codeMark&gt; element">
           <t>The &lt;launch:codeMark&gt; element that is used by the "code", "mark", 
           and "code with mark" validation models, has the following child 
           elements:</t>
           <t><list style="hanging">
              <t hangText="&lt;launch:code&gt;:">OPTIONAL mark code used to 
              validate the <xref target="mark">&lt;mark:mark&gt;</xref> information.  The mark code 
              can be a mark specific secret value that the server can verify 
              against a third party.</t>
              <t hangText="&lt;mark:mark&gt;:">OPTIONAL mark information 
              with child elements defined in the <xref target="mark">Mark</xref> 
              section.</t>
           </list></t>
                   <figure>
            <preamble>The following is an example &lt;launch:codeMark&gt;
            element with both a &lt;launch:code&gt; and <xref target="mark">&lt;mark:mark&gt;</xref> element.
            </preamble>

            <artwork><![CDATA[
<launch:codeMark>
  <launch:code>49FD46E6C4B45C55D4AC</launch:code>
  <mark:mark xmlns:mark="urn:ietf:params:xml:ns:mark-1.0">
    ...
  </mark:mark>
</launch:codeMark>]]></artwork>
          </figure>
           
        </section>
      </section>

      <section anchor="mark" title="Mark">
        <t>A &lt;mark:mark&gt; element describes an applicant's prior right
        to a given domain name that is used with the "mark", "mark with code", and 
        the "signed mark" validation models.  The &lt;mark:mark&gt; element is defined 
        in <xref target="draft-lozano-smd"/>.  
        A new mark format can be supported by creating a new 
        XML schema for the mark that has an element that substitutes 
        for the &lt;mark:abstractMark&gt; element from <xref target="draft-lozano-smd"/>.</t>
      </section>
            
      <section anchor="digitalsignature" title="Digital Signature">
        <t>Digital signatures MAY be used by the server to validate either 
        the mark information, when using the "signed mark" validation model with the 
        <xref target="signedMark">&lt;smd:signedMark&gt;</xref> element or the <xref target="encodedSignedMark">&lt;smd:encodedSignedMark&gt;</xref> element.  
        </t>
     <section anchor="signedMark" title="&lt;smd:signedMark&gt; element">
        <t>The &lt;smd:signedMark&gt; element contains the digitally signed mark information.  The &lt;smd:signedMark&gt; 
        element is defined in <xref target="draft-lozano-smd"/>.  A new 
        signed mark format can be supported by creating a new XML schema 
        for the signed mark that has an element that substitutes for 
        the &lt;smd:abstractSignedMark&gt; element from <xref target="draft-lozano-smd"/>.  
        </t>
        </section>

     <section anchor="encodedSignedMark" title="&lt;smd:encodedSignedMark&gt; element">
        <t>The &lt;smd:encodedSignedMark&gt; element contains an encoded form of 
        the digitally signed <xref target="signedMark">&lt;smd:signedMark&gt;</xref> element.  The 
        &lt;smd:encodedSignedMark&gt; element is defined in <xref target="draft-lozano-smd"/>.  
        A new encoded signed mark format can be supported by creating a new XML schema 
        for the encoded signed mark that has an element that substitutes for the 
        &lt;smd:encodedSignedMark&gt; element from <xref target="draft-lozano-smd"/>.
        </t>
        </section>
        
      </section>
      
    </section>

    <section anchor="commands" title="EPP Command Mapping">
      <t>A detailed description of the EPP syntax and semantics can be found
      in the EPP core protocol specification <xref target="RFC5730"/>. The
      command mappings described here are specifically for use in the Launch
      Phase Extension.</t>

      <t>This mapping is designed to be flexible, requiring only a minimum set
      of required elements.</t>

      <t>While it is meant to serve several use cases, it does not prescribe
      any interpretation by the client or server. Such processing is typically
      highly policy-dependent and therefore specific to implementations.</t>

      <t>Operations on application objects are done via one or more of the
      existing EPP verbs defined in the <xref target="RFC5731">EPP domain name
      mapping</xref>. Registries may choose to support a subset of the
      operations.</t>

      <section anchor="checkCommand" title="EPP &lt;check&gt; Command">
        <t>This extension defines additional elements to extend the EPP
        &lt;check&gt; command and response to be used in conjunction with the
        <xref target="RFC5731">EPP domain name mapping</xref>.</t>
        
        <t>This extension defines a new command called the Claims Check Command 
        that is used to determine whether or not there are any matching 
        trademarks, in the specified launch phase, for each domain name passed in the command.  
        The availability check information defined in the <xref target="RFC5731">EPP domain name
      mapping</xref> MUST NOT be returned for the Claims Check Command.  
        Instead of 
        returning whether the domain name is available the Claims Check Command will return whether 
        or not at least one matching trademark exists for the domain name.  
        If there is at least one matching trademark that exists for the 
        domain name a &lt;launch:claimKey&gt; element is returned.  
        The value of the &lt;launch:claimKey&gt; element can 
        be used with an info service of a third party trademark provider like 
        the Trademark Clearinghouse (TMCH) for getting the information needed 
        to generate the trademark claims notice.  The third party trademark 
        provider should also return a unique notice identifier  
        that can be passed in the &lt;launch:noticeID&gt; element of the extension to the 
        <xref target="createCommand">Create Command</xref>.
        
        The &lt;domain:name&gt; elements in the EPP &lt;check&gt; 
        command of <xref target="RFC5731">EPP domain name mapping</xref> define 
        the domain names to check for matching trademarks.  
        The &lt;launch:check&gt; element contains the following child elements:</t>

          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The phase with the value of
              "claims1" or "claims2" to indicate it as a Claims Check Command.
              The "claims1" Claims Check Command will match the &lt;domain:name&gt;
              against the full list of trademark labels and the "claims2" 
              Claims Check Command will match the &lt;domain:name&gt; against 
              the list of trademark labels that opted into the "claims2" 
              launch phase.</t>
            </list></t>
          <figure>
            <preamble>Example Claims Check Command using the &lt;check&gt;
            domain command and the &lt;launch:check&gt; extension to 
            determine if "example1.tld" and "example2.tld" have any 
            matching trademarks during the "claims1" launch phase.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
   <check>
    <domain:check
     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:name>example1.tld</domain:name>
      <domain:name>example2.tld</domain:name>
    </domain:check>
   </check>
   <extension>
    <launch:check
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>claims1</launch:phase>
    </launch:check>
   </extension>
   <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>
          <figure>
            <preamble>Example Claims Check Command using the &lt;check&gt;
            domain command and the &lt;launch:check&gt; extension to 
            determine if "example3.tld" and "example4.tld" have any 
            matching trademarks that opted into the "claims2" launch phase.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
   <check>
    <domain:check
     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:name>example3.tld</domain:name>
      <domain:name>example4.tld</domain:name>
    </domain:check>
   </check>
   <extension>
    <launch:check
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>claims2</launch:phase>
    </launch:check>
   </extension>
   <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>

          <t>If the &lt;check&gt; command has been processed successfully, the EPP 
          &lt;resData&gt; element MUST contains a child &lt;launch:chkData&gt; element 
          that identifies the launch namespace.  The &lt;launch:chkData&gt; element 
          contains the following child elements:</t>

          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The phase with a value of
              "claims1" or "claims2" that matches the associated 
              Claims Check Command &lt;launch:phase&gt;.</t>

              <t hangText="&lt;launch:cd&gt;">One or more &lt;launch:cd&gt; 
              elements that contain the following child elements:</t>
              
              <t><list hangIndent="4" style="hanging">
            <t hangText="&lt;launch:name&gt;">Contains the fully 
            qualified name of the queried domain name.  This element 
            MUST contain an "exists" attribute whose value 
            indicates if a matching trademark exists for the domain 
            name.  A value of "1" or "true" means that a matching 
            trademark does exist for the claims launch phase.  
            A value of "0" or "false" means that 
            a matching trademark does not exist.</t>
            <t hangText="&lt;launch:claimKey&gt;">An OPTIONAL claim key 
            that MAY be passed to an info service of a third party 
            trademark provider like the Trademark Clearinghouse (TMCH) 
            for getting the information needed to generate the 
            trademark claims notice.  The &lt;launch:claimKey&gt; is used 
            as the key for the query in place of the domain name 
            to securely query the service without using a well-known 
            value like a domain name.</t>  
              </list></t>

            </list></t>

          <figure>
            <preamble>Example Claims Check Response when no matching trademarks
             are found for the domain name example1.tld and matching 
             trademarks are found for the domain name example2.tld for the 
             "claims1" launch phase.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
     <msg>Command completed successfully</msg>
    </result>
    <resData>
     <launch:chkData
      xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>claims1</launch:phase>
      <launch:cd>
        <launch:name exists="0">example1.tld</launch:name>
      </launch:cd>
      <launch:cd>
        <launch:name exists="1">example2.tld</launch:name>
        <launch:claimKey>abc123</launch:claimKey>
      </launch:cd>
     </launch:chkData>
    </resData>
    <trID>
     <clTRID>ABC-12345</clTRID>
     <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>]]></artwork>
          </figure>
          <figure>
            <preamble>Example Claims Check Response when no matching trademarks
             are found for the domain name example3.tld and matching 
             trademarks are found for the domain name example4.tld for the 
             "claims2" launch phase.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
     <msg>Command completed successfully</msg>
    </result>
    <resData>
     <launch:chkData
      xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>claims2</launch:phase>
      <launch:cd>
        <launch:name exists="0">example3.tld</launch:name>
      </launch:cd>
      <launch:cd>
        <launch:name exists="1">example4.tld</launch:name>
        <launch:claimKey>abc123</launch:claimKey>
      </launch:cd>
     </launch:chkData>
    </resData>
    <trID>
     <clTRID>ABC-12345</clTRID>
     <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp> ]]></artwork>
          </figure>
      </section>

      <!-- end CHECK command -->

      <section anchor="infoCommand" title="EPP &lt;info&gt; Command">
        <t>This extension defines additional elements to extend the EPP
        &lt;info&gt; command and response to be used in conjunction with the
        <xref target="RFC5731">EPP domain name mapping</xref>.</t>
        
        <t>The EPP &lt;info&gt; command is used to retrieve information 
        for a launch phase registration or application.  The <xref target="applicationID">Application Identifier</xref> 
        returned in the &lt;launch:creData&gt; element of the <xref target="createCommand">Create Response</xref> 
        is used for retrieving information for a launch application.  A &lt;launch:info&gt; element
        is sent along with the regular &lt;info&gt; domain command. The &lt;launch:info&gt; element includes 
        an OPTIONAL "includeMark" boolean attribute, with a default value of "false", to indicate whether 
        or not to include the mark in the response.  The
        &lt;launch:info&gt; element contains the following child
        elements:</t>
        
          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The phase during which the
              application or registration was submitted or is associated with. 
              Server policy defines the phases that are supported.</t>

              <t hangText="&lt;launch:applicationID&gt;">OPTIONAL application
              identifier of the launch application.</t>
            </list></t>

          <figure>
            <preamble>Example &lt;info&gt; domain command with the
            &lt;launch:info&gt; extension to retrieve information 
            for the sunrise application for example.tld and application 
            identifier "abc123".</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
   <info>
    <domain:info
     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:name>example.tld</domain:name>
    </domain:info>
   </info>
   <extension>
    <launch:info
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" 
       includeMark="true">
      <launch:phase>sunrise</launch:phase>
      <launch:applicationID>abc123</launch:applicationID>
    </launch:info>
   </extension>
   <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>

          <figure>
            <preamble>Example &lt;info&gt; domain command with the
            &lt;launch:info&gt; extension to retrieve information 
            for the sunrise registration for example.tld.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
   <info>
    <domain:info
     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:name>example.tld</domain:name>
    </domain:info>
   </info>
   <extension>
    <launch:info
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>sunrise</launch:phase>
    </launch:info>
   </extension>
   <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>


          <t>If the query was successful, the server replies with a
          &lt;launch:infData&gt; element along with the regular EPP
          &lt;resData&gt;. The &lt;launch:infData&gt; contains the following
          child elements:</t>
          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The phase during which the
              application was submitted or is associated with that matches the associated 
              &lt;info&gt; command &lt;launch:phase&gt;.</t>

              <t hangText="&lt;launch:applicationID&gt;">OPTIONAL application
              identifier of the launch application.</t>

              <t hangText="&lt;launch:status&gt;">OPTIONAL status of the launch application
              using one of the supported <xref target="statuses">status
              values</xref>.</t>

              <t hangText="&lt;mark:mark&gt;">Zero or more
              <xref target="mark">&lt;mark:mark&gt;</xref> elements.
              </t>
              
            </list></t>

          <figure>
            <preamble>Example &lt;info&gt; domain response using the 
            &lt;launch:infData&gt; extension with the mark
            information.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <resData>
      <domain:infData
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.tld</domain:name>
        <domain:roid>EXAMPLE1-REP</domain:roid>
        <domain:status s="pendingCreate"/>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:clID>ClientX</domain:clID>
        <domain:crID>ClientY</domain:crID>
        <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:infData>
    </resData>
    <extension>
      <launch:infData
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
          <launch:applicationID>abc123</launch:applicationID>
          <launch:status s="pending"/>
          <mark:mark
            xmlns:mark="urn:ietf:params:xml:ns:mark-1.0">
             ...
         </mark:mark>
      </launch:infData>
    </extension>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>]]></artwork>
          </figure>


      </section>
      <!-- end INFO command -->

      <section anchor="createCommand" title="EPP &lt;create&gt; Command">
        <t>There are two forms of the extension to the EPP &lt;create&gt;
        command that are dependent on the supported <xref
        target="phases">launch phases</xref> as defined below:</t>

        <t><list style="hanging">
            <t hangText="sunrise">The EPP &lt;create&gt; command with the
            "sunrise" launch phase is used to submit a registration with trademark
            information that can be verified by the server with the
            &lt;domain:name&gt; value. The <xref target="sunriseCreateForm">
            Sunrise Create Form</xref> is used for the "sunrise" launch phase.
            Optionally, the server can support multiple overlapping
            applications that are chosen asynchronously with a server
            generated <xref target="applicationID">Application
            Identifier</xref> for later reference.</t>

            <t hangText="landrush">The EPP &lt;create&gt; command with the
            "landrush" launch phase is undefined but the form supported is up to
            server policy.</t>

            <t hangText="claims1">The EPP &lt;create&gt; command with the
            "claims1" launch phase is used to pass the information associated 
            with the presentation and acceptance of the "claims1" claims notice.  The 
            <xref target="claimsCreateForm">Claims Create Form</xref> is used 
            for the "claims1" launch phase.</t>

            <t hangText="claims2">The EPP &lt;create&gt; command with the
            "claims2" launch phase is used to pass the information associated 
            with the presentation of the "claims1" claims notice.  The 
            <xref target="claimsCreateForm">Claims Create Form</xref> is used 
            for the "claims2" launch phase.</t>

            <t hangText="open">The EPP &lt;create&gt; command with the "open"
            launch phase is undefined but the form supported is up to server
            policy.</t>

            <t hangText="custom">The EPP &lt;create&gt; command with the
            "custom" launch phase is undefined but the form supported is up to server
            policy.</t>
          </list></t>

        <section anchor="sunriseCreateForm" title="Sunrise Create Form">
          <t>The Sunrise Create Form of the extension to the <xref
          target="RFC5731">EPP domain name mapping</xref> includes the
          verifiable trademark information that the server uses to match
          against the domain name to authorize the domain create. A server
          MUST support one of four models in <xref
          target="validationModels">Claim Validation Models</xref> to 
          verify the trademark information passed by the client.</t>

          <t>A &lt;launch:create&gt; element is sent along with the regular
          &lt;create&gt; domain command. The &lt;launch:create&gt; element
          contains the following child elements:</t>

          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The launch phase for the 
              create like the "sunrise" launch phase.</t>

              <t
              hangText="&lt;launch:codeMark&gt; or &lt;smd:signedMark&gt; or &lt;smd:encodedSignedMark&gt;">
                  <list hangIndent="4" style="hanging">

              <t hangText="&lt;launch:codeMark&gt;">Zero or more
              &lt;launch:codeMark&gt; elements.  The &lt;launch:codeMark&gt;
              child elements are defined in the 
              <xref target="codeMark">&lt;launch:codeMark&gt; element</xref> 
              section.</t>

              <t hangText="&lt;smd:signedMark&gt;">Zero or more
              &lt;smd:signedMark&gt; elements.  The &lt;smd:signedMark&gt; 
              child elements are defined in 
              the <xref target="signedMark">&lt;smd:signedMark&gt; element</xref> 
              section.</t>

             <t hangText="&lt;smd:encodedSignedMark&gt;">Zero or more
              &lt;smd:encodedSignedMark&gt; elements.  The &lt;smd:encodedSignedMark&gt; 
              child elements are defined in 
              the <xref target="encodedSignedMark">&lt;smd:encodedSignedMark&gt; element</xref> 
              section.</t>
              
              </list></t>
            </list></t>


          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension, following the "code" 
            validation model, with multiple sunrise codes.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <launch:codeMark>
          <launch:code>49FD46E6C4B45C55D4AC</launch:code>
        </launch:codeMark>
        <launch:codeMark>
          <launch:code>49FD46E6C4B45C55D4AD</launch:code>
        </launch:codeMark>
        <launch:codeMark>
          <launch:code>49FD46E6C4B45C55D4AE</launch:code>
        </launch:codeMark>
     </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>


          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension, following the "mark" 
            validation model, with the mark information.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>exampleone.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <launch:codeMark>
          <mark:mark
            xmlns:mark="urn:ietf:params:xml:ns:mark-1.0">
            ...
          </mark:mark>
        </launch:codeMark>
      </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>



          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension, following the "code with mark" 
            validation model, with a code and mark information.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <launch:codeMark>
          <launch:code>49FD46E6C4B45C55D4AC</launch:code>
          <mark:mark
           xmlns:mark="urn:ietf:params:xml:ns:mark-1.0">
           ...
          </mark:mark>
        </launch:codeMark>
      </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>

          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension, following the "signed mark" 
            validation model, with the signed mark information.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>exampleone.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <smd:signedMark id="signedMark"
         xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"> 
         ...
        </smd:signedMark>
      </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>


          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension, following the "signed mark" 
            validation model, with the base64 encoded signed mark information.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>exampleone.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <smd:encodedSignedMark 
         xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0">
         ...
        </smd:encodedSignedMark>
      </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>


          <t>If the create was successful, the server MAY reply with the
          &lt;launch:creData&gt; element along with the regular EPP
          &lt;resData&gt; to indicate the server generated <xref
          target="applicationID">Application Identifier</xref> when multiple
          applications of a given domain name is supported; otherwise no
          extension is included with the regular EPP &lt;resData&gt;. The
          &lt;launch:creData&gt; element contains the following child
          elements:</t>
          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">The phase of the application
              that mirrors the &lt;launch:phase&gt; element included in the
              &lt;launch:create&gt;.</t>

              <t hangText="&lt;launch:applicationID&gt;">The application
              identifier of the application.</t>
            </list></t>

          <figure>
            <preamble>An example response when multiple overlapping
            applications are supported by the server.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1001">
      <msg>Command completed successfully; action pending</msg>
    </result>
    <resData>
      <domain:creData
         xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
       <domain:name>example.tld</domain:name>
       <domain:crDate>2010-08-10T15:38:26.623854Z</domain:crDate>
       <domain:exDate>2012-08-10T15:38:26.623854Z</domain:exDate>
      </domain:creData>
    </resData>
    <extension>
      <launch:creData 
        xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>sunrise</launch:phase>
        <launch:applicationID>2393-9323-E08C-03B1
        </launch:applicationID>
      </launch:creData>
    </extension>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>
    ]]></artwork>
          </figure>

          <!-- end example sunrise create cmd -->
        </section>

        <section anchor="claimsCreateForm" title="Claims Create Form">
          <t>The Claims Create Form of the extension to the <xref
          target="RFC5731">EPP domain name mapping</xref> includes the
          information related to the acceptance of the claims notice 
          for the "claims1" launch phase and the display of the claims 
          notice for the "claims2" launch phase.</t>

          <t>A &lt;launch:create&gt; element is sent along with the regular
          &lt;create&gt; domain command. The &lt;launch:create&gt; element
          contains the following child elements:</t>

          <t><list hangIndent="4" style="hanging">
              <t hangText="&lt;launch:phase&gt;">MUST contain the value of
              "claims1" or "claim2" to indicate the claims launch phase.</t>
              <t hangText="&lt;launch:notice&gt;">
              <list hangIndent="4" style="hanging">
            <t hangText="&lt;launch:noticeID&gt;">Unique notice identifier 
          generated by the source of the claims notice information 
          like the Claims Notice Information Service (CNIS).</t>
                <t hangText="&lt;launch:generatedDate&gt;">Contains the
              date and time that the claims notice was generated.</t>
                <t hangText="&lt;launch:acceptedDate&gt;">Contains the
              date and time that the claims notice was displayed or accepted.</t>
                <t hangText="&lt;launch:source&gt;">Contains the source 
              information of the client that was displayed or that accepted the 
              claims notice like the client IP address.</t>
              </list></t>
            </list></t>

          <figure>
            <preamble>Following is an example &lt;create&gt; domain command
            using the &lt;launch:create&gt; extension with the 
            &lt;launch:notice&gt; information for the "claims1" claims 
            launch phase.</preamble>

            <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.tld</domain:name>
        <domain:registrant>jd1234</domain:registrant>
        <domain:contact type="admin">sh8013</domain:contact>
        <domain:contact type="tech">sh8013</domain:contact>
        <domain:authInfo>
          <domain:pw>2fooBAR</domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <extension>
      <launch:create
       xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
        <launch:phase>claims1</launch:phase>
        <launch:notice>
          <launch:noticeID>49FD46E6C4B45C55D4AC</launch:noticeID>
          <launch:generatedDate>2012-06-19T09:00:10.0Z
          </launch:generatedDate>
          <launch:acceptedDate>2012-06-19T09:01:30.0Z
          </launch:acceptedDate>
          <launch:source>192.0.2.29</launch:source>
        </launch:notice>
      </launch:create>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>]]></artwork>
          </figure>
          
        <t>This extension does not define any extension to the response of a
        &lt;create&gt; domain command for the Claims Create Form. After processing the command, the
        server replies with a standard EPP response as defined in the <xref
        target="RFC5731">EPP domain name mapping</xref>.</t>
          
        </section>
      </section>

      <!-- end CREATE command -->

      <section anchor="updateCommand" title="EPP &lt;update&gt; Command">
        <t>This extension defines additional elements to extend the EPP
        &lt;update&gt; command to be used in conjunction with the domain name
        mapping.</t>

        <t>A server that does not support multiple applications of a
        given domain name with an <xref target="applicationID">Application
        Identifier</xref> during its launch phase operations MUST return an
        EPP error result code of 2102.</t>

        <t>Registry policies permitting, clients may update an application
        object by submitting an EPP &lt;update&gt; command along with a
        &lt;launch:update&gt; element to indicate the application object to be
        updated. The &lt;launch:update&gt; element contains the following
        child elements:</t>
        <t><list hangIndent="4" style="hanging">
            <t hangText="&lt;launch:phase&gt;">The phase during which the
            application was submitted or is associated with.</t>

            <t hangText="&lt;launch:applicationID&gt;">The application
            identifier for which the client wishes to update.</t>
          </list></t>

        <t>This extension does not define any extension to the response of an
        &lt;update&gt; domain command. After processing the command, the
        server replies with a standard EPP response as defined in the <xref
        target="RFC5731">EPP domain name mapping</xref>.</t>

        <figure>
          <preamble>Following is an example &lt;update&gt; domain command with
          the &lt;launch:update&gt; extension to add and remove a name server
          of a sunrise application with the application identifier
          "abc123".</preamble>

          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <update>
      <domain:update
       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.tld</domain:name>
        <domain:add>
            <domain:ns>
              <domain:hostObj>ns2.example.tld</domain:hostObj>
            </domain:ns>
          </domain:add>
          <domain:rem>
            <domain:ns>
              <domain:hostObj>ns1.example.tld</domain:hostObj>
            </domain:ns>
          </domain:rem>
      </domain:update>
    </update>
    <extension>
    <launch:update
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>sunrise</launch:phase>
      <launch:applicationID>abc123</launch:applicationID>
    </launch:update>
    </extension>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>
]]></artwork>
        </figure>

        <figure>
          <preamble>An example response that corresponds to the above
          command.</preamble>

          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>
    ]]></artwork>
        </figure>

        <!-- example update cmd -->
      </section>
      <!-- end UPDATE command -->

      <section anchor="deleteCommand" title="EPP &lt;delete&gt; Command">
        <t>This extension defines additional elements to extend the EPP
        &lt;delete&gt; command to be used in conjunction with the domain name
        mapping.</t>

        <t>A server that does not support multiple applications of a
        given domain name with an <xref target="applicationID">Application
        Identifier</xref> during its launch phase operations MUST return an
        EPP error result code of 2102.</t>

        <t>Registry policies permitting, clients MAY withdraw an application
        by submitting an EPP &lt;delete&gt; command along with a
        &lt;launch:delete&gt; element to indicate the application object to be
        deleted. The &lt;launch:delete&gt; element contains the following
        child elements:</t>
        <t><list hangIndent="4" style="hanging">
            <t hangText="&lt;launch:phase&gt;">The phase during which the
            application was submitted or is associated with.</t>

            <t hangText="&lt;launch:applicationID&gt;">The application
            identifier for which the client wishes to delete.</t>
          </list></t>

        <t>This extension does not define any extension to the response of a
        &lt;delete&gt; domain command. After processing the command, the
        server replies with a standard EPP response as defined in the <xref
        target="RFC5731">EPP domain name mapping</xref>.</t>

        <figure>
          <preamble>Following is an example &lt;delete&gt; domain command with
          the &lt;launch:delete&gt; extension.</preamble>

          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
   <delete>
    <domain:delete
     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
      <domain:name>example.tld</domain:name>
    </domain:delete>
   </delete>
   <extension>
    <launch:delete
     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
      <launch:phase>sunrise</launch:phase>
      <launch:applicationID>abc123</launch:applicationID>
    </launch:delete>
   </extension>
   <clTRID>ABC-12345</clTRID>
  </command>
</epp>    
]]></artwork>
        </figure>

        <figure>
          <preamble>An example response that corresponds to the above
          command.</preamble>

          <artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <response>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
    <trID>
      <clTRID>ABC-12345</clTRID>
      <svTRID>54321-XYZ</svTRID>
    </trID>
  </response>
</epp>
    ]]></artwork>
        </figure>

        <!-- example delete cmd -->
      </section>
      <!-- end DELETE command -->

      <section anchor="renewCommand" title="EPP &lt;renew&gt; Command">
        <t>This extension does not define any extension to the EPP
        &lt;renew&gt; command or response described in the <xref
        target="RFC5731">EPP domain name mapping</xref>.</t>
      </section>
      <!-- end RENEW command -->

      <section anchor="transferCommand" title="EPP &lt;transfer&gt; Command">
        <t>This extension does not define any extension to the EPP
        &lt;transfer&gt; command or response described in the <xref
        target="RFC5731">EPP domain name mapping</xref>.</t>
      </section>
      <!-- end TRANSFER command -->
      
    </section>

    <!-- EPP command mapping -->

    <section anchor="syntax" title="Formal Syntax">
    
      <t>One schema is presented here that is the EPP Launch 
      Phase Mapping schema.</t>
      
      <t>The formal
      syntax presented here is a complete schema representation of the object
      mapping suitable for automated validation of EPP XML instances. The
      BEGIN and END tags are not part of the schema; they are used to note the
      beginning and ending of the schema for URI registration purposes.</t>

    <section title="Launch Schema">
      <t>Copyright (c) 2012 IETF Trust and the persons identified as authors
      of the code. All rights reserved.</t>

      <t>Redistribution and use in source and binary forms, with or without
      modification, are permitted provided that the following conditions are
      met:</t>

      <t><list style="symbols">
          <t>Redistributions of source code must retain the above copyright
          notice, this list of conditions and the following disclaimer.</t>

          <t>Redistributions in binary form must reproduce the above copyright
          notice, this list of conditions and the following disclaimer in the
          documentation and/or other materials provided with the
          distribution.</t>

          <t>Neither the name of Internet Society, IETF or IETF Trust, nor the
          names of specific contributors, may be used to endorse or promote
          products derived from this software without specific prior written
          permission.</t>
        </list></t>

      <t>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
      "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
      LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
      PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
      OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
      EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
      PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
      PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
      LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
      NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
      SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</t>

      <figure>
        <artwork><![CDATA[
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
<schema 
  targetNamespace="urn:ietf:params:xml:ns:launch-1.0" 
  xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" 
  xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
  xmlns:mark="urn:ietf:params:xml:ns:mark-1.0"
  xmlns:smd="urn:ietf:params:xml:ns:signedMark-1.0"
  xmlns="http://www.w3.org/2001/XMLSchema" 
  elementFormDefault="qualified">
  
<!--
Import common element types.
-->
  <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"
          schemaLocation="eppcom-1.0.xsd"/> 
  
  <import namespace="urn:ietf:params:xml:ns:mark-1.0"
          schemaLocation="mark-1.0.xsd"/> 

  <import namespace="urn:ietf:params:xml:ns:signedMark-1.0"
          schemaLocation="signedMark-1.0.xsd"/> 
  
  <annotation>
    <documentation> 
      Extensible Provisioning Protocol v1.0 
      domain name extension schema 
      for the launch phase processing.  
    </documentation>
  </annotation>
  
  <!-- 
  Child elements found in EPP commands.  
  -->
  <element name="check" type="launch:checkType"/>
  <element name="info" type="launch:infoType"/>
  <element name="create" type="launch:createType"/>
  <element name="update" type="launch:idContainerType"/>
  <element name="delete" type="launch:idContainerType"/>
  
  <!-- 
  Common container of id (identifier) element
  -->
  <complexType name="idContainerType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
      <element name="applicationID" type="launch:applicationIDType"/>
    </sequence>
  </complexType>
  
  <!-- 
  Definition for application identifier
  -->
  <simpleType name="applicationIDType">
    <restriction base="token"/>
  </simpleType>
  
  <!-- 
  Definition for launch phase.  Name is an optional attribute
  used to extend the phase type.  For example, when 
  using the phase type value of &qt;custom&gt;, the name 
  can be used to specify the custom phase.  
  -->
  <complexType name="phaseType">
    <simpleContent>
      <extension base="launch:phaseTypeValue">
        <attribute name="name" type="token"/>
      </extension>
    </simpleContent>
  </complexType>
  
  <!-- 
  Enumeration of for launch phase values.  
  -->
  <simpleType name="phaseTypeValue">
      <restriction base="token">
        <enumeration value="sunrise"/>
        <enumeration value="landrush"/>
        <enumeration value="claims1"/>
        <enumeration value="claims2"/>
        <enumeration value="open"/>
        <enumeration value="custom"/>
    </restriction>
  </simpleType>
  
  
  <!-- 
  Definition for the sunrise code   
  -->
  <simpleType name="codeType">
    <restriction base="base64Binary">
      <minLength value="1"/>
    </restriction>
  </simpleType>
  
  <!-- 
  Definition for the notice identifier   
  -->
  <simpleType name="noticeIDType">
    <restriction base="base64Binary">
      <minLength value="1"/>
    </restriction>
  </simpleType>
      
  <!-- 
  Possible status values for sunrise application 
  -->
    <simpleType name="statusValueType">
    <restriction base="token">
        <enumeration value="pending"/>
        <enumeration value="validated"/>
        <enumeration value="invalid"/>
        <enumeration value="pendingAuction"/>
        <enumeration value="allocated"/>
        <enumeration value="rejected"/>
        <enumeration value="custom"/>
      </restriction>
    </simpleType>
  
  <!-- 
  Status type definition
  -->
  <complexType name="statusType">
    <simpleContent>
      <extension base="normalizedString">
        <attribute name="s" type="launch:statusValueType" 
          use="required"/>
        <attribute name="lang" type="language" 
          default="en"/>
        <attribute name="name" type="token"/>
      </extension>
    </simpleContent>
  </complexType>
  
  <!--
  codeMark Type that contains an optional code 
  with mark information.
  -->
  <complexType name="codeMarkType">
    <sequence>
    <element name="code" type="launch:codeType"
      minOccurs="0"/>
    <element ref="mark:abstractMark"
      minOccurs="0"/>
  </sequence>
  </complexType>
  
  <!-- 
  Child elements for the create command
  -->
  <complexType name="createType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
      <choice>
        <element name="codeMark" type="launch:codeMarkType"
          maxOccurs="unbounded"/>
        <element ref="smd:abstractSignedMark" 
         maxOccurs="unbounded"/>
        <element ref="smd:encodedSignedMark" 
         maxOccurs="unbounded"/>
          <element name="notice" 
          type="launch:createNoticeType"/> 
      </choice>
    </sequence>
  </complexType>
  
  <!-- 
  Child elements of the create notice element. 
  -->
  <complexType name="createNoticeType">
    <sequence>
      <element name="noticeID" type="launch:noticeIDType"/>
      <element name="generatedDate" type="dateTime"/>
      <element name="acceptedDate" type="dateTime"/>
      <element name="source" type="token"/>
    </sequence>
  </complexType>


  <!-- 
  Child elements of check (Claims Check Command).  
  -->
  <complexType name="checkType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
    </sequence>
  </complexType>


  <!-- 
  Child elements of info command.  
  -->
  <complexType name="infoType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
      <element name="applicationID" 
        type="launch:applicationIDType" 
        minOccurs="0"/>
    </sequence>
    <attribute name="includeMark" type="boolean" 
      default="false"/>
  </complexType>

  <!-- 
  Child response elements.  
  -->
  <element name="chkData" type="launch:chkDataType"/>    
  <element name="creData" type="launch:idContainerType"/>
  <element name="infData" type="launch:infDataType"/>
  
  <!--
   <check> response elements.
   -->
  <complexType name="chkDataType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
      <element name="cd" type="launch:cdType"
       maxOccurs="unbounded"/>
    </sequence>
  </complexType>

  <complexType name="cdType">
    <sequence>
      <element name="name" type="launch:cdNameType"/>
      <element name="claimKey" type="token"
       minOccurs="0"/>
    </sequence>
  </complexType>

  <complexType name="cdNameType">
    <simpleContent>
      <extension base="eppcom:labelType">
        <attribute name="exists" type="boolean"
         use="required"/>
      </extension>
    </simpleContent>
  </complexType>
  
  <!--
  <info> response elemenets
  -->
  <complexType name="infDataType">
    <sequence>
      <element name="phase" type="launch:phaseType"/>
     <element name="applicationID" 
      type="launch:applicationIDType" 
      minOccurs="0"/>
     <element name="status" type="launch:statusType" 
      minOccurs="0"/>
      <element ref="mark:abstractMark"
      minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
  </complexType>
    
</schema>
END]]></artwork>
      </figure>
      </section>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors wish to acknowledge the efforts of the leading 
      participants of the Community TMCH Model that led to many of the 
      changes to this document, which include Chris Wright, Jeff Neuman, 
      Jeff Eckhaus, and Will Shorter.</t>
      <t>Special suggestions that have been incorporated into this document 
      were provided by Jothan Frakes, Keith Gaughan, Jan Jansen, Gustavo Lozano,
      Klaus Malorny, Patrick Mevzek, Bernhard Reutner-Fischer, Trung Tran,
      Ulrich Wisser and Sharon Wodjenski.</t>
    </section>
    
   <section title="Change History">
    <section title="Change from 00 to 01" anchor="change-00-to-01">
      <t><list style="numbers">
        <t>Changed to use camel case for the XML elements.</t>
        <t>Replaced "cancelled" status to "rejected" status.</t>
        <t>Added the child elements of the &lt;claim&gt; element.</t>
        <t>Removed the XML schema and replaced with "[TBD]".</t>
      </list></t>
    </section>
    <section title="Change from 01 to 02" anchor="change-01-to-02">
      <t><list style="numbers">
        <t>Added support for both the ICANN and ARI/Neustar TMCH models.</t>
        <t>Changed the namespace URI and prefix to use "launch" instead of "launchphase".</t>
        <t>Added definition of multiple claim validation models.</t>
        <t>Added the &lt;launch:signedClaim&gt; and &lt;launch:signedNotice&gt; elements.</t>
        <t>Added support for Claims Info Command</t>
      </list></t>
    </section>
    <section title="Change from 02 to 03" anchor="change-02-to-03">
      <t><list style="numbers">
        <t>Removed XSI namespace per Keith Gaughan's suggestion on the provreg list.</t>
        <t>Added extensibility to the launch:status element and added the 
        pendingAuction status per Trung Tran's feedback on the provreg list.</t>
        <t>Added support for the Claims Check Command, updated the location and 
        contents of the signedNotice, and replaced most references of Claim to Mark 
        based on the work being done on the ARI/Neustar launch model.</t>
      </list></t>
    </section>
    <section title="Change from 03 to 04" anchor="change-03-to-04">
      <t><list style="numbers">
        <t>Removed references to the ICANN model.</t>
        <t>Removed support for the Claims Info Command.</t>
        <t>Removed use of the signedClaim.</t>
        <t>Revised the method for referring to the signedClaim from the XML Signature using the IDREF URI.</t>
        <t>Split the launch-1.0.xsd into three XML schemas including launch-1.0.xsd, signeMark-1.0.xsd, and mark-1.0.xsd.</t>
        <t>Split the "claims" launch phase to the "claims1" and "claims2" launch phases.</t>
        <t>Added support for the encodedSignedMark with base64 encoded signedMark.</t>
        <t>Changed the elements in the createNoticeType to include the noticeID, timestamp, and the source elements.</t>
        <t>Added the class and effectiveDate elements to mark.</t>
      </list></t>
    </section>
    <section title="Change from 04 to 05" anchor="change-04-to-05">
      <t><list style="numbers">
        <t>Removed reference to &lt;smd:zone&gt; in the &lt;smd:signedMark&gt; example.</t>
        <t>Incorporated feedback from Bernhard Reutner-Fischer on the provreg mail list.</t>
        <t>Added missing launch XML prefix to applicationIDType reference in the idContainerType of the Launch Schema.</t>
        <t>Added missing description of the &lt;mark:pc&gt; element in the &lt;mark:addr&gt; element.</t>
        <t>Updated note on replication of the EPP contact mapping elements in the Mark Contact section.</t>
      </list></t>
    </section>
    <section title="Change from 05 to 06" anchor="change-05-to-06">
      <t><list style="numbers">
        <t>Removed the definition of the mark-1.0 and signedMark-1.0 and replaced with reference to draft-lozano-smd, that contains the definition for the mark, signed marked, and encoded signed mark.</t>
        <t>Split the &lt;launch:timestamp&gt; into &lt;launch:generatedDate&gt; and &lt;launch:acceptedDate&gt; based on feedback from Trung Tran.</t>
        <t>Added the "includeMark" optional attribute to the &lt;launch:info&gt; element to enable the client to request whether or not to include the mark in the info response.</t>
        <t>Fixed state diagram to remove redundant transition from "invalid" to "rejected"; thanks Klaus Malorny.</t>
      </list></t>
    </section>
   </section>
    

    <section anchor="IANA" title="IANA Considerations">
         <t>
             This document uses URNs to describe XML namespaces and XML schemas
             conforming to a registry mechanism described in <xref target="RFC3688"/>.
             Three URI assignments have been registered by the IANA.
         </t>

         <t>Registration request for the Launch namespace:</t>
         <t>
             <list>
                 <t>URI: urn:ietf:params:xml:ns:launch-1.0</t>
                 <t>Registrant Contact: See the &quot;Author&apos;s Address&quot; section of this document.</t>
                 <t>XML: None.  Namespace URIs do not represent an XML specification.</t>
             </list>
         </t> 
 
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The mapping extensions described in this document do not provide any
      security services beyond those described by <xref
      target="RFC5730">EPP</xref>, the <xref target="RFC5731">EPP domain name
      mapping</xref>, and protocol layers used by EPP. The security
      considerations described in these other specifications apply to this
      specification as well.</t>

      <t>Updates to, and deletion of an application object must be restricted
      to clients authorized to perform the said operation on the object.</t>

      <t>As information contained within an application, or even the mere fact
      that an application exists may be confidential. Any attempt to operate
      on an application object by an unauthorized client MUST be rejected with
      an EPP 2303 (object does not exist) or an appropriate auhorization
      error. Server policy may allow &lt;info&gt; operation with filtered
      output by clients other than the sponsoring client, in which case the
      &lt;domain:infData&gt; and &lt;launch:infData&gt; response SHOULD be
      filtered to include only fields that are publicly accessible.</t>
    </section>

  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
    
      <reference anchor="draft-lozano-smd">
        <front>
          <title abbrev='Mark and Signed Mark Objects Mapping'>Mark and Signed Mark Objects Mapping</title>
          <author fullname="Gustavo Lozano" initials="G.L." surname="Lozano"/>
        </front>
        <format type='HTML' target='http://tools.ietf.org/html/draft-lozano-tmch-smd' />
      </reference>    
    
    
      &RFC2119;

      &RFC5730;

      &RFC5731;

      &RFC3688;


    </references>
  </back>

  <!-- vim: set ts=2 sw=2 expandtab: -->
</rfc>
