// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.edgeorder.models;

import com.azure.core.annotation.Immutable;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

/** Reverse shipment details. */
@Immutable
public final class ReverseShippingDetails {
    @JsonIgnore private final ClientLogger logger = new ClientLogger(ReverseShippingDetails.class);

    /*
     * SAS key to download the reverse shipment label of the package.
     */
    @JsonProperty(value = "sasKeyForLabel", access = JsonProperty.Access.WRITE_ONLY)
    private String sasKeyForLabel;

    /*
     * Name of the carrier.
     */
    @JsonProperty(value = "carrierName", access = JsonProperty.Access.WRITE_ONLY)
    private String carrierName;

    /*
     * Carrier Name for display purpose. Not to be used for any processing.
     */
    @JsonProperty(value = "carrierDisplayName", access = JsonProperty.Access.WRITE_ONLY)
    private String carrierDisplayName;

    /*
     * TrackingId of the package
     */
    @JsonProperty(value = "trackingId", access = JsonProperty.Access.WRITE_ONLY)
    private String trackingId;

    /*
     * TrackingUrl of the package.
     */
    @JsonProperty(value = "trackingUrl", access = JsonProperty.Access.WRITE_ONLY)
    private String trackingUrl;

    /**
     * Get the sasKeyForLabel property: SAS key to download the reverse shipment label of the package.
     *
     * @return the sasKeyForLabel value.
     */
    public String sasKeyForLabel() {
        return this.sasKeyForLabel;
    }

    /**
     * Get the carrierName property: Name of the carrier.
     *
     * @return the carrierName value.
     */
    public String carrierName() {
        return this.carrierName;
    }

    /**
     * Get the carrierDisplayName property: Carrier Name for display purpose. Not to be used for any processing.
     *
     * @return the carrierDisplayName value.
     */
    public String carrierDisplayName() {
        return this.carrierDisplayName;
    }

    /**
     * Get the trackingId property: TrackingId of the package.
     *
     * @return the trackingId value.
     */
    public String trackingId() {
        return this.trackingId;
    }

    /**
     * Get the trackingUrl property: TrackingUrl of the package.
     *
     * @return the trackingUrl value.
     */
    public String trackingUrl() {
        return this.trackingUrl;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}
