//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2014.06.19 at 04:49:28 ���� CST 
//


package com.fjs.scenic.cyt.request;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * ������ͨ�ṩ����������ͬ��������pushOrder��
 * <p/>
 * <p>Java class for PushOrderRequestBody complex type.
 * <p/>
 * <p>The following schema fragment specifies the expected content contained within this class.
 * <p/>
 * <pre>
 * &lt;complexType name="PushOrderRequestBody">
 *   &lt;complexContent>
 *     &lt;extension base="{http://tour.ectrip.com/2014/QMRequestDataSchema}RequestBody">
 *       &lt;sequence>
 *         &lt;element name="orderInfo">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="partnerOrderId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                   &lt;element name="contactPerson">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                             &lt;element name="mobile" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                             &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                             &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                   &lt;element name="visitPerson">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="person" maxOccurs="unbounded" minOccurs="0">
 *                               &lt;complexType>
 *                                 &lt;complexContent>
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                     &lt;sequence>
 *                                       &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                                       &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                                       &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                                     &lt;/sequence>
 *                                   &lt;/restriction>
 *                                 &lt;/complexContent>
 *                               &lt;/complexType>
 *                             &lt;/element>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                   &lt;element name="visitDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/sequence>
 *     &lt;/extension>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PushOrderRequestBody", propOrder = {
        "orderInfo"
})
public class PushOrderRequestBody
        extends RequestBody {

    @XmlElement(required = true)
    protected PushOrderRequestBody.OrderInfo orderInfo;

    /**
     * Gets the value of the orderInfo property.
     *
     * @return possible object is
     * {@link PushOrderRequestBody.OrderInfo }
     */
    public PushOrderRequestBody.OrderInfo getOrderInfo() {
        return orderInfo;
    }

    /**
     * Sets the value of the orderInfo property.
     *
     * @param value allowed object is
     *              {@link PushOrderRequestBody.OrderInfo }
     */
    public void setOrderInfo(PushOrderRequestBody.OrderInfo value) {
        this.orderInfo = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * <p/>
     * <p>The following schema fragment specifies the expected content contained within this class.
     * <p/>
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="partnerOrderId" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *         &lt;element name="contactPerson">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                   &lt;element name="mobile" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                   &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                   &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="visitPerson">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="person" maxOccurs="unbounded" minOccurs="0">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                             &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                             &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                             &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                           &lt;/sequence>
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="visitDate" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
            "partnerOrderId",
            "contactPerson",
            "visitPerson",
            "visitDate"
    })
    public static class OrderInfo {

        @XmlElement(required = true)
        protected String partnerOrderId;
        @XmlElement(required = true)
        protected PushOrderRequestBody.OrderInfo.ContactPerson contactPerson;
        @XmlElement(required = true)
        protected PushOrderRequestBody.OrderInfo.VisitPerson visitPerson;
        @XmlElement(required = true)
        protected String visitDate;

        /**
         * Gets the value of the partnerOrderId property.
         *
         * @return possible object is
         * {@link String }
         */
        public String getPartnerOrderId() {
            return partnerOrderId;
        }

        /**
         * Sets the value of the partnerOrderId property.
         *
         * @param value allowed object is
         *              {@link String }
         */
        public void setPartnerOrderId(String value) {
            this.partnerOrderId = value;
        }

        /**
         * Gets the value of the contactPerson property.
         *
         * @return possible object is
         * {@link PushOrderRequestBody.OrderInfo.ContactPerson }
         */
        public PushOrderRequestBody.OrderInfo.ContactPerson getContactPerson() {
            return contactPerson;
        }

        /**
         * Sets the value of the contactPerson property.
         *
         * @param value allowed object is
         *              {@link PushOrderRequestBody.OrderInfo.ContactPerson }
         */
        public void setContactPerson(PushOrderRequestBody.OrderInfo.ContactPerson value) {
            this.contactPerson = value;
        }

        /**
         * Gets the value of the visitPerson property.
         *
         * @return possible object is
         * {@link PushOrderRequestBody.OrderInfo.VisitPerson }
         */
        public PushOrderRequestBody.OrderInfo.VisitPerson getVisitPerson() {
            return visitPerson;
        }

        /**
         * Sets the value of the visitPerson property.
         *
         * @param value allowed object is
         *              {@link PushOrderRequestBody.OrderInfo.VisitPerson }
         */
        public void setVisitPerson(PushOrderRequestBody.OrderInfo.VisitPerson value) {
            this.visitPerson = value;
        }

        /**
         * Gets the value of the visitDate property.
         *
         * @return possible object is
         * {@link String }
         */
        public String getVisitDate() {
            return visitDate;
        }

        /**
         * Sets the value of the visitDate property.
         *
         * @param value allowed object is
         *              {@link String }
         */
        public void setVisitDate(String value) {
            this.visitDate = value;
        }


        /**
         * <p>Java class for anonymous complex type.
         * <p/>
         * <p>The following schema fragment specifies the expected content contained within this class.
         * <p/>
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *         &lt;element name="mobile" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *         &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *         &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
                "name",
                "mobile",
                "credentials",
                "credentialsType"
        })
        public static class ContactPerson {

            @XmlElement(required = true)
            protected String name;
            @XmlElement(required = true)
            protected String mobile;
            @XmlElement(required = true)
            protected String credentials;
            @XmlElement(required = true)
            protected String credentialsType;

            /**
             * Gets the value of the name property.
             *
             * @return possible object is
             * {@link String }
             */
            public String getName() {
                return name;
            }

            /**
             * Sets the value of the name property.
             *
             * @param value allowed object is
             *              {@link String }
             */
            public void setName(String value) {
                this.name = value;
            }

            /**
             * Gets the value of the mobile property.
             *
             * @return possible object is
             * {@link String }
             */
            public String getMobile() {
                return mobile;
            }

            /**
             * Sets the value of the mobile property.
             *
             * @param value allowed object is
             *              {@link String }
             */
            public void setMobile(String value) {
                this.mobile = value;
            }

            /**
             * Gets the value of the credentials property.
             *
             * @return possible object is
             * {@link String }
             */
            public String getCredentials() {
                return credentials;
            }

            /**
             * Sets the value of the credentials property.
             *
             * @param value allowed object is
             *              {@link String }
             */
            public void setCredentials(String value) {
                this.credentials = value;
            }

            /**
             * Gets the value of the credentialsType property.
             *
             * @return possible object is
             * {@link String }
             */
            public String getCredentialsType() {
                return credentialsType;
            }

            /**
             * Sets the value of the credentialsType property.
             *
             * @param value allowed object is
             *              {@link String }
             */
            public void setCredentialsType(String value) {
                this.credentialsType = value;
            }

        }


        /**
         * <p>Java class for anonymous complex type.
         * <p/>
         * <p>The following schema fragment specifies the expected content contained within this class.
         * <p/>
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="person" maxOccurs="unbounded" minOccurs="0">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                   &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *                   &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *                   &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *                 &lt;/sequence>
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
                "person"
        })
        public static class VisitPerson {

            protected List<PushOrderRequestBody.OrderInfo.VisitPerson.Person> person;

            /**
             * Gets the value of the person property.
             * <p/>
             * <p/>
             * This accessor method returns a reference to the live list,
             * not a snapshot. Therefore any modification you make to the
             * returned list will be present inside the JAXB object.
             * This is why there is not a <CODE>set</CODE> method for the person property.
             * <p/>
             * <p/>
             * For example, to add a new item, do as follows:
             * <pre>
             *    getPerson().add(newItem);
             * </pre>
             * <p/>
             * <p/>
             * <p/>
             * Objects of the following type(s) are allowed in the list
             * {@link PushOrderRequestBody.OrderInfo.VisitPerson.Person }
             */
            public List<PushOrderRequestBody.OrderInfo.VisitPerson.Person> getPerson() {
                if (person == null) {
                    person = new ArrayList<PushOrderRequestBody.OrderInfo.VisitPerson.Person>();
                }
                return this.person;
            }


            /**
             * <p>Java class for anonymous complex type.
             * <p/>
             * <p>The following schema fragment specifies the expected content contained within this class.
             * <p/>
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
             *         &lt;element name="credentials" type="{http://www.w3.org/2001/XMLSchema}string"/>
             *         &lt;element name="credentialsType" type="{http://www.w3.org/2001/XMLSchema}string"/>
             *       &lt;/sequence>
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                    "name",
                    "credentials",
                    "credentialsType"
            })
            public static class Person {

                @XmlElement(required = true)
                protected String name;
                @XmlElement(required = true)
                protected String credentials;
                @XmlElement(required = true)
                protected String credentialsType;

                /**
                 * Gets the value of the name property.
                 *
                 * @return possible object is
                 * {@link String }
                 */
                public String getName() {
                    return name;
                }

                /**
                 * Sets the value of the name property.
                 *
                 * @param value allowed object is
                 *              {@link String }
                 */
                public void setName(String value) {
                    this.name = value;
                }

                /**
                 * Gets the value of the credentials property.
                 *
                 * @return possible object is
                 * {@link String }
                 */
                public String getCredentials() {
                    return credentials;
                }

                /**
                 * Sets the value of the credentials property.
                 *
                 * @param value allowed object is
                 *              {@link String }
                 */
                public void setCredentials(String value) {
                    this.credentials = value;
                }

                /**
                 * Gets the value of the credentialsType property.
                 *
                 * @return possible object is
                 * {@link String }
                 */
                public String getCredentialsType() {
                    return credentialsType;
                }

                /**
                 * Sets the value of the credentialsType property.
                 *
                 * @param value allowed object is
                 *              {@link String }
                 */
                public void setCredentialsType(String value) {
                    this.credentialsType = value;
                }

            }

        }

    }

}
