private void createPlanTickets() throws Exception
	{
		
		//Here we are creating plan tickets those can be free sold between any two stations. 
		int maxStopSeq = this._route.getStops().size() - 1;
		
		StopRangeGroup fullRangeGroup = new StopRangeGroup();
		StopRange stopRange = new StopRange();
		stopRange.start = 0;
		stopRange.end = maxStopSeq;
		 
		fullRangeGroup.setRange(stopRange);
		this._stopRangeGroups.add(fullRangeGroup);
		
		for(OperatingSeat seat : Queries.query(this._train.getCars()).selectMany(new Selector<Car, Iterable<OperatingSeat>>(){

			@Override
			public Iterable<OperatingSeat> select(Car item) {
				return item.getSeats();
			}}))
		{
		     PlanTicket pt = new PlanTicket();
		     pt.setStartStop(0);
		     pt.setEndStop(maxStopSeq);
		     pt.setId(UUID.randomUUID());
		     pt.setOrginalId(pt.getId());
		     pt.setSeat(seat);
		     
		     SalableRange range = pt.getSalableRange();
		     range.setDepartureStart(0);
		     range.setDepartureEnd(maxStopSeq);
		     range.setDestinationStart(0);
		     range.setDestinationEnd(maxStopSeq);
		     
		     fullRangeGroup.getTickets().add(pt);
		     pt.setGroup(fullRangeGroup);
		     
		    // break;
		    
		}
	}