All Downloads are FREE. Search and download functionalities are using the official Maven repository.

microsoft.dynamics.crm.entity.Businessunit Maven / Gradle / Ivy

There is a newer version: 0.2.2
Show newest version
package microsoft.dynamics.crm.entity;

import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.github.davidmoten.odata.client.ClientException;
import com.github.davidmoten.odata.client.CollectionPageNonEntityRequest;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.ODataEntityType;
import com.github.davidmoten.odata.client.RequestOptions;
import com.github.davidmoten.odata.client.Util;
import com.github.davidmoten.odata.client.annotation.Function;
import com.github.davidmoten.odata.client.annotation.NavigationProperty;
import com.github.davidmoten.odata.client.annotation.Property;
import com.github.davidmoten.odata.client.internal.ChangedFields;
import com.github.davidmoten.odata.client.internal.Checks;
import com.github.davidmoten.odata.client.internal.ParameterMap;
import com.github.davidmoten.odata.client.internal.RequestHelper;
import com.github.davidmoten.odata.client.internal.TypedObject;
import com.github.davidmoten.odata.client.internal.UnmappedFields;

import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.Map;
import java.util.Optional;

import microsoft.dynamics.crm.entity.collection.request.AccountCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ActioncardCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ActivitypointerCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.AnnotationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ApplicationuserCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.AppointmentCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.AsyncoperationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.BulkdeletefailureCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.BulkdeleteoperationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.BusinessunitCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.CalendarCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.CallbackregistrationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.CanvasappCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.CategoryCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ConnectionCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ConnectionreferenceCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ConnectorCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ContactCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.DuplicateruleCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.EmailCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.EmailserverprofileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.EnvironmentvariabledefinitionCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.EnvironmentvariablevalueCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ExchangesyncidmappingCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ExportsolutionuploadCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.FaxCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.FeedbackCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.FlowsessionCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Ggw_crewCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Ggw_eventCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Ggw_teamCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Ggw_team_applicationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.GoalCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.GoalrollupqueryCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ImportCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ImportdataCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ImportfileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ImportlogCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ImportmapCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.InteractionforemailCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.KnowledgearticleCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.LetterCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.MailboxCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.MailboxtrackingfolderCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.MailmergetemplateCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibdatasetCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibdatasetfileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibdatasetrecordCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibdatasetscontainerCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibfileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aibfileattacheddataCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aiconfigurationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aifptrainingdocumentCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aimodelCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aiodimageCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aiodlabelCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aiodtrainingboundingboxCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aiodtrainingimageCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_aitemplateCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_analysiscomponentCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_analysisjobCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_analysisresultCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_analysisresultdetailCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_dataflowCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_knowledgearticleimageCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_knowledgearticletemplateCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_richtextfileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_serviceconfigurationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_slakpiCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_solutionhealthruleCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.Msdyn_solutionhealthruleargumentCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.PersonaldocumenttemplateCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.PhonecallCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.PostfollowCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.PostregardingCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.PrincipalobjectattributeaccessCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ProcesssessionCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ProcessstageparameterCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.QueueCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.RecurrenceruleCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.RecurringappointmentmasterCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.ReportCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.RoleCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SharepointdocumentlocationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SharepointsiteCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SlaCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SlakpiinstanceCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SocialactivityCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SocialprofileCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.StagesolutionuploadCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SyncerrorCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.SystemuserCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.TaskCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.TeamCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.TemplateCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.UserformCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.UserqueryCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.UserqueryvisualizationCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.UsersettingsCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.WorkflowCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.WorkflowbinaryCollectionRequest;
import microsoft.dynamics.crm.entity.collection.request.WorkflowlogCollectionRequest;
import microsoft.dynamics.crm.entity.request.BusinessunitRequest;
import microsoft.dynamics.crm.entity.request.CalendarRequest;
import microsoft.dynamics.crm.entity.request.OrganizationRequest;
import microsoft.dynamics.crm.entity.request.SystemuserRequest;
import microsoft.dynamics.crm.entity.request.TransactioncurrencyRequest;

@JsonPropertyOrder({
    "@odata.type", 
    "address1_addressid", 
    "address2_line2", 
    "workflowsuspended", 
    "address2_upszone", 
    "address2_stateorprovince", 
    "createdon", 
    "address1_telephone2", 
    "picture", 
    "divisionname", 
    "tickersymbol", 
    "address1_line3", 
    "address2_shippingmethodcode", 
    "address1_shippingmethodcode", 
    "disabledreason", 
    "address2_name", 
    "address2_utcoffset", 
    "stockexchange", 
    "address2_fax", 
    "address2_line3", 
    "_createdonbehalfby_value", 
    "businessunitid", 
    "description", 
    "address1_city", 
    "address1_name", 
    "address2_postofficebox", 
    "address2_addressid", 
    "_calendarid_value", 
    "address2_telephone2", 
    "address2_postalcode", 
    "_createdby_value", 
    "fileasname", 
    "_modifiedby_value", 
    "modifiedon", 
    "_transactioncurrencyid_value", 
    "_organizationid_value", 
    "address2_latitude", 
    "creditlimit", 
    "address1_county", 
    "_modifiedonbehalfby_value", 
    "address1_longitude", 
    "emailaddress", 
    "name", 
    "address1_postalcode", 
    "importsequencenumber", 
    "overriddencreatedon", 
    "address1_fax", 
    "address2_line1", 
    "address2_addresstypecode", 
    "versionnumber", 
    "utcoffset", 
    "costcenter", 
    "address1_postofficebox", 
    "address1_line2", 
    "address2_longitude", 
    "address1_upszone", 
    "address2_county", 
    "address2_city", 
    "address1_country", 
    "ftpsiteurl", 
    "address1_utcoffset", 
    "address1_stateorprovince", 
    "address1_telephone3", 
    "address1_addresstypecode", 
    "address1_line1", 
    "_parentbusinessunitid_value", 
    "address1_telephone1", 
    "address2_country", 
    "address2_telephone3", 
    "isdisabled", 
    "address1_latitude", 
    "inheritancemask", 
    "address2_telephone1", 
    "websiteurl", 
    "exchangerate"})
@JsonInclude(Include.NON_NULL)
public class Businessunit extends Crmbaseentity implements ODataEntityType {

    @Override
    public String odataTypeName() {
        return "Microsoft.Dynamics.CRM.businessunit";
    }

    @JsonProperty("address1_addressid")
    protected String address1_addressid;

    @JsonProperty("address2_line2")
    protected String address2_line2;

    @JsonProperty("workflowsuspended")
    protected Boolean workflowsuspended;

    @JsonProperty("address2_upszone")
    protected String address2_upszone;

    @JsonProperty("address2_stateorprovince")
    protected String address2_stateorprovince;

    @JsonProperty("createdon")
    protected OffsetDateTime createdon;

    @JsonProperty("address1_telephone2")
    protected String address1_telephone2;

    @JsonProperty("picture")
    protected String picture;

    @JsonProperty("divisionname")
    protected String divisionname;

    @JsonProperty("tickersymbol")
    protected String tickersymbol;

    @JsonProperty("address1_line3")
    protected String address1_line3;

    @JsonProperty("address2_shippingmethodcode")
    protected Integer address2_shippingmethodcode;

    @JsonProperty("address1_shippingmethodcode")
    protected Integer address1_shippingmethodcode;

    @JsonProperty("disabledreason")
    protected String disabledreason;

    @JsonProperty("address2_name")
    protected String address2_name;

    @JsonProperty("address2_utcoffset")
    protected Integer address2_utcoffset;

    @JsonProperty("stockexchange")
    protected String stockexchange;

    @JsonProperty("address2_fax")
    protected String address2_fax;

    @JsonProperty("address2_line3")
    protected String address2_line3;

    @JsonProperty("_createdonbehalfby_value")
    protected String _createdonbehalfby_value;

    @JsonProperty("businessunitid")
    protected String businessunitid;

    @JsonProperty("description")
    protected String description;

    @JsonProperty("address1_city")
    protected String address1_city;

    @JsonProperty("address1_name")
    protected String address1_name;

    @JsonProperty("address2_postofficebox")
    protected String address2_postofficebox;

    @JsonProperty("address2_addressid")
    protected String address2_addressid;

    @JsonProperty("_calendarid_value")
    protected String _calendarid_value;

    @JsonProperty("address2_telephone2")
    protected String address2_telephone2;

    @JsonProperty("address2_postalcode")
    protected String address2_postalcode;

    @JsonProperty("_createdby_value")
    protected String _createdby_value;

    @JsonProperty("fileasname")
    protected String fileasname;

    @JsonProperty("_modifiedby_value")
    protected String _modifiedby_value;

    @JsonProperty("modifiedon")
    protected OffsetDateTime modifiedon;

    @JsonProperty("_transactioncurrencyid_value")
    protected String _transactioncurrencyid_value;

    @JsonProperty("_organizationid_value")
    protected String _organizationid_value;

    @JsonProperty("address2_latitude")
    protected Double address2_latitude;

    @JsonProperty("creditlimit")
    protected Double creditlimit;

    @JsonProperty("address1_county")
    protected String address1_county;

    @JsonProperty("_modifiedonbehalfby_value")
    protected String _modifiedonbehalfby_value;

    @JsonProperty("address1_longitude")
    protected Double address1_longitude;

    @JsonProperty("emailaddress")
    protected String emailaddress;

    @JsonProperty("name")
    protected String name;

    @JsonProperty("address1_postalcode")
    protected String address1_postalcode;

    @JsonProperty("importsequencenumber")
    protected Integer importsequencenumber;

    @JsonProperty("overriddencreatedon")
    protected OffsetDateTime overriddencreatedon;

    @JsonProperty("address1_fax")
    protected String address1_fax;

    @JsonProperty("address2_line1")
    protected String address2_line1;

    @JsonProperty("address2_addresstypecode")
    protected Integer address2_addresstypecode;

    @JsonProperty("versionnumber")
    protected Long versionnumber;

    @JsonProperty("utcoffset")
    protected Integer utcoffset;

    @JsonProperty("costcenter")
    protected String costcenter;

    @JsonProperty("address1_postofficebox")
    protected String address1_postofficebox;

    @JsonProperty("address1_line2")
    protected String address1_line2;

    @JsonProperty("address2_longitude")
    protected Double address2_longitude;

    @JsonProperty("address1_upszone")
    protected String address1_upszone;

    @JsonProperty("address2_county")
    protected String address2_county;

    @JsonProperty("address2_city")
    protected String address2_city;

    @JsonProperty("address1_country")
    protected String address1_country;

    @JsonProperty("ftpsiteurl")
    protected String ftpsiteurl;

    @JsonProperty("address1_utcoffset")
    protected Integer address1_utcoffset;

    @JsonProperty("address1_stateorprovince")
    protected String address1_stateorprovince;

    @JsonProperty("address1_telephone3")
    protected String address1_telephone3;

    @JsonProperty("address1_addresstypecode")
    protected Integer address1_addresstypecode;

    @JsonProperty("address1_line1")
    protected String address1_line1;

    @JsonProperty("_parentbusinessunitid_value")
    protected String _parentbusinessunitid_value;

    @JsonProperty("address1_telephone1")
    protected String address1_telephone1;

    @JsonProperty("address2_country")
    protected String address2_country;

    @JsonProperty("address2_telephone3")
    protected String address2_telephone3;

    @JsonProperty("isdisabled")
    protected Boolean isdisabled;

    @JsonProperty("address1_latitude")
    protected Double address1_latitude;

    @JsonProperty("inheritancemask")
    protected Integer inheritancemask;

    @JsonProperty("address2_telephone1")
    protected String address2_telephone1;

    @JsonProperty("websiteurl")
    protected String websiteurl;

    @JsonProperty("exchangerate")
    protected BigDecimal exchangerate;

    protected Businessunit() {
        super();
    }

    /**
     * Returns a builder which is used to create a new
     * instance of this class (given that this class is immutable).
     *
     * @return a new Builder for this class
     */
    // Suffix used on builder factory method to differentiate the method
    // from static builder methods on superclasses
    public static Builder builderBusinessunit() {
        return new Builder();
    }

    public static final class Builder {
        private String address1_addressid;
        private String address2_line2;
        private Boolean workflowsuspended;
        private String address2_upszone;
        private String address2_stateorprovince;
        private OffsetDateTime createdon;
        private String address1_telephone2;
        private String picture;
        private String divisionname;
        private String tickersymbol;
        private String address1_line3;
        private Integer address2_shippingmethodcode;
        private Integer address1_shippingmethodcode;
        private String disabledreason;
        private String address2_name;
        private Integer address2_utcoffset;
        private String stockexchange;
        private String address2_fax;
        private String address2_line3;
        private String _createdonbehalfby_value;
        private String businessunitid;
        private String description;
        private String address1_city;
        private String address1_name;
        private String address2_postofficebox;
        private String address2_addressid;
        private String _calendarid_value;
        private String address2_telephone2;
        private String address2_postalcode;
        private String _createdby_value;
        private String fileasname;
        private String _modifiedby_value;
        private OffsetDateTime modifiedon;
        private String _transactioncurrencyid_value;
        private String _organizationid_value;
        private Double address2_latitude;
        private Double creditlimit;
        private String address1_county;
        private String _modifiedonbehalfby_value;
        private Double address1_longitude;
        private String emailaddress;
        private String name;
        private String address1_postalcode;
        private Integer importsequencenumber;
        private OffsetDateTime overriddencreatedon;
        private String address1_fax;
        private String address2_line1;
        private Integer address2_addresstypecode;
        private Long versionnumber;
        private Integer utcoffset;
        private String costcenter;
        private String address1_postofficebox;
        private String address1_line2;
        private Double address2_longitude;
        private String address1_upszone;
        private String address2_county;
        private String address2_city;
        private String address1_country;
        private String ftpsiteurl;
        private Integer address1_utcoffset;
        private String address1_stateorprovince;
        private String address1_telephone3;
        private Integer address1_addresstypecode;
        private String address1_line1;
        private String _parentbusinessunitid_value;
        private String address1_telephone1;
        private String address2_country;
        private String address2_telephone3;
        private Boolean isdisabled;
        private Double address1_latitude;
        private Integer inheritancemask;
        private String address2_telephone1;
        private String websiteurl;
        private BigDecimal exchangerate;
        private ChangedFields changedFields = new ChangedFields();

        Builder() {
            // prevent instantiation
        }

        public Builder address1_addressid(String address1_addressid) {
            this.address1_addressid = address1_addressid;
            this.changedFields = changedFields.add("address1_addressid");
            return this;
        }

        public Builder address2_line2(String address2_line2) {
            this.address2_line2 = address2_line2;
            this.changedFields = changedFields.add("address2_line2");
            return this;
        }

        public Builder workflowsuspended(Boolean workflowsuspended) {
            this.workflowsuspended = workflowsuspended;
            this.changedFields = changedFields.add("workflowsuspended");
            return this;
        }

        public Builder address2_upszone(String address2_upszone) {
            this.address2_upszone = address2_upszone;
            this.changedFields = changedFields.add("address2_upszone");
            return this;
        }

        public Builder address2_stateorprovince(String address2_stateorprovince) {
            this.address2_stateorprovince = address2_stateorprovince;
            this.changedFields = changedFields.add("address2_stateorprovince");
            return this;
        }

        public Builder createdon(OffsetDateTime createdon) {
            this.createdon = createdon;
            this.changedFields = changedFields.add("createdon");
            return this;
        }

        public Builder address1_telephone2(String address1_telephone2) {
            this.address1_telephone2 = address1_telephone2;
            this.changedFields = changedFields.add("address1_telephone2");
            return this;
        }

        public Builder picture(String picture) {
            this.picture = picture;
            this.changedFields = changedFields.add("picture");
            return this;
        }

        public Builder divisionname(String divisionname) {
            this.divisionname = divisionname;
            this.changedFields = changedFields.add("divisionname");
            return this;
        }

        public Builder tickersymbol(String tickersymbol) {
            this.tickersymbol = tickersymbol;
            this.changedFields = changedFields.add("tickersymbol");
            return this;
        }

        public Builder address1_line3(String address1_line3) {
            this.address1_line3 = address1_line3;
            this.changedFields = changedFields.add("address1_line3");
            return this;
        }

        public Builder address2_shippingmethodcode(Integer address2_shippingmethodcode) {
            this.address2_shippingmethodcode = address2_shippingmethodcode;
            this.changedFields = changedFields.add("address2_shippingmethodcode");
            return this;
        }

        public Builder address1_shippingmethodcode(Integer address1_shippingmethodcode) {
            this.address1_shippingmethodcode = address1_shippingmethodcode;
            this.changedFields = changedFields.add("address1_shippingmethodcode");
            return this;
        }

        public Builder disabledreason(String disabledreason) {
            this.disabledreason = disabledreason;
            this.changedFields = changedFields.add("disabledreason");
            return this;
        }

        public Builder address2_name(String address2_name) {
            this.address2_name = address2_name;
            this.changedFields = changedFields.add("address2_name");
            return this;
        }

        public Builder address2_utcoffset(Integer address2_utcoffset) {
            this.address2_utcoffset = address2_utcoffset;
            this.changedFields = changedFields.add("address2_utcoffset");
            return this;
        }

        public Builder stockexchange(String stockexchange) {
            this.stockexchange = stockexchange;
            this.changedFields = changedFields.add("stockexchange");
            return this;
        }

        public Builder address2_fax(String address2_fax) {
            this.address2_fax = address2_fax;
            this.changedFields = changedFields.add("address2_fax");
            return this;
        }

        public Builder address2_line3(String address2_line3) {
            this.address2_line3 = address2_line3;
            this.changedFields = changedFields.add("address2_line3");
            return this;
        }

        public Builder _createdonbehalfby_value(String _createdonbehalfby_value) {
            this._createdonbehalfby_value = _createdonbehalfby_value;
            this.changedFields = changedFields.add("_createdonbehalfby_value");
            return this;
        }

        public Builder businessunitid(String businessunitid) {
            this.businessunitid = businessunitid;
            this.changedFields = changedFields.add("businessunitid");
            return this;
        }

        public Builder description(String description) {
            this.description = description;
            this.changedFields = changedFields.add("description");
            return this;
        }

        public Builder address1_city(String address1_city) {
            this.address1_city = address1_city;
            this.changedFields = changedFields.add("address1_city");
            return this;
        }

        public Builder address1_name(String address1_name) {
            this.address1_name = address1_name;
            this.changedFields = changedFields.add("address1_name");
            return this;
        }

        public Builder address2_postofficebox(String address2_postofficebox) {
            this.address2_postofficebox = address2_postofficebox;
            this.changedFields = changedFields.add("address2_postofficebox");
            return this;
        }

        public Builder address2_addressid(String address2_addressid) {
            this.address2_addressid = address2_addressid;
            this.changedFields = changedFields.add("address2_addressid");
            return this;
        }

        public Builder _calendarid_value(String _calendarid_value) {
            this._calendarid_value = _calendarid_value;
            this.changedFields = changedFields.add("_calendarid_value");
            return this;
        }

        public Builder address2_telephone2(String address2_telephone2) {
            this.address2_telephone2 = address2_telephone2;
            this.changedFields = changedFields.add("address2_telephone2");
            return this;
        }

        public Builder address2_postalcode(String address2_postalcode) {
            this.address2_postalcode = address2_postalcode;
            this.changedFields = changedFields.add("address2_postalcode");
            return this;
        }

        public Builder _createdby_value(String _createdby_value) {
            this._createdby_value = _createdby_value;
            this.changedFields = changedFields.add("_createdby_value");
            return this;
        }

        public Builder fileasname(String fileasname) {
            this.fileasname = fileasname;
            this.changedFields = changedFields.add("fileasname");
            return this;
        }

        public Builder _modifiedby_value(String _modifiedby_value) {
            this._modifiedby_value = _modifiedby_value;
            this.changedFields = changedFields.add("_modifiedby_value");
            return this;
        }

        public Builder modifiedon(OffsetDateTime modifiedon) {
            this.modifiedon = modifiedon;
            this.changedFields = changedFields.add("modifiedon");
            return this;
        }

        public Builder _transactioncurrencyid_value(String _transactioncurrencyid_value) {
            this._transactioncurrencyid_value = _transactioncurrencyid_value;
            this.changedFields = changedFields.add("_transactioncurrencyid_value");
            return this;
        }

        public Builder _organizationid_value(String _organizationid_value) {
            this._organizationid_value = _organizationid_value;
            this.changedFields = changedFields.add("_organizationid_value");
            return this;
        }

        public Builder address2_latitude(Double address2_latitude) {
            this.address2_latitude = address2_latitude;
            this.changedFields = changedFields.add("address2_latitude");
            return this;
        }

        public Builder creditlimit(Double creditlimit) {
            this.creditlimit = creditlimit;
            this.changedFields = changedFields.add("creditlimit");
            return this;
        }

        public Builder address1_county(String address1_county) {
            this.address1_county = address1_county;
            this.changedFields = changedFields.add("address1_county");
            return this;
        }

        public Builder _modifiedonbehalfby_value(String _modifiedonbehalfby_value) {
            this._modifiedonbehalfby_value = _modifiedonbehalfby_value;
            this.changedFields = changedFields.add("_modifiedonbehalfby_value");
            return this;
        }

        public Builder address1_longitude(Double address1_longitude) {
            this.address1_longitude = address1_longitude;
            this.changedFields = changedFields.add("address1_longitude");
            return this;
        }

        public Builder emailaddress(String emailaddress) {
            this.emailaddress = emailaddress;
            this.changedFields = changedFields.add("emailaddress");
            return this;
        }

        public Builder name(String name) {
            this.name = name;
            this.changedFields = changedFields.add("name");
            return this;
        }

        public Builder address1_postalcode(String address1_postalcode) {
            this.address1_postalcode = address1_postalcode;
            this.changedFields = changedFields.add("address1_postalcode");
            return this;
        }

        public Builder importsequencenumber(Integer importsequencenumber) {
            this.importsequencenumber = importsequencenumber;
            this.changedFields = changedFields.add("importsequencenumber");
            return this;
        }

        public Builder overriddencreatedon(OffsetDateTime overriddencreatedon) {
            this.overriddencreatedon = overriddencreatedon;
            this.changedFields = changedFields.add("overriddencreatedon");
            return this;
        }

        public Builder address1_fax(String address1_fax) {
            this.address1_fax = address1_fax;
            this.changedFields = changedFields.add("address1_fax");
            return this;
        }

        public Builder address2_line1(String address2_line1) {
            this.address2_line1 = address2_line1;
            this.changedFields = changedFields.add("address2_line1");
            return this;
        }

        public Builder address2_addresstypecode(Integer address2_addresstypecode) {
            this.address2_addresstypecode = address2_addresstypecode;
            this.changedFields = changedFields.add("address2_addresstypecode");
            return this;
        }

        public Builder versionnumber(Long versionnumber) {
            this.versionnumber = versionnumber;
            this.changedFields = changedFields.add("versionnumber");
            return this;
        }

        public Builder utcoffset(Integer utcoffset) {
            this.utcoffset = utcoffset;
            this.changedFields = changedFields.add("utcoffset");
            return this;
        }

        public Builder costcenter(String costcenter) {
            this.costcenter = costcenter;
            this.changedFields = changedFields.add("costcenter");
            return this;
        }

        public Builder address1_postofficebox(String address1_postofficebox) {
            this.address1_postofficebox = address1_postofficebox;
            this.changedFields = changedFields.add("address1_postofficebox");
            return this;
        }

        public Builder address1_line2(String address1_line2) {
            this.address1_line2 = address1_line2;
            this.changedFields = changedFields.add("address1_line2");
            return this;
        }

        public Builder address2_longitude(Double address2_longitude) {
            this.address2_longitude = address2_longitude;
            this.changedFields = changedFields.add("address2_longitude");
            return this;
        }

        public Builder address1_upszone(String address1_upszone) {
            this.address1_upszone = address1_upszone;
            this.changedFields = changedFields.add("address1_upszone");
            return this;
        }

        public Builder address2_county(String address2_county) {
            this.address2_county = address2_county;
            this.changedFields = changedFields.add("address2_county");
            return this;
        }

        public Builder address2_city(String address2_city) {
            this.address2_city = address2_city;
            this.changedFields = changedFields.add("address2_city");
            return this;
        }

        public Builder address1_country(String address1_country) {
            this.address1_country = address1_country;
            this.changedFields = changedFields.add("address1_country");
            return this;
        }

        public Builder ftpsiteurl(String ftpsiteurl) {
            this.ftpsiteurl = ftpsiteurl;
            this.changedFields = changedFields.add("ftpsiteurl");
            return this;
        }

        public Builder address1_utcoffset(Integer address1_utcoffset) {
            this.address1_utcoffset = address1_utcoffset;
            this.changedFields = changedFields.add("address1_utcoffset");
            return this;
        }

        public Builder address1_stateorprovince(String address1_stateorprovince) {
            this.address1_stateorprovince = address1_stateorprovince;
            this.changedFields = changedFields.add("address1_stateorprovince");
            return this;
        }

        public Builder address1_telephone3(String address1_telephone3) {
            this.address1_telephone3 = address1_telephone3;
            this.changedFields = changedFields.add("address1_telephone3");
            return this;
        }

        public Builder address1_addresstypecode(Integer address1_addresstypecode) {
            this.address1_addresstypecode = address1_addresstypecode;
            this.changedFields = changedFields.add("address1_addresstypecode");
            return this;
        }

        public Builder address1_line1(String address1_line1) {
            this.address1_line1 = address1_line1;
            this.changedFields = changedFields.add("address1_line1");
            return this;
        }

        public Builder _parentbusinessunitid_value(String _parentbusinessunitid_value) {
            this._parentbusinessunitid_value = _parentbusinessunitid_value;
            this.changedFields = changedFields.add("_parentbusinessunitid_value");
            return this;
        }

        public Builder address1_telephone1(String address1_telephone1) {
            this.address1_telephone1 = address1_telephone1;
            this.changedFields = changedFields.add("address1_telephone1");
            return this;
        }

        public Builder address2_country(String address2_country) {
            this.address2_country = address2_country;
            this.changedFields = changedFields.add("address2_country");
            return this;
        }

        public Builder address2_telephone3(String address2_telephone3) {
            this.address2_telephone3 = address2_telephone3;
            this.changedFields = changedFields.add("address2_telephone3");
            return this;
        }

        public Builder isdisabled(Boolean isdisabled) {
            this.isdisabled = isdisabled;
            this.changedFields = changedFields.add("isdisabled");
            return this;
        }

        public Builder address1_latitude(Double address1_latitude) {
            this.address1_latitude = address1_latitude;
            this.changedFields = changedFields.add("address1_latitude");
            return this;
        }

        public Builder inheritancemask(Integer inheritancemask) {
            this.inheritancemask = inheritancemask;
            this.changedFields = changedFields.add("inheritancemask");
            return this;
        }

        public Builder address2_telephone1(String address2_telephone1) {
            this.address2_telephone1 = address2_telephone1;
            this.changedFields = changedFields.add("address2_telephone1");
            return this;
        }

        public Builder websiteurl(String websiteurl) {
            this.websiteurl = websiteurl;
            this.changedFields = changedFields.add("websiteurl");
            return this;
        }

        public Builder exchangerate(BigDecimal exchangerate) {
            this.exchangerate = exchangerate;
            this.changedFields = changedFields.add("exchangerate");
            return this;
        }

        public Businessunit build() {
            Businessunit _x = new Businessunit();
            _x.contextPath = null;
            _x.changedFields = changedFields;
            _x.unmappedFields = new UnmappedFields();
            _x.odataType = "Microsoft.Dynamics.CRM.businessunit";
            _x.address1_addressid = address1_addressid;
            _x.address2_line2 = address2_line2;
            _x.workflowsuspended = workflowsuspended;
            _x.address2_upszone = address2_upszone;
            _x.address2_stateorprovince = address2_stateorprovince;
            _x.createdon = createdon;
            _x.address1_telephone2 = address1_telephone2;
            _x.picture = picture;
            _x.divisionname = divisionname;
            _x.tickersymbol = tickersymbol;
            _x.address1_line3 = address1_line3;
            _x.address2_shippingmethodcode = address2_shippingmethodcode;
            _x.address1_shippingmethodcode = address1_shippingmethodcode;
            _x.disabledreason = disabledreason;
            _x.address2_name = address2_name;
            _x.address2_utcoffset = address2_utcoffset;
            _x.stockexchange = stockexchange;
            _x.address2_fax = address2_fax;
            _x.address2_line3 = address2_line3;
            _x._createdonbehalfby_value = _createdonbehalfby_value;
            _x.businessunitid = businessunitid;
            _x.description = description;
            _x.address1_city = address1_city;
            _x.address1_name = address1_name;
            _x.address2_postofficebox = address2_postofficebox;
            _x.address2_addressid = address2_addressid;
            _x._calendarid_value = _calendarid_value;
            _x.address2_telephone2 = address2_telephone2;
            _x.address2_postalcode = address2_postalcode;
            _x._createdby_value = _createdby_value;
            _x.fileasname = fileasname;
            _x._modifiedby_value = _modifiedby_value;
            _x.modifiedon = modifiedon;
            _x._transactioncurrencyid_value = _transactioncurrencyid_value;
            _x._organizationid_value = _organizationid_value;
            _x.address2_latitude = address2_latitude;
            _x.creditlimit = creditlimit;
            _x.address1_county = address1_county;
            _x._modifiedonbehalfby_value = _modifiedonbehalfby_value;
            _x.address1_longitude = address1_longitude;
            _x.emailaddress = emailaddress;
            _x.name = name;
            _x.address1_postalcode = address1_postalcode;
            _x.importsequencenumber = importsequencenumber;
            _x.overriddencreatedon = overriddencreatedon;
            _x.address1_fax = address1_fax;
            _x.address2_line1 = address2_line1;
            _x.address2_addresstypecode = address2_addresstypecode;
            _x.versionnumber = versionnumber;
            _x.utcoffset = utcoffset;
            _x.costcenter = costcenter;
            _x.address1_postofficebox = address1_postofficebox;
            _x.address1_line2 = address1_line2;
            _x.address2_longitude = address2_longitude;
            _x.address1_upszone = address1_upszone;
            _x.address2_county = address2_county;
            _x.address2_city = address2_city;
            _x.address1_country = address1_country;
            _x.ftpsiteurl = ftpsiteurl;
            _x.address1_utcoffset = address1_utcoffset;
            _x.address1_stateorprovince = address1_stateorprovince;
            _x.address1_telephone3 = address1_telephone3;
            _x.address1_addresstypecode = address1_addresstypecode;
            _x.address1_line1 = address1_line1;
            _x._parentbusinessunitid_value = _parentbusinessunitid_value;
            _x.address1_telephone1 = address1_telephone1;
            _x.address2_country = address2_country;
            _x.address2_telephone3 = address2_telephone3;
            _x.isdisabled = isdisabled;
            _x.address1_latitude = address1_latitude;
            _x.inheritancemask = inheritancemask;
            _x.address2_telephone1 = address2_telephone1;
            _x.websiteurl = websiteurl;
            _x.exchangerate = exchangerate;
            return _x;
        }
    }

    @Override
    @JsonIgnore
    public ChangedFields getChangedFields() {
        return changedFields;
    }

    @Override
    public void postInject(boolean addKeysToContextPath) {
        if (addKeysToContextPath && businessunitid != null) {
            contextPath = contextPath.clearQueries().addKeys(new NameValue(businessunitid.toString()));
        }
    }

    @Property(name="address1_addressid")
    @JsonIgnore
    public Optional getAddress1_addressid() {
        return Optional.ofNullable(address1_addressid);
    }

    public Businessunit withAddress1_addressid(String address1_addressid) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_addressid");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_addressid = address1_addressid;
        return _x;
    }

    @Property(name="address2_line2")
    @JsonIgnore
    public Optional getAddress2_line2() {
        return Optional.ofNullable(address2_line2);
    }

    public Businessunit withAddress2_line2(String address2_line2) {
        Checks.checkIsAscii(address2_line2);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_line2");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_line2 = address2_line2;
        return _x;
    }

    @Property(name="workflowsuspended")
    @JsonIgnore
    public Optional getWorkflowsuspended() {
        return Optional.ofNullable(workflowsuspended);
    }

    public Businessunit withWorkflowsuspended(Boolean workflowsuspended) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("workflowsuspended");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.workflowsuspended = workflowsuspended;
        return _x;
    }

    @Property(name="address2_upszone")
    @JsonIgnore
    public Optional getAddress2_upszone() {
        return Optional.ofNullable(address2_upszone);
    }

    public Businessunit withAddress2_upszone(String address2_upszone) {
        Checks.checkIsAscii(address2_upszone);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_upszone");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_upszone = address2_upszone;
        return _x;
    }

    @Property(name="address2_stateorprovince")
    @JsonIgnore
    public Optional getAddress2_stateorprovince() {
        return Optional.ofNullable(address2_stateorprovince);
    }

    public Businessunit withAddress2_stateorprovince(String address2_stateorprovince) {
        Checks.checkIsAscii(address2_stateorprovince);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_stateorprovince");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_stateorprovince = address2_stateorprovince;
        return _x;
    }

    @Property(name="createdon")
    @JsonIgnore
    public Optional getCreatedon() {
        return Optional.ofNullable(createdon);
    }

    public Businessunit withCreatedon(OffsetDateTime createdon) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("createdon");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.createdon = createdon;
        return _x;
    }

    @Property(name="address1_telephone2")
    @JsonIgnore
    public Optional getAddress1_telephone2() {
        return Optional.ofNullable(address1_telephone2);
    }

    public Businessunit withAddress1_telephone2(String address1_telephone2) {
        Checks.checkIsAscii(address1_telephone2);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_telephone2");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_telephone2 = address1_telephone2;
        return _x;
    }

    @Property(name="picture")
    @JsonIgnore
    public Optional getPicture() {
        return Optional.ofNullable(picture);
    }

    public Businessunit withPicture(String picture) {
        Checks.checkIsAscii(picture);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("picture");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.picture = picture;
        return _x;
    }

    @Property(name="divisionname")
    @JsonIgnore
    public Optional getDivisionname() {
        return Optional.ofNullable(divisionname);
    }

    public Businessunit withDivisionname(String divisionname) {
        Checks.checkIsAscii(divisionname);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("divisionname");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.divisionname = divisionname;
        return _x;
    }

    @Property(name="tickersymbol")
    @JsonIgnore
    public Optional getTickersymbol() {
        return Optional.ofNullable(tickersymbol);
    }

    public Businessunit withTickersymbol(String tickersymbol) {
        Checks.checkIsAscii(tickersymbol);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("tickersymbol");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.tickersymbol = tickersymbol;
        return _x;
    }

    @Property(name="address1_line3")
    @JsonIgnore
    public Optional getAddress1_line3() {
        return Optional.ofNullable(address1_line3);
    }

    public Businessunit withAddress1_line3(String address1_line3) {
        Checks.checkIsAscii(address1_line3);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_line3");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_line3 = address1_line3;
        return _x;
    }

    @Property(name="address2_shippingmethodcode")
    @JsonIgnore
    public Optional getAddress2_shippingmethodcode() {
        return Optional.ofNullable(address2_shippingmethodcode);
    }

    public Businessunit withAddress2_shippingmethodcode(Integer address2_shippingmethodcode) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_shippingmethodcode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_shippingmethodcode = address2_shippingmethodcode;
        return _x;
    }

    @Property(name="address1_shippingmethodcode")
    @JsonIgnore
    public Optional getAddress1_shippingmethodcode() {
        return Optional.ofNullable(address1_shippingmethodcode);
    }

    public Businessunit withAddress1_shippingmethodcode(Integer address1_shippingmethodcode) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_shippingmethodcode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_shippingmethodcode = address1_shippingmethodcode;
        return _x;
    }

    @Property(name="disabledreason")
    @JsonIgnore
    public Optional getDisabledreason() {
        return Optional.ofNullable(disabledreason);
    }

    public Businessunit withDisabledreason(String disabledreason) {
        Checks.checkIsAscii(disabledreason);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("disabledreason");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.disabledreason = disabledreason;
        return _x;
    }

    @Property(name="address2_name")
    @JsonIgnore
    public Optional getAddress2_name() {
        return Optional.ofNullable(address2_name);
    }

    public Businessunit withAddress2_name(String address2_name) {
        Checks.checkIsAscii(address2_name);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_name");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_name = address2_name;
        return _x;
    }

    @Property(name="address2_utcoffset")
    @JsonIgnore
    public Optional getAddress2_utcoffset() {
        return Optional.ofNullable(address2_utcoffset);
    }

    public Businessunit withAddress2_utcoffset(Integer address2_utcoffset) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_utcoffset");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_utcoffset = address2_utcoffset;
        return _x;
    }

    @Property(name="stockexchange")
    @JsonIgnore
    public Optional getStockexchange() {
        return Optional.ofNullable(stockexchange);
    }

    public Businessunit withStockexchange(String stockexchange) {
        Checks.checkIsAscii(stockexchange);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("stockexchange");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.stockexchange = stockexchange;
        return _x;
    }

    @Property(name="address2_fax")
    @JsonIgnore
    public Optional getAddress2_fax() {
        return Optional.ofNullable(address2_fax);
    }

    public Businessunit withAddress2_fax(String address2_fax) {
        Checks.checkIsAscii(address2_fax);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_fax");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_fax = address2_fax;
        return _x;
    }

    @Property(name="address2_line3")
    @JsonIgnore
    public Optional getAddress2_line3() {
        return Optional.ofNullable(address2_line3);
    }

    public Businessunit withAddress2_line3(String address2_line3) {
        Checks.checkIsAscii(address2_line3);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_line3");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_line3 = address2_line3;
        return _x;
    }

    @Property(name="_createdonbehalfby_value")
    @JsonIgnore
    public Optional get_createdonbehalfby_value() {
        return Optional.ofNullable(_createdonbehalfby_value);
    }

    public Businessunit with_createdonbehalfby_value(String _createdonbehalfby_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_createdonbehalfby_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._createdonbehalfby_value = _createdonbehalfby_value;
        return _x;
    }

    @Property(name="businessunitid")
    @JsonIgnore
    public Optional getBusinessunitid() {
        return Optional.ofNullable(businessunitid);
    }

    public Businessunit withBusinessunitid(String businessunitid) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("businessunitid");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.businessunitid = businessunitid;
        return _x;
    }

    @Property(name="description")
    @JsonIgnore
    public Optional getDescription() {
        return Optional.ofNullable(description);
    }

    public Businessunit withDescription(String description) {
        Checks.checkIsAscii(description);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("description");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.description = description;
        return _x;
    }

    @Property(name="address1_city")
    @JsonIgnore
    public Optional getAddress1_city() {
        return Optional.ofNullable(address1_city);
    }

    public Businessunit withAddress1_city(String address1_city) {
        Checks.checkIsAscii(address1_city);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_city");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_city = address1_city;
        return _x;
    }

    @Property(name="address1_name")
    @JsonIgnore
    public Optional getAddress1_name() {
        return Optional.ofNullable(address1_name);
    }

    public Businessunit withAddress1_name(String address1_name) {
        Checks.checkIsAscii(address1_name);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_name");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_name = address1_name;
        return _x;
    }

    @Property(name="address2_postofficebox")
    @JsonIgnore
    public Optional getAddress2_postofficebox() {
        return Optional.ofNullable(address2_postofficebox);
    }

    public Businessunit withAddress2_postofficebox(String address2_postofficebox) {
        Checks.checkIsAscii(address2_postofficebox);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_postofficebox");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_postofficebox = address2_postofficebox;
        return _x;
    }

    @Property(name="address2_addressid")
    @JsonIgnore
    public Optional getAddress2_addressid() {
        return Optional.ofNullable(address2_addressid);
    }

    public Businessunit withAddress2_addressid(String address2_addressid) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_addressid");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_addressid = address2_addressid;
        return _x;
    }

    @Property(name="_calendarid_value")
    @JsonIgnore
    public Optional get_calendarid_value() {
        return Optional.ofNullable(_calendarid_value);
    }

    public Businessunit with_calendarid_value(String _calendarid_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_calendarid_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._calendarid_value = _calendarid_value;
        return _x;
    }

    @Property(name="address2_telephone2")
    @JsonIgnore
    public Optional getAddress2_telephone2() {
        return Optional.ofNullable(address2_telephone2);
    }

    public Businessunit withAddress2_telephone2(String address2_telephone2) {
        Checks.checkIsAscii(address2_telephone2);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_telephone2");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_telephone2 = address2_telephone2;
        return _x;
    }

    @Property(name="address2_postalcode")
    @JsonIgnore
    public Optional getAddress2_postalcode() {
        return Optional.ofNullable(address2_postalcode);
    }

    public Businessunit withAddress2_postalcode(String address2_postalcode) {
        Checks.checkIsAscii(address2_postalcode);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_postalcode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_postalcode = address2_postalcode;
        return _x;
    }

    @Property(name="_createdby_value")
    @JsonIgnore
    public Optional get_createdby_value() {
        return Optional.ofNullable(_createdby_value);
    }

    public Businessunit with_createdby_value(String _createdby_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_createdby_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._createdby_value = _createdby_value;
        return _x;
    }

    @Property(name="fileasname")
    @JsonIgnore
    public Optional getFileasname() {
        return Optional.ofNullable(fileasname);
    }

    public Businessunit withFileasname(String fileasname) {
        Checks.checkIsAscii(fileasname);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("fileasname");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.fileasname = fileasname;
        return _x;
    }

    @Property(name="_modifiedby_value")
    @JsonIgnore
    public Optional get_modifiedby_value() {
        return Optional.ofNullable(_modifiedby_value);
    }

    public Businessunit with_modifiedby_value(String _modifiedby_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_modifiedby_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._modifiedby_value = _modifiedby_value;
        return _x;
    }

    @Property(name="modifiedon")
    @JsonIgnore
    public Optional getModifiedon() {
        return Optional.ofNullable(modifiedon);
    }

    public Businessunit withModifiedon(OffsetDateTime modifiedon) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("modifiedon");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.modifiedon = modifiedon;
        return _x;
    }

    @Property(name="_transactioncurrencyid_value")
    @JsonIgnore
    public Optional get_transactioncurrencyid_value() {
        return Optional.ofNullable(_transactioncurrencyid_value);
    }

    public Businessunit with_transactioncurrencyid_value(String _transactioncurrencyid_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_transactioncurrencyid_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._transactioncurrencyid_value = _transactioncurrencyid_value;
        return _x;
    }

    @Property(name="_organizationid_value")
    @JsonIgnore
    public Optional get_organizationid_value() {
        return Optional.ofNullable(_organizationid_value);
    }

    public Businessunit with_organizationid_value(String _organizationid_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_organizationid_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._organizationid_value = _organizationid_value;
        return _x;
    }

    @Property(name="address2_latitude")
    @JsonIgnore
    public Optional getAddress2_latitude() {
        return Optional.ofNullable(address2_latitude);
    }

    public Businessunit withAddress2_latitude(Double address2_latitude) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_latitude");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_latitude = address2_latitude;
        return _x;
    }

    @Property(name="creditlimit")
    @JsonIgnore
    public Optional getCreditlimit() {
        return Optional.ofNullable(creditlimit);
    }

    public Businessunit withCreditlimit(Double creditlimit) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("creditlimit");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.creditlimit = creditlimit;
        return _x;
    }

    @Property(name="address1_county")
    @JsonIgnore
    public Optional getAddress1_county() {
        return Optional.ofNullable(address1_county);
    }

    public Businessunit withAddress1_county(String address1_county) {
        Checks.checkIsAscii(address1_county);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_county");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_county = address1_county;
        return _x;
    }

    @Property(name="_modifiedonbehalfby_value")
    @JsonIgnore
    public Optional get_modifiedonbehalfby_value() {
        return Optional.ofNullable(_modifiedonbehalfby_value);
    }

    public Businessunit with_modifiedonbehalfby_value(String _modifiedonbehalfby_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_modifiedonbehalfby_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._modifiedonbehalfby_value = _modifiedonbehalfby_value;
        return _x;
    }

    @Property(name="address1_longitude")
    @JsonIgnore
    public Optional getAddress1_longitude() {
        return Optional.ofNullable(address1_longitude);
    }

    public Businessunit withAddress1_longitude(Double address1_longitude) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_longitude");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_longitude = address1_longitude;
        return _x;
    }

    @Property(name="emailaddress")
    @JsonIgnore
    public Optional getEmailaddress() {
        return Optional.ofNullable(emailaddress);
    }

    public Businessunit withEmailaddress(String emailaddress) {
        Checks.checkIsAscii(emailaddress);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("emailaddress");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.emailaddress = emailaddress;
        return _x;
    }

    @Property(name="name")
    @JsonIgnore
    public Optional getName() {
        return Optional.ofNullable(name);
    }

    public Businessunit withName(String name) {
        Checks.checkIsAscii(name);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("name");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.name = name;
        return _x;
    }

    @Property(name="address1_postalcode")
    @JsonIgnore
    public Optional getAddress1_postalcode() {
        return Optional.ofNullable(address1_postalcode);
    }

    public Businessunit withAddress1_postalcode(String address1_postalcode) {
        Checks.checkIsAscii(address1_postalcode);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_postalcode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_postalcode = address1_postalcode;
        return _x;
    }

    @Property(name="importsequencenumber")
    @JsonIgnore
    public Optional getImportsequencenumber() {
        return Optional.ofNullable(importsequencenumber);
    }

    public Businessunit withImportsequencenumber(Integer importsequencenumber) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("importsequencenumber");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.importsequencenumber = importsequencenumber;
        return _x;
    }

    @Property(name="overriddencreatedon")
    @JsonIgnore
    public Optional getOverriddencreatedon() {
        return Optional.ofNullable(overriddencreatedon);
    }

    public Businessunit withOverriddencreatedon(OffsetDateTime overriddencreatedon) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("overriddencreatedon");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.overriddencreatedon = overriddencreatedon;
        return _x;
    }

    @Property(name="address1_fax")
    @JsonIgnore
    public Optional getAddress1_fax() {
        return Optional.ofNullable(address1_fax);
    }

    public Businessunit withAddress1_fax(String address1_fax) {
        Checks.checkIsAscii(address1_fax);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_fax");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_fax = address1_fax;
        return _x;
    }

    @Property(name="address2_line1")
    @JsonIgnore
    public Optional getAddress2_line1() {
        return Optional.ofNullable(address2_line1);
    }

    public Businessunit withAddress2_line1(String address2_line1) {
        Checks.checkIsAscii(address2_line1);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_line1");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_line1 = address2_line1;
        return _x;
    }

    @Property(name="address2_addresstypecode")
    @JsonIgnore
    public Optional getAddress2_addresstypecode() {
        return Optional.ofNullable(address2_addresstypecode);
    }

    public Businessunit withAddress2_addresstypecode(Integer address2_addresstypecode) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_addresstypecode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_addresstypecode = address2_addresstypecode;
        return _x;
    }

    @Property(name="versionnumber")
    @JsonIgnore
    public Optional getVersionnumber() {
        return Optional.ofNullable(versionnumber);
    }

    public Businessunit withVersionnumber(Long versionnumber) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("versionnumber");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.versionnumber = versionnumber;
        return _x;
    }

    @Property(name="utcoffset")
    @JsonIgnore
    public Optional getUtcoffset() {
        return Optional.ofNullable(utcoffset);
    }

    public Businessunit withUtcoffset(Integer utcoffset) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("utcoffset");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.utcoffset = utcoffset;
        return _x;
    }

    @Property(name="costcenter")
    @JsonIgnore
    public Optional getCostcenter() {
        return Optional.ofNullable(costcenter);
    }

    public Businessunit withCostcenter(String costcenter) {
        Checks.checkIsAscii(costcenter);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("costcenter");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.costcenter = costcenter;
        return _x;
    }

    @Property(name="address1_postofficebox")
    @JsonIgnore
    public Optional getAddress1_postofficebox() {
        return Optional.ofNullable(address1_postofficebox);
    }

    public Businessunit withAddress1_postofficebox(String address1_postofficebox) {
        Checks.checkIsAscii(address1_postofficebox);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_postofficebox");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_postofficebox = address1_postofficebox;
        return _x;
    }

    @Property(name="address1_line2")
    @JsonIgnore
    public Optional getAddress1_line2() {
        return Optional.ofNullable(address1_line2);
    }

    public Businessunit withAddress1_line2(String address1_line2) {
        Checks.checkIsAscii(address1_line2);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_line2");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_line2 = address1_line2;
        return _x;
    }

    @Property(name="address2_longitude")
    @JsonIgnore
    public Optional getAddress2_longitude() {
        return Optional.ofNullable(address2_longitude);
    }

    public Businessunit withAddress2_longitude(Double address2_longitude) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_longitude");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_longitude = address2_longitude;
        return _x;
    }

    @Property(name="address1_upszone")
    @JsonIgnore
    public Optional getAddress1_upszone() {
        return Optional.ofNullable(address1_upszone);
    }

    public Businessunit withAddress1_upszone(String address1_upszone) {
        Checks.checkIsAscii(address1_upszone);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_upszone");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_upszone = address1_upszone;
        return _x;
    }

    @Property(name="address2_county")
    @JsonIgnore
    public Optional getAddress2_county() {
        return Optional.ofNullable(address2_county);
    }

    public Businessunit withAddress2_county(String address2_county) {
        Checks.checkIsAscii(address2_county);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_county");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_county = address2_county;
        return _x;
    }

    @Property(name="address2_city")
    @JsonIgnore
    public Optional getAddress2_city() {
        return Optional.ofNullable(address2_city);
    }

    public Businessunit withAddress2_city(String address2_city) {
        Checks.checkIsAscii(address2_city);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_city");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_city = address2_city;
        return _x;
    }

    @Property(name="address1_country")
    @JsonIgnore
    public Optional getAddress1_country() {
        return Optional.ofNullable(address1_country);
    }

    public Businessunit withAddress1_country(String address1_country) {
        Checks.checkIsAscii(address1_country);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_country");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_country = address1_country;
        return _x;
    }

    @Property(name="ftpsiteurl")
    @JsonIgnore
    public Optional getFtpsiteurl() {
        return Optional.ofNullable(ftpsiteurl);
    }

    public Businessunit withFtpsiteurl(String ftpsiteurl) {
        Checks.checkIsAscii(ftpsiteurl);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("ftpsiteurl");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.ftpsiteurl = ftpsiteurl;
        return _x;
    }

    @Property(name="address1_utcoffset")
    @JsonIgnore
    public Optional getAddress1_utcoffset() {
        return Optional.ofNullable(address1_utcoffset);
    }

    public Businessunit withAddress1_utcoffset(Integer address1_utcoffset) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_utcoffset");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_utcoffset = address1_utcoffset;
        return _x;
    }

    @Property(name="address1_stateorprovince")
    @JsonIgnore
    public Optional getAddress1_stateorprovince() {
        return Optional.ofNullable(address1_stateorprovince);
    }

    public Businessunit withAddress1_stateorprovince(String address1_stateorprovince) {
        Checks.checkIsAscii(address1_stateorprovince);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_stateorprovince");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_stateorprovince = address1_stateorprovince;
        return _x;
    }

    @Property(name="address1_telephone3")
    @JsonIgnore
    public Optional getAddress1_telephone3() {
        return Optional.ofNullable(address1_telephone3);
    }

    public Businessunit withAddress1_telephone3(String address1_telephone3) {
        Checks.checkIsAscii(address1_telephone3);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_telephone3");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_telephone3 = address1_telephone3;
        return _x;
    }

    @Property(name="address1_addresstypecode")
    @JsonIgnore
    public Optional getAddress1_addresstypecode() {
        return Optional.ofNullable(address1_addresstypecode);
    }

    public Businessunit withAddress1_addresstypecode(Integer address1_addresstypecode) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_addresstypecode");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_addresstypecode = address1_addresstypecode;
        return _x;
    }

    @Property(name="address1_line1")
    @JsonIgnore
    public Optional getAddress1_line1() {
        return Optional.ofNullable(address1_line1);
    }

    public Businessunit withAddress1_line1(String address1_line1) {
        Checks.checkIsAscii(address1_line1);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_line1");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_line1 = address1_line1;
        return _x;
    }

    @Property(name="_parentbusinessunitid_value")
    @JsonIgnore
    public Optional get_parentbusinessunitid_value() {
        return Optional.ofNullable(_parentbusinessunitid_value);
    }

    public Businessunit with_parentbusinessunitid_value(String _parentbusinessunitid_value) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("_parentbusinessunitid_value");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x._parentbusinessunitid_value = _parentbusinessunitid_value;
        return _x;
    }

    @Property(name="address1_telephone1")
    @JsonIgnore
    public Optional getAddress1_telephone1() {
        return Optional.ofNullable(address1_telephone1);
    }

    public Businessunit withAddress1_telephone1(String address1_telephone1) {
        Checks.checkIsAscii(address1_telephone1);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_telephone1");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_telephone1 = address1_telephone1;
        return _x;
    }

    @Property(name="address2_country")
    @JsonIgnore
    public Optional getAddress2_country() {
        return Optional.ofNullable(address2_country);
    }

    public Businessunit withAddress2_country(String address2_country) {
        Checks.checkIsAscii(address2_country);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_country");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_country = address2_country;
        return _x;
    }

    @Property(name="address2_telephone3")
    @JsonIgnore
    public Optional getAddress2_telephone3() {
        return Optional.ofNullable(address2_telephone3);
    }

    public Businessunit withAddress2_telephone3(String address2_telephone3) {
        Checks.checkIsAscii(address2_telephone3);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_telephone3");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_telephone3 = address2_telephone3;
        return _x;
    }

    @Property(name="isdisabled")
    @JsonIgnore
    public Optional getIsdisabled() {
        return Optional.ofNullable(isdisabled);
    }

    public Businessunit withIsdisabled(Boolean isdisabled) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("isdisabled");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.isdisabled = isdisabled;
        return _x;
    }

    @Property(name="address1_latitude")
    @JsonIgnore
    public Optional getAddress1_latitude() {
        return Optional.ofNullable(address1_latitude);
    }

    public Businessunit withAddress1_latitude(Double address1_latitude) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address1_latitude");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address1_latitude = address1_latitude;
        return _x;
    }

    @Property(name="inheritancemask")
    @JsonIgnore
    public Optional getInheritancemask() {
        return Optional.ofNullable(inheritancemask);
    }

    public Businessunit withInheritancemask(Integer inheritancemask) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("inheritancemask");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.inheritancemask = inheritancemask;
        return _x;
    }

    @Property(name="address2_telephone1")
    @JsonIgnore
    public Optional getAddress2_telephone1() {
        return Optional.ofNullable(address2_telephone1);
    }

    public Businessunit withAddress2_telephone1(String address2_telephone1) {
        Checks.checkIsAscii(address2_telephone1);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("address2_telephone1");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.address2_telephone1 = address2_telephone1;
        return _x;
    }

    @Property(name="websiteurl")
    @JsonIgnore
    public Optional getWebsiteurl() {
        return Optional.ofNullable(websiteurl);
    }

    public Businessunit withWebsiteurl(String websiteurl) {
        Checks.checkIsAscii(websiteurl);
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("websiteurl");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.websiteurl = websiteurl;
        return _x;
    }

    @Property(name="exchangerate")
    @JsonIgnore
    public Optional getExchangerate() {
        return Optional.ofNullable(exchangerate);
    }

    public Businessunit withExchangerate(BigDecimal exchangerate) {
        Businessunit _x = _copy();
        _x.changedFields = changedFields.add("exchangerate");
        _x.odataType = Util.nvl(odataType, "Microsoft.Dynamics.CRM.businessunit");
        _x.exchangerate = exchangerate;
        return _x;
    }

    @NavigationProperty(name="business_unit_exchangesyncidmapping")
    @JsonIgnore
    public ExchangesyncidmappingCollectionRequest getBusiness_unit_exchangesyncidmapping() {
        return new ExchangesyncidmappingCollectionRequest(
                        contextPath.addSegment("business_unit_exchangesyncidmapping"));
    }

    @NavigationProperty(name="business_unit_new_interactionforemail")
    @JsonIgnore
    public InteractionforemailCollectionRequest getBusiness_unit_new_interactionforemail() {
        return new InteractionforemailCollectionRequest(
                        contextPath.addSegment("business_unit_new_interactionforemail"));
    }

    @NavigationProperty(name="business_unit_knowledgearticle")
    @JsonIgnore
    public KnowledgearticleCollectionRequest getBusiness_unit_knowledgearticle() {
        return new KnowledgearticleCollectionRequest(
                        contextPath.addSegment("business_unit_knowledgearticle"));
    }

    @NavigationProperty(name="business_unit_sharepointdocumentlocation")
    @JsonIgnore
    public SharepointdocumentlocationCollectionRequest getBusiness_unit_sharepointdocumentlocation() {
        return new SharepointdocumentlocationCollectionRequest(
                        contextPath.addSegment("business_unit_sharepointdocumentlocation"));
    }

    @NavigationProperty(name="business_unit_goal")
    @JsonIgnore
    public GoalCollectionRequest getBusiness_unit_goal() {
        return new GoalCollectionRequest(
                        contextPath.addSegment("business_unit_goal"));
    }

    @NavigationProperty(name="business_unit_mailbox")
    @JsonIgnore
    public MailboxCollectionRequest getBusiness_unit_mailbox() {
        return new MailboxCollectionRequest(
                        contextPath.addSegment("business_unit_mailbox"));
    }

    @NavigationProperty(name="business_unit_recurrencerule")
    @JsonIgnore
    public RecurrenceruleCollectionRequest getBusiness_unit_recurrencerule() {
        return new RecurrenceruleCollectionRequest(
                        contextPath.addSegment("business_unit_recurrencerule"));
    }

    @NavigationProperty(name="BusinessUnit_SyncErrors")
    @JsonIgnore
    public SyncerrorCollectionRequest getBusinessUnit_SyncErrors() {
        return new SyncerrorCollectionRequest(
                        contextPath.addSegment("BusinessUnit_SyncErrors"));
    }

    @NavigationProperty(name="transactioncurrencyid")
    @JsonIgnore
    public TransactioncurrencyRequest getTransactioncurrencyid() {
        return new TransactioncurrencyRequest(contextPath.addSegment("transactioncurrencyid"));
    }

    @NavigationProperty(name="BulkDeleteOperation_BusinessUnit")
    @JsonIgnore
    public BulkdeleteoperationCollectionRequest getBulkDeleteOperation_BusinessUnit() {
        return new BulkdeleteoperationCollectionRequest(
                        contextPath.addSegment("BulkDeleteOperation_BusinessUnit"));
    }

    @NavigationProperty(name="modifiedby")
    @JsonIgnore
    public SystemuserRequest getModifiedby() {
        return new SystemuserRequest(contextPath.addSegment("modifiedby"));
    }

    @NavigationProperty(name="business_unit_workflow")
    @JsonIgnore
    public WorkflowCollectionRequest getBusiness_unit_workflow() {
        return new WorkflowCollectionRequest(
                        contextPath.addSegment("business_unit_workflow"));
    }

    @NavigationProperty(name="BusinessUnit_SyncError")
    @JsonIgnore
    public SyncerrorCollectionRequest getBusinessUnit_SyncError() {
        return new SyncerrorCollectionRequest(
                        contextPath.addSegment("BusinessUnit_SyncError"));
    }

    @NavigationProperty(name="business_unit_PostRegarding")
    @JsonIgnore
    public PostregardingCollectionRequest getBusiness_unit_PostRegarding() {
        return new PostregardingCollectionRequest(
                        contextPath.addSegment("business_unit_PostRegarding"));
    }

    @NavigationProperty(name="business_unit_postfollows")
    @JsonIgnore
    public PostfollowCollectionRequest getBusiness_unit_postfollows() {
        return new PostfollowCollectionRequest(
                        contextPath.addSegment("business_unit_postfollows"));
    }

    @NavigationProperty(name="BusinessUnit_AsyncOperations")
    @JsonIgnore
    public AsyncoperationCollectionRequest getBusinessUnit_AsyncOperations() {
        return new AsyncoperationCollectionRequest(
                        contextPath.addSegment("BusinessUnit_AsyncOperations"));
    }

    @NavigationProperty(name="business_unit_queues")
    @JsonIgnore
    public QueueCollectionRequest getBusiness_unit_queues() {
        return new QueueCollectionRequest(
                        contextPath.addSegment("business_unit_queues"));
    }

    @NavigationProperty(name="business_unit_fax_activities")
    @JsonIgnore
    public FaxCollectionRequest getBusiness_unit_fax_activities() {
        return new FaxCollectionRequest(
                        contextPath.addSegment("business_unit_fax_activities"));
    }

    @NavigationProperty(name="business_unit_calendars")
    @JsonIgnore
    public CalendarCollectionRequest getBusiness_unit_calendars() {
        return new CalendarCollectionRequest(
                        contextPath.addSegment("business_unit_calendars"));
    }

    @NavigationProperty(name="createdonbehalfby")
    @JsonIgnore
    public SystemuserRequest getCreatedonbehalfby() {
        return new SystemuserRequest(contextPath.addSegment("createdonbehalfby"));
    }

    @NavigationProperty(name="BusinessUnit_ImportLogs")
    @JsonIgnore
    public ImportlogCollectionRequest getBusinessUnit_ImportLogs() {
        return new ImportlogCollectionRequest(
                        contextPath.addSegment("BusinessUnit_ImportLogs"));
    }

    @NavigationProperty(name="business_unit_annotations")
    @JsonIgnore
    public AnnotationCollectionRequest getBusiness_unit_annotations() {
        return new AnnotationCollectionRequest(
                        contextPath.addSegment("business_unit_annotations"));
    }

    @NavigationProperty(name="calendarid")
    @JsonIgnore
    public CalendarRequest getCalendarid() {
        return new CalendarRequest(contextPath.addSegment("calendarid"));
    }

    @NavigationProperty(name="business_unit_recurringappointmentmaster_activities")
    @JsonIgnore
    public RecurringappointmentmasterCollectionRequest getBusiness_unit_recurringappointmentmaster_activities() {
        return new RecurringappointmentmasterCollectionRequest(
                        contextPath.addSegment("business_unit_recurringappointmentmaster_activities"));
    }

    @NavigationProperty(name="business_unit_templates")
    @JsonIgnore
    public TemplateCollectionRequest getBusiness_unit_templates() {
        return new TemplateCollectionRequest(
                        contextPath.addSegment("business_unit_templates"));
    }

    @NavigationProperty(name="business_unit_accounts")
    @JsonIgnore
    public AccountCollectionRequest getBusiness_unit_accounts() {
        return new AccountCollectionRequest(
                        contextPath.addSegment("business_unit_accounts"));
    }

    @NavigationProperty(name="business_unit_socialprofiles")
    @JsonIgnore
    public SocialprofileCollectionRequest getBusiness_unit_socialprofiles() {
        return new SocialprofileCollectionRequest(
                        contextPath.addSegment("business_unit_socialprofiles"));
    }

    @NavigationProperty(name="business_unit_appointment_activities")
    @JsonIgnore
    public AppointmentCollectionRequest getBusiness_unit_appointment_activities() {
        return new AppointmentCollectionRequest(
                        contextPath.addSegment("business_unit_appointment_activities"));
    }

    @NavigationProperty(name="business_unit_letter_activities")
    @JsonIgnore
    public LetterCollectionRequest getBusiness_unit_letter_activities() {
        return new LetterCollectionRequest(
                        contextPath.addSegment("business_unit_letter_activities"));
    }

    @NavigationProperty(name="business_unit_actioncards")
    @JsonIgnore
    public ActioncardCollectionRequest getBusiness_unit_actioncards() {
        return new ActioncardCollectionRequest(
                        contextPath.addSegment("business_unit_actioncards"));
    }

    @NavigationProperty(name="business_unit_task_activities")
    @JsonIgnore
    public TaskCollectionRequest getBusiness_unit_task_activities() {
        return new TaskCollectionRequest(
                        contextPath.addSegment("business_unit_task_activities"));
    }

    @NavigationProperty(name="business_unit_activitypointer")
    @JsonIgnore
    public ActivitypointerCollectionRequest getBusiness_unit_activitypointer() {
        return new ActivitypointerCollectionRequest(
                        contextPath.addSegment("business_unit_activitypointer"));
    }

    @NavigationProperty(name="business_unit_queues2")
    @JsonIgnore
    public QueueCollectionRequest getBusiness_unit_queues2() {
        return new QueueCollectionRequest(
                        contextPath.addSegment("business_unit_queues2"));
    }

    @NavigationProperty(name="business_unit_asyncoperation")
    @JsonIgnore
    public AsyncoperationCollectionRequest getBusiness_unit_asyncoperation() {
        return new AsyncoperationCollectionRequest(
                        contextPath.addSegment("business_unit_asyncoperation"));
    }

    @NavigationProperty(name="business_unit_email_activities")
    @JsonIgnore
    public EmailCollectionRequest getBusiness_unit_email_activities() {
        return new EmailCollectionRequest(
                        contextPath.addSegment("business_unit_email_activities"));
    }

    @NavigationProperty(name="business_unit_roles")
    @JsonIgnore
    public RoleCollectionRequest getBusiness_unit_roles() {
        return new RoleCollectionRequest(
                        contextPath.addSegment("business_unit_roles"));
    }

    @NavigationProperty(name="business_unit_teams")
    @JsonIgnore
    public TeamCollectionRequest getBusiness_unit_teams() {
        return new TeamCollectionRequest(
                        contextPath.addSegment("business_unit_teams"));
    }

    @NavigationProperty(name="createdby")
    @JsonIgnore
    public SystemuserRequest getCreatedby() {
        return new SystemuserRequest(contextPath.addSegment("createdby"));
    }

    @NavigationProperty(name="business_unit_userqueryvisualizations")
    @JsonIgnore
    public UserqueryvisualizationCollectionRequest getBusiness_unit_userqueryvisualizations() {
        return new UserqueryvisualizationCollectionRequest(
                        contextPath.addSegment("business_unit_userqueryvisualizations"));
    }

    @NavigationProperty(name="business_unit_slakpiinstance")
    @JsonIgnore
    public SlakpiinstanceCollectionRequest getBusiness_unit_slakpiinstance() {
        return new SlakpiinstanceCollectionRequest(
                        contextPath.addSegment("business_unit_slakpiinstance"));
    }

    @NavigationProperty(name="Owning_businessunit_processsessions")
    @JsonIgnore
    public ProcesssessionCollectionRequest getOwning_businessunit_processsessions() {
        return new ProcesssessionCollectionRequest(
                        contextPath.addSegment("Owning_businessunit_processsessions"));
    }

    @NavigationProperty(name="BusinessUnit_DuplicateRules")
    @JsonIgnore
    public DuplicateruleCollectionRequest getBusinessUnit_DuplicateRules() {
        return new DuplicateruleCollectionRequest(
                        contextPath.addSegment("BusinessUnit_DuplicateRules"));
    }

    @NavigationProperty(name="modifiedonbehalfby")
    @JsonIgnore
    public SystemuserRequest getModifiedonbehalfby() {
        return new SystemuserRequest(contextPath.addSegment("modifiedonbehalfby"));
    }

    @NavigationProperty(name="BusinessUnit_ImportData")
    @JsonIgnore
    public ImportdataCollectionRequest getBusinessUnit_ImportData() {
        return new ImportdataCollectionRequest(
                        contextPath.addSegment("BusinessUnit_ImportData"));
    }

    @NavigationProperty(name="BusinessUnit_ProcessSessions")
    @JsonIgnore
    public ProcesssessionCollectionRequest getBusinessUnit_ProcessSessions() {
        return new ProcesssessionCollectionRequest(
                        contextPath.addSegment("BusinessUnit_ProcessSessions"));
    }

    @NavigationProperty(name="organizationid")
    @JsonIgnore
    public OrganizationRequest getOrganizationid() {
        return new OrganizationRequest(contextPath.addSegment("organizationid"));
    }

    @NavigationProperty(name="business_unit_phone_call_activities")
    @JsonIgnore
    public PhonecallCollectionRequest getBusiness_unit_phone_call_activities() {
        return new PhonecallCollectionRequest(
                        contextPath.addSegment("business_unit_phone_call_activities"));
    }

    @NavigationProperty(name="business_unit_contacts")
    @JsonIgnore
    public ContactCollectionRequest getBusiness_unit_contacts() {
        return new ContactCollectionRequest(
                        contextPath.addSegment("business_unit_contacts"));
    }

    @NavigationProperty(name="business_unit_sharepointsites")
    @JsonIgnore
    public SharepointsiteCollectionRequest getBusiness_unit_sharepointsites() {
        return new SharepointsiteCollectionRequest(
                        contextPath.addSegment("business_unit_sharepointsites"));
    }

    @NavigationProperty(name="business_unit_emailserverprofile")
    @JsonIgnore
    public EmailserverprofileCollectionRequest getBusiness_unit_emailserverprofile() {
        return new EmailserverprofileCollectionRequest(
                        contextPath.addSegment("business_unit_emailserverprofile"));
    }

    @NavigationProperty(name="business_unit_mailmergetemplates")
    @JsonIgnore
    public MailmergetemplateCollectionRequest getBusiness_unit_mailmergetemplates() {
        return new MailmergetemplateCollectionRequest(
                        contextPath.addSegment("business_unit_mailmergetemplates"));
    }

    @NavigationProperty(name="business_unit_workflowlogs")
    @JsonIgnore
    public WorkflowlogCollectionRequest getBusiness_unit_workflowlogs() {
        return new WorkflowlogCollectionRequest(
                        contextPath.addSegment("business_unit_workflowlogs"));
    }

    @NavigationProperty(name="BusinessUnit_BulkDeleteFailures")
    @JsonIgnore
    public BulkdeletefailureCollectionRequest getBusinessUnit_BulkDeleteFailures() {
        return new BulkdeletefailureCollectionRequest(
                        contextPath.addSegment("BusinessUnit_BulkDeleteFailures"));
    }

    @NavigationProperty(name="business_unit_connections")
    @JsonIgnore
    public ConnectionCollectionRequest getBusiness_unit_connections() {
        return new ConnectionCollectionRequest(
                        contextPath.addSegment("business_unit_connections"));
    }

    @NavigationProperty(name="business_unit_personaldocumenttemplates")
    @JsonIgnore
    public PersonaldocumenttemplateCollectionRequest getBusiness_unit_personaldocumenttemplates() {
        return new PersonaldocumenttemplateCollectionRequest(
                        contextPath.addSegment("business_unit_personaldocumenttemplates"));
    }

    @NavigationProperty(name="BusinessUnit_ImportFiles")
    @JsonIgnore
    public ImportfileCollectionRequest getBusinessUnit_ImportFiles() {
        return new ImportfileCollectionRequest(
                        contextPath.addSegment("BusinessUnit_ImportFiles"));
    }

    @NavigationProperty(name="business_unit_feedback")
    @JsonIgnore
    public FeedbackCollectionRequest getBusiness_unit_feedback() {
        return new FeedbackCollectionRequest(
                        contextPath.addSegment("business_unit_feedback"));
    }

    @NavigationProperty(name="business_unit_reports")
    @JsonIgnore
    public ReportCollectionRequest getBusiness_unit_reports() {
        return new ReportCollectionRequest(
                        contextPath.addSegment("business_unit_reports"));
    }

    @NavigationProperty(name="businessunit_mailboxtrackingfolder")
    @JsonIgnore
    public MailboxtrackingfolderCollectionRequest getBusinessunit_mailboxtrackingfolder() {
        return new MailboxtrackingfolderCollectionRequest(
                        contextPath.addSegment("businessunit_mailboxtrackingfolder"));
    }

    @NavigationProperty(name="businessunit_principalobjectattributeaccess")
    @JsonIgnore
    public PrincipalobjectattributeaccessCollectionRequest getBusinessunit_principalobjectattributeaccess() {
        return new PrincipalobjectattributeaccessCollectionRequest(
                        contextPath.addSegment("businessunit_principalobjectattributeaccess"));
    }

    @NavigationProperty(name="business_unit_user_settings")
    @JsonIgnore
    public UsersettingsCollectionRequest getBusiness_unit_user_settings() {
        return new UsersettingsCollectionRequest(
                        contextPath.addSegment("business_unit_user_settings"));
    }

    @NavigationProperty(name="BusinessUnit_Imports")
    @JsonIgnore
    public ImportCollectionRequest getBusinessUnit_Imports() {
        return new ImportCollectionRequest(
                        contextPath.addSegment("BusinessUnit_Imports"));
    }

    @NavigationProperty(name="business_unit_category")
    @JsonIgnore
    public CategoryCollectionRequest getBusiness_unit_category() {
        return new CategoryCollectionRequest(
                        contextPath.addSegment("business_unit_category"));
    }

    @NavigationProperty(name="business_unit_system_users")
    @JsonIgnore
    public SystemuserCollectionRequest getBusiness_unit_system_users() {
        return new SystemuserCollectionRequest(
                        contextPath.addSegment("business_unit_system_users"));
    }

    @NavigationProperty(name="business_unit_slabase")
    @JsonIgnore
    public SlaCollectionRequest getBusiness_unit_slabase() {
        return new SlaCollectionRequest(
                        contextPath.addSegment("business_unit_slabase"));
    }

    @NavigationProperty(name="business_unit_userform")
    @JsonIgnore
    public UserformCollectionRequest getBusiness_unit_userform() {
        return new UserformCollectionRequest(
                        contextPath.addSegment("business_unit_userform"));
    }

    @NavigationProperty(name="business_unit_socialactivity")
    @JsonIgnore
    public SocialactivityCollectionRequest getBusiness_unit_socialactivity() {
        return new SocialactivityCollectionRequest(
                        contextPath.addSegment("business_unit_socialactivity"));
    }

    @NavigationProperty(name="business_unit_goalrollupquery")
    @JsonIgnore
    public GoalrollupqueryCollectionRequest getBusiness_unit_goalrollupquery() {
        return new GoalrollupqueryCollectionRequest(
                        contextPath.addSegment("business_unit_goalrollupquery"));
    }

    @NavigationProperty(name="business_unit_userquery")
    @JsonIgnore
    public UserqueryCollectionRequest getBusiness_unit_userquery() {
        return new UserqueryCollectionRequest(
                        contextPath.addSegment("business_unit_userquery"));
    }

    @NavigationProperty(name="BusinessUnit_ImportMaps")
    @JsonIgnore
    public ImportmapCollectionRequest getBusinessUnit_ImportMaps() {
        return new ImportmapCollectionRequest(
                        contextPath.addSegment("BusinessUnit_ImportMaps"));
    }

    @NavigationProperty(name="parentbusinessunitid")
    @JsonIgnore
    public BusinessunitRequest getParentbusinessunitid() {
        return new BusinessunitRequest(contextPath.addSegment("parentbusinessunitid"));
    }

    @NavigationProperty(name="business_unit_parent_business_unit")
    @JsonIgnore
    public BusinessunitCollectionRequest getBusiness_unit_parent_business_unit() {
        return new BusinessunitCollectionRequest(
                        contextPath.addSegment("business_unit_parent_business_unit"));
    }

    @NavigationProperty(name="businessunit_callbackregistration")
    @JsonIgnore
    public CallbackregistrationCollectionRequest getBusinessunit_callbackregistration() {
        return new CallbackregistrationCollectionRequest(
                        contextPath.addSegment("businessunit_callbackregistration"));
    }

    @NavigationProperty(name="businessunit_canvasapp")
    @JsonIgnore
    public CanvasappCollectionRequest getBusinessunit_canvasapp() {
        return new CanvasappCollectionRequest(
                        contextPath.addSegment("businessunit_canvasapp"));
    }

    @NavigationProperty(name="business_unit_stagesolutionupload")
    @JsonIgnore
    public StagesolutionuploadCollectionRequest getBusiness_unit_stagesolutionupload() {
        return new StagesolutionuploadCollectionRequest(
                        contextPath.addSegment("business_unit_stagesolutionupload"));
    }

    @NavigationProperty(name="business_unit_exportsolutionupload")
    @JsonIgnore
    public ExportsolutionuploadCollectionRequest getBusiness_unit_exportsolutionupload() {
        return new ExportsolutionuploadCollectionRequest(
                        contextPath.addSegment("business_unit_exportsolutionupload"));
    }

    @NavigationProperty(name="business_unit_applicationuser")
    @JsonIgnore
    public ApplicationuserCollectionRequest getBusiness_unit_applicationuser() {
        return new ApplicationuserCollectionRequest(
                        contextPath.addSegment("business_unit_applicationuser"));
    }

    @NavigationProperty(name="business_unit_connector")
    @JsonIgnore
    public ConnectorCollectionRequest getBusiness_unit_connector() {
        return new ConnectorCollectionRequest(
                        contextPath.addSegment("business_unit_connector"));
    }

    @NavigationProperty(name="business_unit_environmentvariabledefinition")
    @JsonIgnore
    public EnvironmentvariabledefinitionCollectionRequest getBusiness_unit_environmentvariabledefinition() {
        return new EnvironmentvariabledefinitionCollectionRequest(
                        contextPath.addSegment("business_unit_environmentvariabledefinition"));
    }

    @NavigationProperty(name="business_unit_environmentvariablevalue")
    @JsonIgnore
    public EnvironmentvariablevalueCollectionRequest getBusiness_unit_environmentvariablevalue() {
        return new EnvironmentvariablevalueCollectionRequest(
                        contextPath.addSegment("business_unit_environmentvariablevalue"));
    }

    @NavigationProperty(name="business_unit_processstageparameter")
    @JsonIgnore
    public ProcessstageparameterCollectionRequest getBusiness_unit_processstageparameter() {
        return new ProcessstageparameterCollectionRequest(
                        contextPath.addSegment("business_unit_processstageparameter"));
    }

    @NavigationProperty(name="business_unit_flowsession")
    @JsonIgnore
    public FlowsessionCollectionRequest getBusiness_unit_flowsession() {
        return new FlowsessionCollectionRequest(
                        contextPath.addSegment("business_unit_flowsession"));
    }

    @NavigationProperty(name="business_unit_workflowbinary")
    @JsonIgnore
    public WorkflowbinaryCollectionRequest getBusiness_unit_workflowbinary() {
        return new WorkflowbinaryCollectionRequest(
                        contextPath.addSegment("business_unit_workflowbinary"));
    }

    @NavigationProperty(name="business_unit_connectionreference")
    @JsonIgnore
    public ConnectionreferenceCollectionRequest getBusiness_unit_connectionreference() {
        return new ConnectionreferenceCollectionRequest(
                        contextPath.addSegment("business_unit_connectionreference"));
    }

    @NavigationProperty(name="business_unit_msdyn_serviceconfiguration")
    @JsonIgnore
    public Msdyn_serviceconfigurationCollectionRequest getBusiness_unit_msdyn_serviceconfiguration() {
        return new Msdyn_serviceconfigurationCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_serviceconfiguration"));
    }

    @NavigationProperty(name="business_unit_msdyn_slakpi")
    @JsonIgnore
    public Msdyn_slakpiCollectionRequest getBusiness_unit_msdyn_slakpi() {
        return new Msdyn_slakpiCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_slakpi"));
    }

    @NavigationProperty(name="business_unit_msdyn_knowledgearticleimage")
    @JsonIgnore
    public Msdyn_knowledgearticleimageCollectionRequest getBusiness_unit_msdyn_knowledgearticleimage() {
        return new Msdyn_knowledgearticleimageCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_knowledgearticleimage"));
    }

    @NavigationProperty(name="business_unit_msdyn_knowledgearticletemplate")
    @JsonIgnore
    public Msdyn_knowledgearticletemplateCollectionRequest getBusiness_unit_msdyn_knowledgearticletemplate() {
        return new Msdyn_knowledgearticletemplateCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_knowledgearticletemplate"));
    }

    @NavigationProperty(name="business_unit_msdyn_dataflow")
    @JsonIgnore
    public Msdyn_dataflowCollectionRequest getBusiness_unit_msdyn_dataflow() {
        return new Msdyn_dataflowCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_dataflow"));
    }

    @NavigationProperty(name="business_unit_msdyn_richtextfile")
    @JsonIgnore
    public Msdyn_richtextfileCollectionRequest getBusiness_unit_msdyn_richtextfile() {
        return new Msdyn_richtextfileCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_richtextfile"));
    }

    @NavigationProperty(name="business_unit_msdyn_aiconfiguration")
    @JsonIgnore
    public Msdyn_aiconfigurationCollectionRequest getBusiness_unit_msdyn_aiconfiguration() {
        return new Msdyn_aiconfigurationCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aiconfiguration"));
    }

    @NavigationProperty(name="business_unit_msdyn_aimodel")
    @JsonIgnore
    public Msdyn_aimodelCollectionRequest getBusiness_unit_msdyn_aimodel() {
        return new Msdyn_aimodelCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aimodel"));
    }

    @NavigationProperty(name="business_unit_msdyn_aitemplate")
    @JsonIgnore
    public Msdyn_aitemplateCollectionRequest getBusiness_unit_msdyn_aitemplate() {
        return new Msdyn_aitemplateCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aitemplate"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibdataset")
    @JsonIgnore
    public Msdyn_aibdatasetCollectionRequest getBusiness_unit_msdyn_aibdataset() {
        return new Msdyn_aibdatasetCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibdataset"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibdatasetfile")
    @JsonIgnore
    public Msdyn_aibdatasetfileCollectionRequest getBusiness_unit_msdyn_aibdatasetfile() {
        return new Msdyn_aibdatasetfileCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibdatasetfile"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibdatasetrecord")
    @JsonIgnore
    public Msdyn_aibdatasetrecordCollectionRequest getBusiness_unit_msdyn_aibdatasetrecord() {
        return new Msdyn_aibdatasetrecordCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibdatasetrecord"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibdatasetscontainer")
    @JsonIgnore
    public Msdyn_aibdatasetscontainerCollectionRequest getBusiness_unit_msdyn_aibdatasetscontainer() {
        return new Msdyn_aibdatasetscontainerCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibdatasetscontainer"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibfile")
    @JsonIgnore
    public Msdyn_aibfileCollectionRequest getBusiness_unit_msdyn_aibfile() {
        return new Msdyn_aibfileCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibfile"));
    }

    @NavigationProperty(name="business_unit_msdyn_aibfileattacheddata")
    @JsonIgnore
    public Msdyn_aibfileattacheddataCollectionRequest getBusiness_unit_msdyn_aibfileattacheddata() {
        return new Msdyn_aibfileattacheddataCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aibfileattacheddata"));
    }

    @NavigationProperty(name="business_unit_msdyn_aifptrainingdocument")
    @JsonIgnore
    public Msdyn_aifptrainingdocumentCollectionRequest getBusiness_unit_msdyn_aifptrainingdocument() {
        return new Msdyn_aifptrainingdocumentCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aifptrainingdocument"));
    }

    @NavigationProperty(name="business_unit_msdyn_aiodimage")
    @JsonIgnore
    public Msdyn_aiodimageCollectionRequest getBusiness_unit_msdyn_aiodimage() {
        return new Msdyn_aiodimageCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aiodimage"));
    }

    @NavigationProperty(name="business_unit_msdyn_aiodlabel")
    @JsonIgnore
    public Msdyn_aiodlabelCollectionRequest getBusiness_unit_msdyn_aiodlabel() {
        return new Msdyn_aiodlabelCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aiodlabel"));
    }

    @NavigationProperty(name="business_unit_msdyn_aiodtrainingboundingbox")
    @JsonIgnore
    public Msdyn_aiodtrainingboundingboxCollectionRequest getBusiness_unit_msdyn_aiodtrainingboundingbox() {
        return new Msdyn_aiodtrainingboundingboxCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aiodtrainingboundingbox"));
    }

    @NavigationProperty(name="business_unit_msdyn_aiodtrainingimage")
    @JsonIgnore
    public Msdyn_aiodtrainingimageCollectionRequest getBusiness_unit_msdyn_aiodtrainingimage() {
        return new Msdyn_aiodtrainingimageCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_aiodtrainingimage"));
    }

    @NavigationProperty(name="business_unit_msdyn_analysiscomponent")
    @JsonIgnore
    public Msdyn_analysiscomponentCollectionRequest getBusiness_unit_msdyn_analysiscomponent() {
        return new Msdyn_analysiscomponentCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_analysiscomponent"));
    }

    @NavigationProperty(name="business_unit_msdyn_analysisjob")
    @JsonIgnore
    public Msdyn_analysisjobCollectionRequest getBusiness_unit_msdyn_analysisjob() {
        return new Msdyn_analysisjobCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_analysisjob"));
    }

    @NavigationProperty(name="business_unit_msdyn_analysisresult")
    @JsonIgnore
    public Msdyn_analysisresultCollectionRequest getBusiness_unit_msdyn_analysisresult() {
        return new Msdyn_analysisresultCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_analysisresult"));
    }

    @NavigationProperty(name="business_unit_msdyn_analysisresultdetail")
    @JsonIgnore
    public Msdyn_analysisresultdetailCollectionRequest getBusiness_unit_msdyn_analysisresultdetail() {
        return new Msdyn_analysisresultdetailCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_analysisresultdetail"));
    }

    @NavigationProperty(name="business_unit_msdyn_solutionhealthrule")
    @JsonIgnore
    public Msdyn_solutionhealthruleCollectionRequest getBusiness_unit_msdyn_solutionhealthrule() {
        return new Msdyn_solutionhealthruleCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_solutionhealthrule"));
    }

    @NavigationProperty(name="business_unit_msdyn_solutionhealthruleargument")
    @JsonIgnore
    public Msdyn_solutionhealthruleargumentCollectionRequest getBusiness_unit_msdyn_solutionhealthruleargument() {
        return new Msdyn_solutionhealthruleargumentCollectionRequest(
                        contextPath.addSegment("business_unit_msdyn_solutionhealthruleargument"));
    }

    @NavigationProperty(name="business_unit_ggw_event")
    @JsonIgnore
    public Ggw_eventCollectionRequest getBusiness_unit_ggw_event() {
        return new Ggw_eventCollectionRequest(
                        contextPath.addSegment("business_unit_ggw_event"));
    }

    @NavigationProperty(name="business_unit_ggw_team")
    @JsonIgnore
    public Ggw_teamCollectionRequest getBusiness_unit_ggw_team() {
        return new Ggw_teamCollectionRequest(
                        contextPath.addSegment("business_unit_ggw_team"));
    }

    @NavigationProperty(name="business_unit_ggw_crew")
    @JsonIgnore
    public Ggw_crewCollectionRequest getBusiness_unit_ggw_crew() {
        return new Ggw_crewCollectionRequest(
                        contextPath.addSegment("business_unit_ggw_crew"));
    }

    @NavigationProperty(name="business_unit_ggw_team_application")
    @JsonIgnore
    public Ggw_team_applicationCollectionRequest getBusiness_unit_ggw_team_application() {
        return new Ggw_team_applicationCollectionRequest(
                        contextPath.addSegment("business_unit_ggw_team_application"));
    }

    @JsonAnySetter
    private void setUnmappedField(String name, Object value) {
        if (unmappedFields == null) {
            unmappedFields = new UnmappedFields();
        }
        unmappedFields.put(name, value);
    }

    @Override
    @JsonIgnore
    public UnmappedFields getUnmappedFields() {
        return unmappedFields == null ? new UnmappedFields() : unmappedFields;
    }

    /**
     * Submits only changed fields for update and returns an 
     * immutable copy of {@code this} with changed fields reset.
     *
     * @return a copy of {@code this} with changed fields reset
     * @throws ClientException if HTTP response is not as expected
     */
    public Businessunit patch() {
        RequestHelper.patch(this, contextPath, RequestOptions.EMPTY);
        Businessunit _x = _copy();
        _x.changedFields = null;
        return _x;
    }

    /**
     * Submits all fields for update and returns an immutable copy of {@code this}
     * with changed fields reset (they were ignored anyway).
     *
     * @return a copy of {@code this} with changed fields reset
     * @throws ClientException if HTTP response is not as expected
     */
    public Businessunit put() {
        RequestHelper.put(this, contextPath, RequestOptions.EMPTY);
        Businessunit _x = _copy();
        _x.changedFields = null;
        return _x;
    }

    private Businessunit _copy() {
        Businessunit _x = new Businessunit();
        _x.contextPath = contextPath;
        _x.changedFields = changedFields;
        _x.unmappedFields = unmappedFields;
        _x.odataType = odataType;
        _x.address1_addressid = address1_addressid;
        _x.address2_line2 = address2_line2;
        _x.workflowsuspended = workflowsuspended;
        _x.address2_upszone = address2_upszone;
        _x.address2_stateorprovince = address2_stateorprovince;
        _x.createdon = createdon;
        _x.address1_telephone2 = address1_telephone2;
        _x.picture = picture;
        _x.divisionname = divisionname;
        _x.tickersymbol = tickersymbol;
        _x.address1_line3 = address1_line3;
        _x.address2_shippingmethodcode = address2_shippingmethodcode;
        _x.address1_shippingmethodcode = address1_shippingmethodcode;
        _x.disabledreason = disabledreason;
        _x.address2_name = address2_name;
        _x.address2_utcoffset = address2_utcoffset;
        _x.stockexchange = stockexchange;
        _x.address2_fax = address2_fax;
        _x.address2_line3 = address2_line3;
        _x._createdonbehalfby_value = _createdonbehalfby_value;
        _x.businessunitid = businessunitid;
        _x.description = description;
        _x.address1_city = address1_city;
        _x.address1_name = address1_name;
        _x.address2_postofficebox = address2_postofficebox;
        _x.address2_addressid = address2_addressid;
        _x._calendarid_value = _calendarid_value;
        _x.address2_telephone2 = address2_telephone2;
        _x.address2_postalcode = address2_postalcode;
        _x._createdby_value = _createdby_value;
        _x.fileasname = fileasname;
        _x._modifiedby_value = _modifiedby_value;
        _x.modifiedon = modifiedon;
        _x._transactioncurrencyid_value = _transactioncurrencyid_value;
        _x._organizationid_value = _organizationid_value;
        _x.address2_latitude = address2_latitude;
        _x.creditlimit = creditlimit;
        _x.address1_county = address1_county;
        _x._modifiedonbehalfby_value = _modifiedonbehalfby_value;
        _x.address1_longitude = address1_longitude;
        _x.emailaddress = emailaddress;
        _x.name = name;
        _x.address1_postalcode = address1_postalcode;
        _x.importsequencenumber = importsequencenumber;
        _x.overriddencreatedon = overriddencreatedon;
        _x.address1_fax = address1_fax;
        _x.address2_line1 = address2_line1;
        _x.address2_addresstypecode = address2_addresstypecode;
        _x.versionnumber = versionnumber;
        _x.utcoffset = utcoffset;
        _x.costcenter = costcenter;
        _x.address1_postofficebox = address1_postofficebox;
        _x.address1_line2 = address1_line2;
        _x.address2_longitude = address2_longitude;
        _x.address1_upszone = address1_upszone;
        _x.address2_county = address2_county;
        _x.address2_city = address2_city;
        _x.address1_country = address1_country;
        _x.ftpsiteurl = ftpsiteurl;
        _x.address1_utcoffset = address1_utcoffset;
        _x.address1_stateorprovince = address1_stateorprovince;
        _x.address1_telephone3 = address1_telephone3;
        _x.address1_addresstypecode = address1_addresstypecode;
        _x.address1_line1 = address1_line1;
        _x._parentbusinessunitid_value = _parentbusinessunitid_value;
        _x.address1_telephone1 = address1_telephone1;
        _x.address2_country = address2_country;
        _x.address2_telephone3 = address2_telephone3;
        _x.isdisabled = isdisabled;
        _x.address1_latitude = address1_latitude;
        _x.inheritancemask = inheritancemask;
        _x.address2_telephone1 = address2_telephone1;
        _x.websiteurl = websiteurl;
        _x.exchangerate = exchangerate;
        return _x;
    }

    @Function(name = "RetrieveBusinessHierarchyBusinessUnit")
    @JsonIgnore
    public CollectionPageNonEntityRequest retrieveBusinessHierarchyBusinessUnit() {
        Map _parameters = ParameterMap.empty();
        return CollectionPageNonEntityRequest.forFunction(this.contextPath.addActionOrFunctionSegment("Microsoft.Dynamics.CRM.RetrieveBusinessHierarchyBusinessUnit"), Businessunit.class, _parameters, microsoft.dynamics.crm.schema.SchemaInfo.INSTANCE);
    }

    @Override
    public String toString() {
        StringBuilder b = new StringBuilder();
        b.append("Businessunit[");
        b.append("address1_addressid=");
        b.append(this.address1_addressid);
        b.append(", ");
        b.append("address2_line2=");
        b.append(this.address2_line2);
        b.append(", ");
        b.append("workflowsuspended=");
        b.append(this.workflowsuspended);
        b.append(", ");
        b.append("address2_upszone=");
        b.append(this.address2_upszone);
        b.append(", ");
        b.append("address2_stateorprovince=");
        b.append(this.address2_stateorprovince);
        b.append(", ");
        b.append("createdon=");
        b.append(this.createdon);
        b.append(", ");
        b.append("address1_telephone2=");
        b.append(this.address1_telephone2);
        b.append(", ");
        b.append("picture=");
        b.append(this.picture);
        b.append(", ");
        b.append("divisionname=");
        b.append(this.divisionname);
        b.append(", ");
        b.append("tickersymbol=");
        b.append(this.tickersymbol);
        b.append(", ");
        b.append("address1_line3=");
        b.append(this.address1_line3);
        b.append(", ");
        b.append("address2_shippingmethodcode=");
        b.append(this.address2_shippingmethodcode);
        b.append(", ");
        b.append("address1_shippingmethodcode=");
        b.append(this.address1_shippingmethodcode);
        b.append(", ");
        b.append("disabledreason=");
        b.append(this.disabledreason);
        b.append(", ");
        b.append("address2_name=");
        b.append(this.address2_name);
        b.append(", ");
        b.append("address2_utcoffset=");
        b.append(this.address2_utcoffset);
        b.append(", ");
        b.append("stockexchange=");
        b.append(this.stockexchange);
        b.append(", ");
        b.append("address2_fax=");
        b.append(this.address2_fax);
        b.append(", ");
        b.append("address2_line3=");
        b.append(this.address2_line3);
        b.append(", ");
        b.append("_createdonbehalfby_value=");
        b.append(this._createdonbehalfby_value);
        b.append(", ");
        b.append("businessunitid=");
        b.append(this.businessunitid);
        b.append(", ");
        b.append("description=");
        b.append(this.description);
        b.append(", ");
        b.append("address1_city=");
        b.append(this.address1_city);
        b.append(", ");
        b.append("address1_name=");
        b.append(this.address1_name);
        b.append(", ");
        b.append("address2_postofficebox=");
        b.append(this.address2_postofficebox);
        b.append(", ");
        b.append("address2_addressid=");
        b.append(this.address2_addressid);
        b.append(", ");
        b.append("_calendarid_value=");
        b.append(this._calendarid_value);
        b.append(", ");
        b.append("address2_telephone2=");
        b.append(this.address2_telephone2);
        b.append(", ");
        b.append("address2_postalcode=");
        b.append(this.address2_postalcode);
        b.append(", ");
        b.append("_createdby_value=");
        b.append(this._createdby_value);
        b.append(", ");
        b.append("fileasname=");
        b.append(this.fileasname);
        b.append(", ");
        b.append("_modifiedby_value=");
        b.append(this._modifiedby_value);
        b.append(", ");
        b.append("modifiedon=");
        b.append(this.modifiedon);
        b.append(", ");
        b.append("_transactioncurrencyid_value=");
        b.append(this._transactioncurrencyid_value);
        b.append(", ");
        b.append("_organizationid_value=");
        b.append(this._organizationid_value);
        b.append(", ");
        b.append("address2_latitude=");
        b.append(this.address2_latitude);
        b.append(", ");
        b.append("creditlimit=");
        b.append(this.creditlimit);
        b.append(", ");
        b.append("address1_county=");
        b.append(this.address1_county);
        b.append(", ");
        b.append("_modifiedonbehalfby_value=");
        b.append(this._modifiedonbehalfby_value);
        b.append(", ");
        b.append("address1_longitude=");
        b.append(this.address1_longitude);
        b.append(", ");
        b.append("emailaddress=");
        b.append(this.emailaddress);
        b.append(", ");
        b.append("name=");
        b.append(this.name);
        b.append(", ");
        b.append("address1_postalcode=");
        b.append(this.address1_postalcode);
        b.append(", ");
        b.append("importsequencenumber=");
        b.append(this.importsequencenumber);
        b.append(", ");
        b.append("overriddencreatedon=");
        b.append(this.overriddencreatedon);
        b.append(", ");
        b.append("address1_fax=");
        b.append(this.address1_fax);
        b.append(", ");
        b.append("address2_line1=");
        b.append(this.address2_line1);
        b.append(", ");
        b.append("address2_addresstypecode=");
        b.append(this.address2_addresstypecode);
        b.append(", ");
        b.append("versionnumber=");
        b.append(this.versionnumber);
        b.append(", ");
        b.append("utcoffset=");
        b.append(this.utcoffset);
        b.append(", ");
        b.append("costcenter=");
        b.append(this.costcenter);
        b.append(", ");
        b.append("address1_postofficebox=");
        b.append(this.address1_postofficebox);
        b.append(", ");
        b.append("address1_line2=");
        b.append(this.address1_line2);
        b.append(", ");
        b.append("address2_longitude=");
        b.append(this.address2_longitude);
        b.append(", ");
        b.append("address1_upszone=");
        b.append(this.address1_upszone);
        b.append(", ");
        b.append("address2_county=");
        b.append(this.address2_county);
        b.append(", ");
        b.append("address2_city=");
        b.append(this.address2_city);
        b.append(", ");
        b.append("address1_country=");
        b.append(this.address1_country);
        b.append(", ");
        b.append("ftpsiteurl=");
        b.append(this.ftpsiteurl);
        b.append(", ");
        b.append("address1_utcoffset=");
        b.append(this.address1_utcoffset);
        b.append(", ");
        b.append("address1_stateorprovince=");
        b.append(this.address1_stateorprovince);
        b.append(", ");
        b.append("address1_telephone3=");
        b.append(this.address1_telephone3);
        b.append(", ");
        b.append("address1_addresstypecode=");
        b.append(this.address1_addresstypecode);
        b.append(", ");
        b.append("address1_line1=");
        b.append(this.address1_line1);
        b.append(", ");
        b.append("_parentbusinessunitid_value=");
        b.append(this._parentbusinessunitid_value);
        b.append(", ");
        b.append("address1_telephone1=");
        b.append(this.address1_telephone1);
        b.append(", ");
        b.append("address2_country=");
        b.append(this.address2_country);
        b.append(", ");
        b.append("address2_telephone3=");
        b.append(this.address2_telephone3);
        b.append(", ");
        b.append("isdisabled=");
        b.append(this.isdisabled);
        b.append(", ");
        b.append("address1_latitude=");
        b.append(this.address1_latitude);
        b.append(", ");
        b.append("inheritancemask=");
        b.append(this.inheritancemask);
        b.append(", ");
        b.append("address2_telephone1=");
        b.append(this.address2_telephone1);
        b.append(", ");
        b.append("websiteurl=");
        b.append(this.websiteurl);
        b.append(", ");
        b.append("exchangerate=");
        b.append(this.exchangerate);
        b.append("]");
        b.append(",unmappedFields=");
        b.append(unmappedFields);
        b.append(",odataType=");
        b.append(odataType);
        return b.toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy