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

com.intuit.payment.data.Lodging Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2019 Intuit
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * 	http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *******************************************************************************/
package com.intuit.payment.data;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * @author dderose
 *
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class Lodging extends Entity {

	private static final long serialVersionUID = 1L;
	
	private String folioID = null;
	private String chargeType = null;
	private Date checkInDate = null;
	private Date checkOutDate = null;
	private String lengthOfStay = null; 
	private BigDecimal roomRate = null;
	private String[] extraCharges = null;
	private String specialProgram = null;
	private BigDecimal totalAuthAmount = null;


	public Lodging() {
	}

	private Lodging(Builder builder) {
		this.folioID = builder.folioID;
		this.chargeType = builder.chargeType;
		this.checkInDate = builder.checkInDate;
		this.checkOutDate = builder.checkOutDate;
		this.lengthOfStay = builder.lengthOfStay;
		this.roomRate = builder.roomRate;
		this.extraCharges = builder.extraCharges;
		this.specialProgram = builder.specialProgram;
		this.totalAuthAmount = builder.totalAuthAmount;
	}

	public String getFolioID() {
		return folioID;
	}

	public void setFolioID(String folioID) {
		this.folioID = folioID;
	}

	public String getChargeType() {
		return chargeType;
	}

	public void setChargeType(String chargeType) {
		this.chargeType = chargeType;
	}

	public Date getCheckInDate() {
		return checkInDate;
	}

	public void setCheckInDate(Date checkInDate) {
		this.checkInDate = checkInDate;
	}

	public Date getCheckOutDate() {
		return checkOutDate;
	}

	public void setCheckOutDate(Date checkOutDate) {
		this.checkOutDate = checkOutDate;
	}

	public String getLengthOfStay() {
		return lengthOfStay;
	}

	public void setLengthOfStay(String lengthOfStay) {
		this.lengthOfStay = lengthOfStay;
	}

	public BigDecimal getRoomRate() {
		return roomRate;
	}

	public void setRoomRate(BigDecimal roomRate) {
		this.roomRate = roomRate;
	}

	public String[] getExtraCharges() {
		return extraCharges;
	}

	public void setExtraCharges(String[] extraCharges) {
		this.extraCharges = extraCharges;
	}

	public String getSpecialProgram() {
		return specialProgram;
	}

	public void setSpecialProgram(String specialProgram) {
		this.specialProgram = specialProgram;
	}

	public BigDecimal getTotalAuthAmount() {
		return totalAuthAmount;
	}

	public void setTotalAuthAmount(BigDecimal totalAuthAmount) {
		this.totalAuthAmount = totalAuthAmount;
	}

	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}

	/**
	 * Builder class for PaymentContext
	 * 
	 * @author dderose
	 *
	 */
	public static class Builder {

		private String folioID = null;
		private String chargeType = null;
		private Date checkInDate = null;
		private Date checkOutDate = null;
		private String lengthOfStay = null; 
		private BigDecimal roomRate = null;
		private String[] extraCharges = null;
		private String specialProgram = null;
		private BigDecimal totalAuthAmount = null;

		public Builder() {
		}

		public Builder folioID(String folioID) {
			this.folioID = folioID;
			return this;
		}

		public Builder chargeType(String chargeType) {
			this.chargeType = chargeType;
			return this;
		}

		public Builder checkInDate(Date checkInDate) {
			this.checkInDate = checkInDate;
			return this;
		}

		public Builder checkOutDate(Date checkOutDate) {
			this.checkOutDate = checkOutDate;
			return this;
		}

		public Builder lengthOfStay(String lengthOfStay) {
			this.lengthOfStay = lengthOfStay;
			return this;
		}
		
		public Builder roomRate(BigDecimal roomRate) {
			this.roomRate = roomRate;
			return this;
		}
		
		public Builder extraCharges(String[] extraCharges) {
			this.extraCharges = extraCharges;
			return this;
		}
		
		public Builder specialProgram(String specialProgram) {
			this.specialProgram = specialProgram;
			return this;
		}
		
		public Builder totalAuthAmount(BigDecimal totalAuthAmount) {
			this.totalAuthAmount = totalAuthAmount;
			return this;
		}

		public Lodging build() {
			return new Lodging(this);
		}

	}

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy