Skip to content

UpdateCustomerRequest

Properties

  • defaultWarehouseId (['string', 'null'])Optional. Warehouse identifier.
  • id (string)Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.
  • xmlSenderId (['string', 'null'])Optional. XML sender identifier.
  • billToCodeRequiredOnOrder (boolean)Required. Indicates whether BillTo code is required on order placement.
  • billingEntities (['array', 'null'])

    • Items (object)Cannot contain additional properties.

      • id (string, required)Required. Billing entity identifier.
      • xmlSenderId (['string', 'null'])Optional. XmlSenderId override.
      • addresses (array, required)Required. Addresses linked to this billing entity.

        • Items (object)Cannot contain additional properties.

          • xmlSenderId (['string', 'null'])Optional. XmlSenderId.
          • code (string, required)Required. Code for the address.
      • isDefaultForCustomer (boolean, required)Required. Indicates whether this is the default billing entity for the customer.

  • brokerScopes (array)

    • Items (string)
  • contactAddress (['object', 'null'])Cannot contain additional properties.

    • address1 (string, required)Required if contactAddress is present. Address line 1. Must not be empty.
    • address2 (['string', 'null'])Optional. Address line 2.
    • address3 (['string', 'null'])Optional. Address line 3.
    • city (string, required)Required if contactAddress is present. City. Must not be empty.
    • company (['string', 'null'])Optional. Company name.
    • country (string, required)Required if contactAddress is present. Country. Must not be empty.
    • faxNumber (['string', 'null'])Optional. Fax number.
    • name (['string', 'null'])Optional. Contact name.
    • phoneNumber (['string', 'null'])Optional. Phone number.
    • postalCode (string, required)Required if contactAddress is present. Postal code. Must not be empty.
    • stateProvince (string, required)Required. State or province.
  • contactEmailAddress (['string', 'null'], format: email)Optional. Contact email address. Must be a valid email if provided.

  • doValidateOrderPrice (boolean)Required. Indicates whether order price validation is performed on order placement for the Sales Order.
  • emailNotificationSubscriptions (['array', 'null'])Optional. List of email notification subscriptions.

    • Items (object)Cannot contain additional properties.

      • emailNotificationTemplateId (string, required)Required. Email notification template identifier.
      • emailAddresses (array, required)Required. Array of email addresses.

        • Items (string)
  • invoiceEmailAddress (['string', 'null'], format: email)Optional. Invoice email address. Must be a valid email if provided.

  • name (string)Required. Customer name.
  • offerRevisionDelimiter (['string', 'null'])
  • parent (['object', 'null'])Cannot contain additional properties.

    • id (['string', 'null'], required)Required. Must not be the same as the customer id. Must exist in the system.
    • name (['string', 'null'])
  • partner (['string', 'null'])Optional. Partner name.

  • paymentEmailAddress (['string', 'null'], format: email)Optional. Payment email address. Must be a valid email if provided.
  • phoneNumber (['string', 'null'])Optional. Phone number.
  • productionFileLocation (['string', 'null'])Optional. Production file location.
  • salesRep (['string', 'null'])Optional. Sales representative.
  • shipMethodMappings (['array', 'null'])Optional. Ship method mappings for the customer.

    • Items (object)Cannot contain additional properties.

      • ratesProviderShipMethodId (string, required)Required. Rates provider ship method identifier.
      • sourceSystemShipMethodId (string, required)Required. Source system ship method identifier.
      • fulfillmentSystemShipMethods (array, required)Required. Fulfillment system ship methods.

        • Items (object)Cannot contain additional properties.

          • fulfillmentSystemId (integer, format: int64, required)Required. Fulfillment system identifier.
          • fulfillmentSystemShipMethodId (string, required)Required. Fulfillment system ship method identifier.
      • trackingUrl (['string', 'null'])Optional. Tracking URL.

  • sourceSystems (['array', 'null'])Optional. Source systems for the customer.

    • Items (object)Cannot contain additional properties.

      • id (integer, format: int64, required)Required. Source system identifier.
      • sourceSystemCustomerId (string)This is an automatically generated field added by middleware. It is considered read-only.
  • subsidiary (['string', 'null'])Optional. Subsidiary name.

  • updateDateTimeUtc (['string', 'null'])Optional. Update date/time in UTC. Must not be in the future if provided.
  • website (['string', 'null'])Optional. Website URL.

Quicktype Command

quicktype \
    --framework SystemTextJson  \
    --lang cs  \
    --number-type double  \
    --src-lang schema  \
    --no-check-required  \
    --density dense  \
    --features complete  \
    --namespace OtpSchema.Api.CustomerBroker.UpdateCustomerRequest  \
    --src .working/build/internal/json-schema-for-cs/UpdateCustomerRequest.json -o .working/build/internal/csharp/OtpSchema/Api/CustomerBroker/UpdateCustomerRequest.cs
UpdateCustomerRequest
// <auto-generated />
//
// To parse this JSON data, add NuGet 'System.Text.Json' then do:
//
//    using OtpSchema.Api.CustomerBroker.UpdateCustomerRequest;
//
//    var updateCustomerRequest = UpdateCustomerRequest.FromJson(jsonString);
#nullable enable
#pragma warning disable CS8618
#pragma warning disable CS8601
#pragma warning disable CS8603

namespace OtpSchema.Api.CustomerBroker.UpdateCustomerRequest
{
    using System;
    using System.Collections.Generic;

    using System.Text.Json;
    using System.Text.Json.Serialization;
    using System.Globalization;
    using J = System.Text.Json.Serialization.JsonPropertyNameAttribute;
    using N = System.Text.Json.Serialization.JsonIgnoreCondition;

    public partial class UpdateCustomerRequest
    {
        [J("billingEntities")]                                                           public BillingEntity[] BillingEntities { get; set; }                               
        [J("billToCodeRequiredOnOrder")]                                                 public bool BillToCodeRequiredOnOrder { get; set; }                                 // Required. Indicates whether BillTo code is required on order placement.
        [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)][J("brokerScopes")] public string[] BrokerScopes { get; set; }                                         
        [J("contactAddress")]                                                            public ContactAddress ContactAddress { get; set; }                                 
        [J("contactEmailAddress")]                                                       public string ContactEmailAddress { get; set; }                                     // Optional. Contact email address. Must be a valid email if provided.
        [J("defaultWarehouseId")]                                                        public string DefaultWarehouseId { get; set; }                                      // Optional. Warehouse identifier.
        [J("doValidateOrderPrice")]                                                      public bool DoValidateOrderPrice { get; set; }                                      // Required. Indicates whether order price validation is performed on order placement for; the Sales Order.
        [J("emailNotificationSubscriptions")]                                            public EmailNotificationSubscription[] EmailNotificationSubscriptions { get; set; } // Optional. List of email notification subscriptions.
        [J("id")][JsonConverter(typeof(MinMaxLengthCheckConverter))]                     public string Id { get; set; }                                                      // Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be; the same as parent.id.
        [J("invoiceEmailAddress")]                                                       public string InvoiceEmailAddress { get; set; }                                     // Optional. Invoice email address. Must be a valid email if provided.
        [J("name")][JsonConverter(typeof(MinMaxLengthCheckConverter))]                   public string Name { get; set; }                                                    // Required. Customer name.
        [J("offerRevisionDelimiter")]                                                    public string OfferRevisionDelimiter { get; set; }                                 
        [J("parent")]                                                                    public Parent Parent { get; set; }                                                 
        [J("partner")]                                                                   public string Partner { get; set; }                                                 // Optional. Partner name.
        [J("paymentEmailAddress")]                                                       public string PaymentEmailAddress { get; set; }                                     // Optional. Payment email address. Must be a valid email if provided.
        [J("phoneNumber")]                                                               public string PhoneNumber { get; set; }                                             // Optional. Phone number.
        [J("productionFileLocation")]                                                    public string ProductionFileLocation { get; set; }                                  // Optional. Production file location.
        [J("salesRep")]                                                                  public string SalesRep { get; set; }                                                // Optional. Sales representative.
        [J("shipMethodMappings")]                                                        public ShipMethodMapping[] ShipMethodMappings { get; set; }                         // Optional. Ship method mappings for the customer.
        [J("sourceSystems")]                                                             public SourceSystem[] SourceSystems { get; set; }                                   // Optional. Source systems for the customer.
        [J("subsidiary")]                                                                public string Subsidiary { get; set; }                                              // Optional. Subsidiary name.
        [J("updateDateTimeUtc")]                                                         public string UpdateDateTimeUtc { get; set; }                                       // Optional. Update date/time in UTC. Must not be in the future if provided.
        [J("website")]                                                                   public string Website { get; set; }                                                 // Optional. Website URL.
        [J("xmlSenderId")]                                                               public string XmlSenderId { get; set; }                                             // Optional. XML sender identifier.
    }

    public partial class BillingEntity
    {
        [J("addresses")]            public Address[] Addresses { get; set; }       // Required. Addresses linked to this billing entity.
        [J("id")]                   public string Id { get; set; }                 // Required. Billing entity identifier.
        [J("isDefaultForCustomer")] public bool IsDefaultForCustomer { get; set; } // Required. Indicates whether this is the default billing entity for the customer.
        [J("xmlSenderId")]          public string XmlSenderId { get; set; }        // Optional. XmlSenderId override.
    }

    public partial class Address
    {
        [J("code")]        public string Code { get; set; }        // Required. Code for the address.
        [J("xmlSenderId")] public string XmlSenderId { get; set; } // Optional. XmlSenderId.
    }

    public partial class ContactAddress
    {
        [J("address1")]      public string Address1 { get; set; }      // Required if contactAddress is present. Address line 1. Must not be empty.
        [J("address2")]      public string Address2 { get; set; }      // Optional. Address line 2.
        [J("address3")]      public string Address3 { get; set; }      // Optional. Address line 3.
        [J("city")]          public string City { get; set; }          // Required if contactAddress is present. City. Must not be empty.
        [J("company")]       public string Company { get; set; }       // Optional. Company name.
        [J("country")]       public string Country { get; set; }       // Required if contactAddress is present. Country. Must not be empty.
        [J("faxNumber")]     public string FaxNumber { get; set; }     // Optional. Fax number.
        [J("name")]          public string Name { get; set; }          // Optional. Contact name.
        [J("phoneNumber")]   public string PhoneNumber { get; set; }   // Optional. Phone number.
        [J("postalCode")]    public string PostalCode { get; set; }    // Required if contactAddress is present. Postal code. Must not be empty.
        [J("stateProvince")] public string StateProvince { get; set; } // Required. State or province.
    }

    public partial class EmailNotificationSubscription
    {
        [J("emailAddresses")]              public string[] EmailAddresses { get; set; }            // Required. Array of email addresses.
        [J("emailNotificationTemplateId")] public string EmailNotificationTemplateId { get; set; } // Required. Email notification template identifier.
    }

    public partial class Parent
    {
        [J("id")]   public string Id { get; set; }   // Required. Must not be the same as the customer id. Must exist in the system.
        [J("name")] public string Name { get; set; }
    }

    public partial class ShipMethodMapping
    {
        [J("fulfillmentSystemShipMethods")] public FulfillmentSystemShipMethod[] FulfillmentSystemShipMethods { get; set; } // Required. Fulfillment system ship methods.
        [J("ratesProviderShipMethodId")]    public string RatesProviderShipMethodId { get; set; }                           // Required. Rates provider ship method identifier.
        [J("sourceSystemShipMethodId")]     public string SourceSystemShipMethodId { get; set; }                            // Required. Source system ship method identifier.
        [J("trackingUrl")]                  public string TrackingUrl { get; set; }                                         // Optional. Tracking URL.
    }

    public partial class FulfillmentSystemShipMethod
    {
        [J("fulfillmentSystemId")]           public long FulfillmentSystemId { get; set; }             // Required. Fulfillment system identifier.
        [J("fulfillmentSystemShipMethodId")] public string FulfillmentSystemShipMethodId { get; set; } // Required. Fulfillment system ship method identifier.
    }

    public partial class SourceSystem
    {
        [J("id")]                                                                                  public long Id { get; set; }                       // Required. Source system identifier.
        [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)][J("sourceSystemCustomerId")] public string SourceSystemCustomerId { get; set; } // This is an automatically generated field added by middleware.  It is considered read-only
    }

    public partial class UpdateCustomerRequest
    {
        public static UpdateCustomerRequest FromJson(string json) => JsonSerializer.Deserialize<UpdateCustomerRequest>(json, OtpSchema.Api.CustomerBroker.UpdateCustomerRequest.Converter.Settings);
    }

    public static class Serialize
    {
        public static string ToJson(this UpdateCustomerRequest self) => JsonSerializer.Serialize(self, OtpSchema.Api.CustomerBroker.UpdateCustomerRequest.Converter.Settings);
    }

    internal static class Converter
    {
        public static readonly JsonSerializerOptions Settings = new(JsonSerializerDefaults.General)
        {
            Converters =
            {
                new DateOnlyConverter(),
                new TimeOnlyConverter(),
                IsoDateTimeOffsetConverter.Singleton
            },
        };
    }

    internal class MinMaxLengthCheckConverter : JsonConverter<string>
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            var value = reader.GetString();
            if (value != null && value.Length >= 1)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
        {
            if (value != null && value.Length >= 1)
            {
                JsonSerializer.Serialize(writer, value, options);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter Singleton = new MinMaxLengthCheckConverter();
    }

    public class DateOnlyConverter : JsonConverter<DateOnly>
    {
        private readonly string serializationFormat;
        public DateOnlyConverter() : this(null) { }

        public DateOnlyConverter(string? serializationFormat)
        {
                this.serializationFormat = serializationFormat ?? "yyyy-MM-dd";
        }

        public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
                var value = reader.GetString();
                return DateOnly.Parse(value!);
        }

        public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
                => writer.WriteStringValue(value.ToString(serializationFormat));
    }

    public class TimeOnlyConverter : JsonConverter<TimeOnly>
    {
        private readonly string serializationFormat;

        public TimeOnlyConverter() : this(null) { }

        public TimeOnlyConverter(string? serializationFormat)
        {
                this.serializationFormat = serializationFormat ?? "HH:mm:ss.fff";
        }

        public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
                var value = reader.GetString();
                return TimeOnly.Parse(value!);
        }

        public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
                => writer.WriteStringValue(value.ToString(serializationFormat));
    }

    internal class IsoDateTimeOffsetConverter : JsonConverter<DateTimeOffset>
    {
        public override bool CanConvert(Type t) => t == typeof(DateTimeOffset);

        private const string DefaultDateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK";

        private DateTimeStyles _dateTimeStyles = DateTimeStyles.RoundtripKind;
        private string? _dateTimeFormat;
        private CultureInfo? _culture;

        public DateTimeStyles DateTimeStyles
        {
                get => _dateTimeStyles;
                set => _dateTimeStyles = value;
        }

        public string? DateTimeFormat
        {
                get => _dateTimeFormat ?? string.Empty;
                set => _dateTimeFormat = (string.IsNullOrEmpty(value)) ? null : value;
        }

        public CultureInfo Culture
        {
                get => _culture ?? CultureInfo.CurrentCulture;
                set => _culture = value;
        }

        public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
        {
                string text;


                if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                        || (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                {
                        value = value.ToUniversalTime();
                }

                text = value.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);

                writer.WriteStringValue(text);
        }

        public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
                string? dateText = reader.GetString();

                if (string.IsNullOrEmpty(dateText) == false)
                {
                        if (!string.IsNullOrEmpty(_dateTimeFormat))
                        {
                                return DateTimeOffset.ParseExact(dateText, _dateTimeFormat, Culture, _dateTimeStyles);
                        }
                        else
                        {
                                return DateTimeOffset.Parse(dateText, Culture, _dateTimeStyles);
                        }
                }
                else
                {
                        return default(DateTimeOffset);
                }
        }


        public static readonly IsoDateTimeOffsetConverter Singleton = new IsoDateTimeOffsetConverter();
    }
}
#pragma warning restore CS8618
#pragma warning restore CS8601
#pragma warning restore CS8603

UpdateCustomerRequest
{
  "$schema": "http://json-schema.org/draft-07/schema#", 
  "$id": "UpdateCustomerRequest.json", 
  "type": "object", 
  "additionalProperties": false, 
  "properties": {
    "defaultWarehouseId": { "description": "Optional. Warehouse identifier.", "type": ["string", "null"] }, 
    "id": {
      "description": "Required. Unique customer identifier. Must not be empty. Must exist for update. Cannot be the same as parent.id.", 
      "type": "string", 
      "minLength": 1
    }, 
    "xmlSenderId": {
      "description": "Optional. XML sender identifier.", 
      "type": ["string", "null"]
    }, 
    "billToCodeRequiredOnOrder": {
      "description": "Required. Indicates whether BillTo code is required on order placement.", 
      "type": "boolean"
    }, 
    "billingEntities": {
      "type": ["array", "null"], 
      "items": {
        "type": "object", 
        "additionalProperties": false, 
        "properties": {
          "id": {"description": "Required. Billing entity identifier.", "type": "string"}, 
          "xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] }, 
          "addresses": {
            "description": "Required. Addresses linked to this billing entity.", 
            "type": "array", 
            "items": {
              "type": "object", 
              "additionalProperties": false, 
              "properties": {
                "xmlSenderId": { "description": "Optional. XmlSenderId."         , "type": ["string", "null"] }, 
                "code"       : { "description": "Required. Code for the address.", "type": "string"           }
              }, 
              "required": ["code"]
            }
          }, 
          "isDefaultForCustomer": {
            "description": "Required. Indicates whether this is the default billing entity for the customer.", 
            "type": "boolean"
          }
        }, 
        "required": ["id", "isDefaultForCustomer", "addresses"]
      }
    }, 
    "brokerScopes": { "type": "array", "items": {"type": "string"} }, 
    "contactAddress": {
      "type": ["object", "null"], 
      "additionalProperties": false, 
      "properties": {
        "address1": {
          "description": "Required if contactAddress is present. Address line 1. Must not be empty.", 
          "type": "string"
        }, 
        "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] }, 
        "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] }, 
        "city": {
          "description": "Required if contactAddress is present. City. Must not be empty.", 
          "type": "string"
        }, 
        "company": { "description": "Optional. Company name.", "type": ["string", "null"] }, 
        "country": {
          "description": "Required if contactAddress is present. Country. Must not be empty.", 
          "type": "string"
        }, 
        "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] }, 
        "name": { "description": "Optional. Contact name.", "type": ["string", "null"] }, 
        "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] }, 
        "postalCode": {
          "description": "Required if contactAddress is present. Postal code. Must not be empty.", 
          "type": "string"
        }, 
        "stateProvince": {"description": "Required. State or province.", "type": "string"}
      }, 
      "required": ["address1", "city", "country", "postalCode", "stateProvince"]
    }, 
    "contactEmailAddress": {
      "description": "Optional. Contact email address. Must be a valid email if provided.", 
      "type": ["string", "null"], 
      "format": "email"
    }, 
    "doValidateOrderPrice": {
      "description": "Required. Indicates whether order price validation is performed on order placement for the Sales Order.", 
      "type": "boolean"
    }, 
    "emailNotificationSubscriptions": {
      "description": "Optional. List of email notification subscriptions.", 
      "type": ["array", "null"], 
      "items": {
        "type": "object", 
        "additionalProperties": false, 
        "properties": {
          "emailNotificationTemplateId": {
            "description": "Required. Email notification template identifier.", 
            "type": "string"
          }, 
          "emailAddresses": {
            "description": "Required. Array of email addresses.", 
            "type": "array", 
            "items": {"type": "string"}
          }
        }, 
        "required": ["emailNotificationTemplateId", "emailAddresses"]
      }
    }, 
    "invoiceEmailAddress": {
      "description": "Optional. Invoice email address. Must be a valid email if provided.", 
      "type": ["string", "null"], 
      "format": "email"
    }, 
    "name": {"description": "Required. Customer name.", "type": "string", "minLength": 1}, 
    "offerRevisionDelimiter": { "type": ["string", "null"] }, 
    "parent": {
      "type": ["object", "null"], 
      "additionalProperties": false, 
      "properties": {
        "id": {
          "description": "Required. Must not be the same as the customer id. Must exist in the system.", 
          "type": ["string", "null"]
        }, 
        "name": { "type": ["string", "null"] }
      }, 
      "required": ["id"]
    }, 
    "partner": { "description": "Optional. Partner name.", "type": ["string", "null"] }, 
    "paymentEmailAddress": {
      "description": "Optional. Payment email address. Must be a valid email if provided.", 
      "type": ["string", "null"], 
      "format": "email"
    }, 
    "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] }, 
    "productionFileLocation": {
      "description": "Optional. Production file location.", 
      "type": ["string", "null"]
    }, 
    "salesRep": { "description": "Optional. Sales representative.", "type": ["string", "null"] }, 
    "shipMethodMappings": {
      "description": "Optional. Ship method mappings for the customer.", 
      "type": ["array", "null"], 
      "items": {
        "type": "object", 
        "additionalProperties": false, 
        "properties": {
          "ratesProviderShipMethodId": {
            "description": "Required. Rates provider ship method identifier.", 
            "type": "string"
          }, 
          "sourceSystemShipMethodId": {
            "description": "Required. Source system ship method identifier.", 
            "type": "string"
          }, 
          "fulfillmentSystemShipMethods": {
            "description": "Required. Fulfillment system ship methods.", 
            "type": "array", 
            "items": {
              "type": "object", 
              "additionalProperties": false, 
              "properties": {
                "fulfillmentSystemId": {
                  "description": "Required. Fulfillment system identifier.", 
                  "type": "integer", 
                  "format": "int64"
                }, 
                "fulfillmentSystemShipMethodId": {
                  "description": "Required. Fulfillment system ship method identifier.", 
                  "type": "string"
                }
              }, 
              "required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
            }
          }, 
          "trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
        }, 
        "required": [
          "fulfillmentSystemShipMethods", "ratesProviderShipMethodId", 
          "sourceSystemShipMethodId"
        ]
      }
    }, 
    "sourceSystems": {
      "description": "Optional. Source systems for the customer.", 
      "type": ["array", "null"], 
      "items": {
        "type": "object", 
        "additionalProperties": false, 
        "properties": {
          "id": {
            "description": "Required. Source system identifier.", 
            "type": "integer", 
            "format": "int64"
          }, 
          "sourceSystemCustomerId": {
            "description": "This is an automatically generated field added by middleware.  It is considered read-only", 
            "type": "string", 
            "readonly": true
          }
        }, 
        "required": ["id"]
      }
    }, 
    "subsidiary": { "description": "Optional. Subsidiary name.", "type": ["string", "null"] }, 
    "updateDateTimeUtc": {
      "description": "Optional. Update date/time in UTC. Must not be in the future if provided.", 
      "type": ["string", "null"]
    }, 
    "website": { "description": "Optional. Website URL.", "type": ["string", "null"] }
  }, 
  "required": ["id", "name", "doValidateOrderPrice", "billToCodeRequiredOnOrder"]
}