/* * Amazon Shipping API * * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments. * * OpenAPI spec version: v2 * * Generated by: https://github.com/swagger-api/swagger-codegen.git */ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Runtime.Serialization; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace Amazon.SellingPartnerApiSDK.AmazonSpApiSDK.Models.ShippingV2 { /// /// Access point details /// [DataContract] public partial class AccessPoint : IEquatable, IValidatableObject { /// /// Gets or Sets Type /// [DataMember(Name="type", EmitDefaultValue=false)] public AccessPointType? Type { get; set; } /// /// Defines AssistanceType /// [JsonConverter(typeof(StringEnumConverter))] public enum AssistanceTypeEnum { /// /// Enum STAFFASSISTED for value: STAFF_ASSISTED /// [EnumMember(Value = "STAFF_ASSISTED")] STAFFASSISTED = 1, /// /// Enum SELFASSISTED for value: SELF_ASSISTED /// [EnumMember(Value = "SELF_ASSISTED")] SELFASSISTED = 2 } /// /// Gets or Sets AssistanceType /// [DataMember(Name="assistanceType", EmitDefaultValue=false)] public AssistanceTypeEnum? AssistanceType { get; set; } /// /// Initializes a new instance of the class. /// /// accessPointId. /// Name of entity (store/hub etc) where this access point is located. /// Timezone of access point. /// type. /// accessibilityAttributes. /// address. /// exceptionOperatingHours. /// assistanceType. /// The score of access point, based on proximity to postal code and sorting preference. This can be used to sort access point results on shipper's end.. /// standardOperatingHours. public AccessPoint(AccessPointId accessPointId = default(AccessPointId), string name = default(string), string timezone = default(string), AccessPointType? type = default(AccessPointType?), AccessibilityAttributes accessibilityAttributes = default(AccessibilityAttributes), Address address = default(Address), List exceptionOperatingHours = default(List), AssistanceTypeEnum? assistanceType = default(AssistanceTypeEnum?), string score = default(string), DayOfWeekTimeMap standardOperatingHours = default(DayOfWeekTimeMap)) { this.AccessPointId = accessPointId; this.Name = name; this.Timezone = timezone; this.Type = type; this.AccessibilityAttributes = accessibilityAttributes; this.Address = address; this.ExceptionOperatingHours = exceptionOperatingHours; this.AssistanceType = assistanceType; this.Score = score; this.StandardOperatingHours = standardOperatingHours; } /// /// Gets or Sets AccessPointId /// [DataMember(Name="accessPointId", EmitDefaultValue=false)] public AccessPointId AccessPointId { get; set; } /// /// Name of entity (store/hub etc) where this access point is located /// /// Name of entity (store/hub etc) where this access point is located [DataMember(Name="name", EmitDefaultValue=false)] public string Name { get; set; } /// /// Timezone of access point /// /// Timezone of access point [DataMember(Name="timezone", EmitDefaultValue=false)] public string Timezone { get; set; } /// /// Gets or Sets AccessibilityAttributes /// [DataMember(Name="accessibilityAttributes", EmitDefaultValue=false)] public AccessibilityAttributes AccessibilityAttributes { get; set; } /// /// Gets or Sets Address /// [DataMember(Name="address", EmitDefaultValue=false)] public Address Address { get; set; } /// /// Gets or Sets ExceptionOperatingHours /// [DataMember(Name="exceptionOperatingHours", EmitDefaultValue=false)] public List ExceptionOperatingHours { get; set; } /// /// The score of access point, based on proximity to postal code and sorting preference. This can be used to sort access point results on shipper's end. /// /// The score of access point, based on proximity to postal code and sorting preference. This can be used to sort access point results on shipper's end. [DataMember(Name="score", EmitDefaultValue=false)] public string Score { get; set; } /// /// Gets or Sets StandardOperatingHours /// [DataMember(Name="standardOperatingHours", EmitDefaultValue=false)] public DayOfWeekTimeMap StandardOperatingHours { get; set; } /// /// Returns the string presentation of the object /// /// String presentation of the object public override string ToString() { var sb = new StringBuilder(); sb.Append("class AccessPoint {\n"); sb.Append(" AccessPointId: ").Append(AccessPointId).Append("\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" Timezone: ").Append(Timezone).Append("\n"); sb.Append(" Type: ").Append(Type).Append("\n"); sb.Append(" AccessibilityAttributes: ").Append(AccessibilityAttributes).Append("\n"); sb.Append(" Address: ").Append(Address).Append("\n"); sb.Append(" ExceptionOperatingHours: ").Append(ExceptionOperatingHours).Append("\n"); sb.Append(" AssistanceType: ").Append(AssistanceType).Append("\n"); sb.Append(" Score: ").Append(Score).Append("\n"); sb.Append(" StandardOperatingHours: ").Append(StandardOperatingHours).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Returns the JSON string presentation of the object /// /// JSON string presentation of the object public virtual string ToJson() { return JsonConvert.SerializeObject(this, Formatting.Indented); } /// /// Returns true if objects are equal /// /// Object to be compared /// Boolean public override bool Equals(object input) { return this.Equals(input as AccessPoint); } /// /// Returns true if AccessPoint instances are equal /// /// Instance of AccessPoint to be compared /// Boolean public bool Equals(AccessPoint input) { if (input == null) return false; return ( this.AccessPointId == input.AccessPointId || (this.AccessPointId != null && this.AccessPointId.Equals(input.AccessPointId)) ) && ( this.Name == input.Name || (this.Name != null && this.Name.Equals(input.Name)) ) && ( this.Timezone == input.Timezone || (this.Timezone != null && this.Timezone.Equals(input.Timezone)) ) && ( this.Type == input.Type || (this.Type != null && this.Type.Equals(input.Type)) ) && ( this.AccessibilityAttributes == input.AccessibilityAttributes || (this.AccessibilityAttributes != null && this.AccessibilityAttributes.Equals(input.AccessibilityAttributes)) ) && ( this.Address == input.Address || (this.Address != null && this.Address.Equals(input.Address)) ) && ( this.ExceptionOperatingHours == input.ExceptionOperatingHours || this.ExceptionOperatingHours != null && this.ExceptionOperatingHours.SequenceEqual(input.ExceptionOperatingHours) ) && ( this.AssistanceType == input.AssistanceType || (this.AssistanceType != null && this.AssistanceType.Equals(input.AssistanceType)) ) && ( this.Score == input.Score || (this.Score != null && this.Score.Equals(input.Score)) ) && ( this.StandardOperatingHours == input.StandardOperatingHours || (this.StandardOperatingHours != null && this.StandardOperatingHours.Equals(input.StandardOperatingHours)) ); } /// /// Gets the hash code /// /// Hash code public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hashCode = 41; if (this.AccessPointId != null) hashCode = hashCode * 59 + this.AccessPointId.GetHashCode(); if (this.Name != null) hashCode = hashCode * 59 + this.Name.GetHashCode(); if (this.Timezone != null) hashCode = hashCode * 59 + this.Timezone.GetHashCode(); if (this.Type != null) hashCode = hashCode * 59 + this.Type.GetHashCode(); if (this.AccessibilityAttributes != null) hashCode = hashCode * 59 + this.AccessibilityAttributes.GetHashCode(); if (this.Address != null) hashCode = hashCode * 59 + this.Address.GetHashCode(); if (this.ExceptionOperatingHours != null) hashCode = hashCode * 59 + this.ExceptionOperatingHours.GetHashCode(); if (this.AssistanceType != null) hashCode = hashCode * 59 + this.AssistanceType.GetHashCode(); if (this.Score != null) hashCode = hashCode * 59 + this.Score.GetHashCode(); if (this.StandardOperatingHours != null) hashCode = hashCode * 59 + this.StandardOperatingHours.GetHashCode(); return hashCode; } } /// /// To validate all properties of the instance /// /// Validation context /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { yield break; } } }