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

au.org.consumerdatastandards.holder.model.telco.TelcoBillingAccountTransaction Maven / Gradle / Ivy

The newest version!
package au.org.consumerdatastandards.holder.model.telco;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * TelcoBillingAccountTransaction
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen",
        date = "2022-12-23T11:32:06.900+11:00[Australia/Sydney]")
public class TelcoBillingAccountTransaction {
    @JsonProperty("serviceIds")
    private String serviceIds;

    @JsonProperty("invoiceNumber")
    private String invoiceNumber;

    @JsonProperty("description")
    private String description;

    @JsonProperty("startDate")
    private String startDate;

    @JsonProperty("endDate")
    private String endDate;

    @JsonProperty("amount")
    private String amount;

    @JsonProperty("adjustments")
    @Valid
    private List adjustments = null;

    public TelcoBillingAccountTransaction serviceIds(String serviceIds) {
        this.serviceIds = serviceIds;
        return this;
    }

    /**
     * Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements
     *
     * @return serviceIds
     */
    @ApiModelProperty(value = "Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements")


    public String getServiceIds() {
        return serviceIds;
    }

    public void setServiceIds(String serviceIds) {
        this.serviceIds = serviceIds;
    }

    public TelcoBillingAccountTransaction invoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
        return this;
    }

    /**
     * The number of the invoice in which this transaction is included if it has been issued
     *
     * @return invoiceNumber
     */
    @ApiModelProperty(value = "The number of the invoice in which this transaction is included if it has been issued")


    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public TelcoBillingAccountTransaction description(String description) {
        this.description = description;
        return this;
    }

    /**
     * Optional description of the transaction that can be used for display purposes
     *
     * @return description
     */
    @ApiModelProperty(value = "Optional description of the transaction that can be used for display purposes")


    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public TelcoBillingAccountTransaction startDate(String startDate) {
        this.startDate = startDate;
        return this;
    }

    /**
     * Date and time when the usage period starts
     *
     * @return startDate
     */
    @ApiModelProperty(required = true,
            value = "Date and time when the usage period starts")
    @NotNull


    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public TelcoBillingAccountTransaction endDate(String endDate) {
        this.endDate = endDate;
        return this;
    }

    /**
     * Date and time when the usage period ends
     *
     * @return endDate
     */
    @ApiModelProperty(required = true,
            value = "Date and time when the usage period ends")
    @NotNull


    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public TelcoBillingAccountTransaction amount(String amount) {
        this.amount = amount;
        return this;
    }

    /**
     * The amount charged or credited for this transaction prior to any adjustments being applied.  A negative value indicates a credit
     *
     * @return amount
     */
    @ApiModelProperty(required = true,
            value = "The amount charged or credited for this transaction prior to any adjustments being applied.  A negative value indicates a credit")
    @NotNull


    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public TelcoBillingAccountTransaction adjustments(List adjustments) {
        this.adjustments = adjustments;
        return this;
    }

    public TelcoBillingAccountTransaction addAdjustmentsItem(TelcoBillingAccountTransactionAdjustments adjustmentsItem) {
        if (this.adjustments == null) {
            this.adjustments = new ArrayList<>();
        }
        this.adjustments.add(adjustmentsItem);
        return this;
    }

    /**
     * Optional array of adjustments arising for this transaction
     *
     * @return adjustments
     */
    @ApiModelProperty(value = "Optional array of adjustments arising for this transaction")

    @Valid

    public List getAdjustments() {
        return adjustments;
    }

    public void setAdjustments(List adjustments) {
        this.adjustments = adjustments;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        TelcoBillingAccountTransaction telcoBillingAccountTransaction = (TelcoBillingAccountTransaction) o;
        return Objects.equals(this.serviceIds, telcoBillingAccountTransaction.serviceIds) &&
                Objects.equals(this.invoiceNumber, telcoBillingAccountTransaction.invoiceNumber) &&
                Objects.equals(this.description, telcoBillingAccountTransaction.description) &&
                Objects.equals(this.startDate, telcoBillingAccountTransaction.startDate) &&
                Objects.equals(this.endDate, telcoBillingAccountTransaction.endDate) &&
                Objects.equals(this.amount, telcoBillingAccountTransaction.amount) &&
                Objects.equals(this.adjustments, telcoBillingAccountTransaction.adjustments);
    }

    @Override
    public int hashCode() {
        return Objects.hash(serviceIds, invoiceNumber, description, startDate, endDate, amount, adjustments);
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class TelcoBillingAccountTransaction {\n");

        sb.append("    serviceIds: ").append(toIndentedString(serviceIds)).append("\n");
        sb.append("    invoiceNumber: ").append(toIndentedString(invoiceNumber)).append("\n");
        sb.append("    description: ").append(toIndentedString(description)).append("\n");
        sb.append("    startDate: ").append(toIndentedString(startDate)).append("\n");
        sb.append("    endDate: ").append(toIndentedString(endDate)).append("\n");
        sb.append("    amount: ").append(toIndentedString(amount)).append("\n");
        sb.append("    adjustments: ").append(toIndentedString(adjustments)).append("\n");
        sb.append("}");
        return sb.toString();
    }

    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
        if (o == null) {
            return "null";
        }
        return o.toString().replace("\n", "\n    ");
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy