LvDomain extension

Currently, domain names service is extended only by a single additional status value, clientAutoRenewProhibited to accept or discard domain names from being auto-renewed when their expiry date comes to an end. (see renewal process of domain names).

The extension is identified by following namespace URI: http://www.nic.lv/epp/schema/lvdomain-ext-1.0

Domain <update> command

Request for SETTING a clientAutoRenewProhibited status on a domain name in pendingRenew state:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">

 <command>
    <update>
      <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
                     xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
        <domain:name>example-lvnic.lv</domain:name>
      </domain:update>
    </update>
    <extension>
      <lvdomain:update xmlns:lvdomain='http://www.nic.lv/epp/schema/lvdomain-ext-1.0'>
        <lvdomain:add>
          <lvdomain:status s='clientAutoRenewProhibited' lang='en'>Client didn't pay for domain name: discard it</lvdomain:status>
        </lvdomain:add>
      </lvdomain:update>
    </extension>
    <clTRID>g8JaG4SaDYHo9w0KOP1m</clTRID>
  </command>
</epp>

Note

In order to remove a clientAutoRenewProhibited state, use <lvdomain:rem> instead of <lvdomain:add>

Request for REMOVING a clientAutoRenewProhibited status on a domain name in pendingRenew state:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">

 <command>
    <update>
      <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
                     xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
        <domain:name>example-lvnic.lv</domain:name>
      </domain:update>
    </update>
    <extension>
      <lvdomain:update xmlns:lvdomain='http://www.nic.lv/epp/schema/lvdomain-ext-1.0'>
        <lvdomain:rem>
          <lvdomain:status s='clientAutoRenewProhibited' lang='en'>Client wants to keep the domain</lvdomain:status>
        </lvdomain:rem>
      </lvdomain:update>
    </extension>
    <clTRID>g8JaG4SaDYHo9w0KOP1m</clTRID>
  </command>
</epp>

Domain <info> command

Server response MAY have an additional <lvdomain:infData> element inside an <extension> element if LvDomain was chosen at the login time and queried domain name has the clientAutoRenewProhibited status set.

Example response:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">

  <response>
    <resData>
      <domain:infData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
        <domain:name>example-lvnic.lv</domain:name>
        <!-- STANDARD DOMAIN DETAILS OMITTED... -->
      </domain:infData>
    </resData>
    <extension>
      <lvDomain:infData xmlns:lvdomain="http://www.nic.lv/epp/schema/lvdomain-ext-1.0"
                        xsi:schemaLocation="http://www.nic.lv/epp/schema/lvdomain-ext-1.0 lvdomain-ext-1.0.xsd">
        <lvDomain:status s="clientAutoRenewProhibited" lang="en">Sick and tired of that domain name..</lvDomain:status>
      </lvDomain:infData>
    </extension>
    <result code="1000">
      <msg>Command completed successfully</msg>
    </result>
  </response>
</epp>

Formal specification (XML schema)

The newest version of the schema is available at https://www.nic.lv/epp/schemas/lvdomain-ext-1.0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!--
lvdomain-ext-1.0.xsd - XML schema for .LV EPP extensions for domain names mapping

$Id: lvdomain-ext-1.0.xsd $
$Date: 2011-01-31 $
$LastChangedBy: Artūrs Gailītis $
-->
<schema targetNamespace="http://www.nic.lv/epp/schema/lvdomain-ext-1.0"
          xmlns:lvdomain="http://www.nic.lv/epp/schema/lvdomain-ext-1.0"
          xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
          xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
          xmlns="http://www.w3.org/2001/XMLSchema"
          elementFormDefault="qualified">

    <!-- Import IETF schemas. -->
    <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"  schemaLocation="eppcom-1.0.xsd" />
    <import namespace="urn:ietf:params:xml:ns:epp-1.0"     schemaLocation="epp-1.0.xsd" />
    <import namespace="urn:ietf:params:xml:ns:domain-1.0"  schemaLocation="domain-1.0.xsd" />

    <annotation>
      <documentation>
        Extensible Provisioning Protocol v1.0
        Extensions for .LV
      </documentation>
    </annotation>

    <!-- **************************************************************** -->
    <!-- Currently, only clientAutoRenewProhibited state for
         <info> and <update>
    -->
    <!-- **************************************************************** -->

    <!-- **************************************************************** -->
    <!--                 extension to domain:update                       -->
    <!-- Uses add/rem/chg elements                                        -->
    <!--                                                                  -->
    <element name="update" type="lvdomain:updateType" />

    <complexType name="updateType">
      <sequence>
        <element name="add" type="lvdomain:addRemType" minOccurs="0" maxOccurs="1" />
        <element name="rem" type="lvdomain:addRemType" minOccurs="0" maxOccurs="1" />
      </sequence>
    </complexType>

    <complexType name="addRemType">
      <sequence>
        <element name="status" type="lvdomain:statusType" minOccurs="0" maxOccurs="1" />
      </sequence>
    </complexType>

    <!-- **************************************************************** -->
    <!--                 extension to domain:info                         -->
    <!--                                                                  -->
    <element name="infData" type="lvdomain:infDataType"/>

    <complexType name="infDataType">
      <all>
        <element name="status" type="lvdomain:statusType" minOccurs="0" maxOccurs="1" />
      </all>
    </complexType>

    <!-- **************************************************************** -->
    <!--               Define the extension element types                 -->
    <!--                                                                  -->

    <!--
     Status is a combination of attributes and an optional
     human-readable message that may be expressed in languages other
     than English.
    -->
    <complexType name="statusType">
      <simpleContent>
        <extension base="normalizedString">
          <attribute name="s"
                        type="lvdomain:statusValueType"
                        use="required"/>
          <attribute name="lang" type="language" default="en"/>
        </extension>
      </simpleContent>
   </complexType>

   <simpleType name="statusValueType">
     <restriction base="token">
       <enumeration value="clientAutoRenewProhibited"/>
     </restriction>
   </simpleType>
</schema>