summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/uic/barcode/ticket/api/test/testtickets/ReservationTestTicketV1.java
blob: 840b584e2b70524c871dba53068da8c6c73ff187 (plain) (tree)








































































































































































































                                                                                                           
package org.uic.barcode.ticket.api.test.testtickets;

import org.uic.barcode.ticket.api.asn.omv1.CardReferenceType;
import org.uic.barcode.ticket.api.asn.omv1.ControlData;
import org.uic.barcode.ticket.api.asn.omv1.CustomerStatusType;
import org.uic.barcode.ticket.api.asn.omv1.DocumentData;
import org.uic.barcode.ticket.api.asn.omv1.ExtensionData;
import org.uic.barcode.ticket.api.asn.omv1.IssuingData;
import org.uic.barcode.ticket.api.asn.omv1.PassengerType;
import org.uic.barcode.ticket.api.asn.omv1.PlacesType;
import org.uic.barcode.ticket.api.asn.omv1.PriceTypeType;
import org.uic.barcode.ticket.api.asn.omv1.ReservationData;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfCardReferenceType;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfCarrierNum;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfCustomerStatusType;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfDocumentData;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfExtensionData;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfTariffType;
import org.uic.barcode.ticket.api.asn.omv1.SequenceOfTravelerType;
import org.uic.barcode.ticket.api.asn.omv1.ServiceType;
import org.uic.barcode.ticket.api.asn.omv1.TariffType;
import org.uic.barcode.ticket.api.asn.omv1.TicketDetailData;
import org.uic.barcode.ticket.api.asn.omv1.TravelClassType;
import org.uic.barcode.ticket.api.asn.omv1.TravelerData;
import org.uic.barcode.ticket.api.asn.omv1.TravelerType;
import org.uic.barcode.ticket.api.asn.omv1.UicRailTicketData;


	public class ReservationTestTicketV1 {
		
		public static UicRailTicketData getUicTestTicket() {
			UicRailTicketData ticket = new UicRailTicketData();
	    	populateTicket(ticket);
			return ticket;
		}
		

	    private static void populateTicket(UicRailTicketData ticket) {
	    	
	    	ticket.setControlDetail(new ControlData());
	    	populate(ticket.getControlDetail());
	    	
	     	
	    	ticket.setIssuingDetail(new IssuingData());
	    	populateIssuingData(ticket.getIssuingDetail());
	    	
	    	TravelerData td = new TravelerData();
	    	populateTravelerData(td);
	    	ticket.setTravelerDetail(td);    	
	    	
	    	SequenceOfDocumentData ds = new SequenceOfDocumentData();

	    	
	    	//OpenTicket
	    	DocumentData do1 = new DocumentData();
	    	addReservation(do1);
	    	ds.add(do1);   	    	
	    	   	
	    	
	    	ticket.setTransportDocument(ds);
	    	
	       	SequenceOfExtensionData ed = new SequenceOfExtensionData();
	    	populateExtensionSequence(ed);
	    	ticket.setExtension(ed);
	    	
		}
	    
	    
	    
		private static void addReservation(DocumentData dd) {
		
	    	TicketDetailData tdd = new TicketDetailData();
	    	ReservationData ticket = new ReservationData();  
	    	ticket.setTrainNum(123L);
	    	ticket.setService(ServiceType.seat);
	    	ticket.setReferenceNum(810123456789L);
	    	ticket.setServiceBrandAbrUTF8("XYZ");
	    	ticket.setServiceBrandNameUTF8("special train");
	    	SequenceOfCarrierNum carriers = new SequenceOfCarrierNum();
	    	carriers.add(1080L);
	    	carriers.add(1181L);
	    	ticket.setCarrierNum(carriers);
	    	ticket.setFromStationNum(8100001L);
	    	ticket.setToStationNum(800001L);
	    	ticket.setNumberOfSupplements(1L);
	    	ticket.setServiceBrand(100L);
	    	ticket.setPrice(12345L);
	    	ticket.setPriceType(PriceTypeType.supplement);
	    	
	    	ticket.setPlaces(getPlaces());
	    	ticket.setTariff(getTariffs());

	    	ticket.setInfoText("reservation");
	    	ticket.setClassCode(TravelClassType.first);
	    	ticket.setDepartureDate(10L);
	    	ticket.setDepartureTime(0L);
	    	ticket.setArrivalDate(10L);
	    	ticket.setArrivalTime(1439L);
	    	tdd.setReservation(ticket);
	    	dd.setTicket(tdd);
		}


    
	    private static SequenceOfTariffType getTariffs() {
	    	SequenceOfTariffType tariffs = new SequenceOfTariffType();
	    	
	    	TariffType tariff = new TariffType();
	    	tariff.setNumberOfPassengers(1L);
	    	tariff.setRestrictedToCountryOfResidence(false);
	    	tariff.setPassengerType(PassengerType.adult);
	    	tariff.setTariffIdNum(72L);
	    	tariff.setTariffDesc("Full Fare Adult");
	    	tariffs.add(tariff);
	    	TariffType tariff2 = new TariffType();
	    	tariff2.setRestrictedToCountryOfResidence(false);
	    	tariff2.setNumberOfPassengers(2L);
	    	tariff2.setPassengerType(PassengerType.child);
	    	tariff2.setTariffIdNum(73L);
	    	tariff2.setTariffDesc("Full Fare Child");
	    	tariffs.add(tariff2);	    	
			return tariffs;
		}


		private static PlacesType getPlaces() {
			PlacesType places = new PlacesType();
			places.setPlaceDescription("11-13");
			places.setCoach("12");
			return places;
		}


		private static void populateTravelerData(TravelerData td) {
	    	td.setGroupName("myGroup");
	    	SequenceOfTravelerType trs = new SequenceOfTravelerType();
	    	TravelerType tr = new TravelerType();
	    	tr.setIdCard("12345");
	    	tr.setFirstName("John");
	    	tr.setSecondName("Dow");
	    	tr.setTicketHolder(true);
	    	SequenceOfCustomerStatusType ts = new SequenceOfCustomerStatusType();  	
	    	CustomerStatusType cst = new CustomerStatusType();
	    	cst.setCustomerStatusDescr("senior");
	    	ts.add(cst);
	    	tr.setStatus(ts);
	    	trs.add(tr);
	    	td.setTraveler(trs);
		}

	    private static void populateIssuingData(IssuingData issuingDetail) {
	    	issuingDetail.setIssuingYear(2018L);
	    	issuingDetail.setIssuingDay(1L);
	    	issuingDetail.setIssuerPNR("issuerTestPNR");
	    	issuingDetail.setSpecimen(true);
	    	issuingDetail.setSecurePaperTicket(false);
	    	issuingDetail.setActivated(true);
	    	issuingDetail.setIssuedOnLine(12L);	
		}


	    private static void populateExtensionSequence(SequenceOfExtensionData ed) {
	       	ExtensionData ed1 = new ExtensionData();
	    	ed1.setExtensionId("1");
	    	byte[] ba1 = { (byte) 0x82, (byte) 0xDA };
	    	ed1.setExtensionData(ba1); 	
	    	ExtensionData ed2 = new ExtensionData();    	
	    	ed2.setExtensionId("2");
	    	byte[] ba2 = { (byte) 0x83, (byte) 0xDA };
	    	ed2.setExtensionData(ba2);     	
	    	ed.add(ed1);
	    	ed.add(ed2);
		}

		private static void populate(ControlData controlDetail) {
			controlDetail.infoText = "cd";
			controlDetail.setAgeCheckRequired(false);
			controlDetail.setIdentificationByIdCard(false);
			controlDetail.setIdentificationByPassportId(false);
			controlDetail.setOnlineValidationRequired(false);
			controlDetail.setPassportValidationRequired(false);
			controlDetail.setReductionCardCheckRequired(false);
			controlDetail.setIdentificationByCardReference(new SequenceOfCardReferenceType());
			controlDetail.getIdentificationByCardReference().add(populateCardRefrence());
		}

		
		/*
		 {
		   trailingCardIdNum 100
		 }
		 */
		private static CardReferenceType populateCardRefrence() {
			CardReferenceType cr = new CardReferenceType();
			cr.setTrailingCardIdNum(100L);
			return cr;
		}



	}