diff --git a/BusList(new).json b/BusList(new).json new file mode 100644 index 0000000..03cfd6a --- /dev/null +++ b/BusList(new).json @@ -0,0 +1,77 @@ +BusLists:{"info":"1.0$1$Ashirvad$Ranchi$Bhubaneswar$Khadgara Bus Stand$2/2 AC$4:40PM$550$Tata,Baripada,Baleshwar,Bhadrak,Panikoili,Chandil,Cuttack"} + +BusLists:{"info":"1.0$2$Dildar$Ranchi$Bhubaneswar$Khadgara Bus Stand$2/2 AC$6:40 PM$550$Chaibasa,Champua,Keonjhar,Anandopur,Panikoili"} + +BusLists:{"info":"1.0$3$Shirdi Sai$Ranchi$Bhubaneswar$Khadgara Bus Stand$2/2 AC$6:40 PM$550$Chaibasa,Champua,Keonjhar,Anandopur,Panikoili"} + +BusLists:{"info":"1.0$4$Shivam$Ranchi$Siliguri$Khadgara Bus Stand$2/2 AC$4:00 PM$800$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj"} + +BusLists:{"info":"1.0$5$Shivam$Ranchi$Siliguri$Khadgara Bus Stand$2/1 AC$5:00 PM$800$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj"} + +BusLists:{"info":"1.0$6$Jagdamba$Ranchi$Siliguri$Khadgara Bus Stand$2/1 AC$5:45 PM$800$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj"} + +BusLists:{"info":"1.0$7$Ashirvad$Ranchi$Siliguri$Khadgara Bus Stand$2/1 AC$3:40 PM$800$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj"} + +BusLists:{"info":"1.0$8$Shivam$Ranchi$Purnia$Khadgara Bus Stand$2/2 AC$4:00 PM$600$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia"} + +BusLists:{"info":"1.0$9$Shivam$Ranchi$Purnia$Khadgara Bus Stand$2/1 AC$5:00 PM$600$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia"} + +BusLists:{"info":"1.0$10$Jagdamba$Ranchi$Purnia$Khadgara Bus Stand$2/1 AC$5:45 PM$600$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia"} + +BusLists:{"info":"1.0$11$Ashirvad$Ranchi$Purnia$Khadgara Bus Stand$2/1 AC$3:40 PM$600$Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia"} + +BusLists:{"info":"1.0$12$Kohinoor$Ranchi$Bhagalpur$Khadgara Bus Stand$2/2 AC$07:30 PM$500$Dhanbad, Bokaro, Dumka"} + +BusLists:{"info":"1.0$13$Jankirath$Ranchi$Muzzafarpur$Khadgara Bus Stand$2/2 AC$6:00 PM$500$Hazipur,Mahua,Sonbarsa,Kachhipakki,Bhagwanpur"} + +BusLists:{"info":"1.0$14$Shyamoli Volvo$Ranchi$Kolkata$Khadgara Bus Stand$2/2 AC$07:30 PM$900$Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan"} + +BusLists:{"info":"1.0$15$Royal Cruiser$Ranchi$Kolkata$Khadgara Bus Stand$2/2 AC$05:00 PM$850$Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan"} + +BusLists:{"info":"1.0$16$Rugby Super$Ranchi$Katihar$Khadgara Bus Stand$2/2 AC$04:15 PM$500$Hazaribagh,Bagodar,Jamua, Chakai, Deoghar, Banka, Amarpur, Bhagalpur, Purnia"} + +BusLists:{"info":"1.0$17$Rugby Super$Ranchi$Sahebganj$Khadgara Bus Stand$2/2 AC$9:00 PM$550$Dhanbad,Jamtada,Dumka,Kathikund, Amrapara, Barhet"} + +BusLists:{"info":"1.0$18$Janki Rath$Ranchi$Dharbhanga$Khadgara Bus Stand$2/2 NON AC$06:30 PM$500$Ramgarh,Hazaribagh,Koderma,hajipur,Jandaha,Chakla,Musrigharari,Samastipur"} + +BusLists:{"info":"1.0$19$Rugby Super$Ranchi$Sahebganj$Khadgara Bus Stand$2/2 AC$07:30 PM$450$Dhanbad,Jamtada,Dumka,Kathikund, Amrapara, Barhet"} + +BusLists:{"info":"1.0$20$Dipmala$Ranchi$Patna$Harmu$1/2 AC$09:00 PM$450$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$21$PujaRath$Ranchi$Patna$Harmu$1/2 AC$09:00 PM$450$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$22$Sadhvi Rath$Ranchi$Patna$Harmu$1/2 AC$09:20 PM$450$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$23$Shatabdi$Ranchi$Patna$Harmu$1/2 AC$09:25 PM$450$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$24$Bharat Paryatan$Ranchi$Patna$Harmu$2/2 AC$09:25 PM$500$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$25$Prithvi Vahan$Ranchi$Patna$Harmu$1/2 AC SL$09:40 PM$750$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$26$Tiwari Motors$Ranchi$Aara$Khadgara Bus Stand$1/2 AC$06:30 PM$320$Danapaur,Maner,Bihta,Koilwar"} + +BusLists:{"info":"1.0$27$Tiwari Motors$Ranchi$Aara$Khadgara Bus Stand$2/2 AC$07:00 PM$320$Aurangabad,Daudnagar,Mehandiya,Arwal"} + +BusLists:{"info":"1.0$28$Mahuli Travels$Ranchi$Patna$Khadgara Bus Stand$1/2 AC$09:30 PM$300$Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$29$Shubham Travels$Ranchi$Varanasi$Khadgara Bus Stand$2/2 AC$08:00 PM$400$Aurangabad,Dehri on Son,Sasaram,Mohania,Chandauli"} + +BusLists:{"info":"1.0$30$Anamika Bhadauni$Ranchi$BiharSarif$Harmu$1/2 AC$09:30 PM$250$Ramgarh,Hazaribagh,Naeada"} + +BusLists:{"info":"1.0$31$Panchwati$Ranchi$BiharSarif$Harmu$2/2 AC$09:30 PM$300$Ramgarh,Hazaribagh,Naeada"} + +BusLists:{"info":"1.0$32$Anamika$Ranchi$BiharSarif$Harmu$2/2 AC$09:30 PM$300$Ramgarh,Hazaribagh,Naeada"} + +BusLists:{"info":"1.0$33$Anamika Bhadauni$Ranchi$Bhaktiyarpur$Harmu$1/2 AC$09:30 PM$300$Ramgarh,Hazaribagh,Nawada,Biharsarif"} + +BusLists:{"info":"1.0$34$Pawan Rath$Ranchi$Chaibasa$Govt Bus STand$2/2 AC$06:00 AM,07:00 AM,08:00 AM,11:00 AM, 02:00 PM, 03:00 PM$350$Non Stop"} + +BusLists:{"info":"1.0$35$Pawan Rath$Ranchi$daltonganj/Gharwa$Govt Bus STand$2/2 AC$05:30AM(G), 06:30 AM, 07:30 AM, 11:00 AM(G),12:40 PM(G), 02:45 PM(G), 03:30 PM(G)$250/320$Non Stop"} + +BusLists:{"info":"1.0$36$Pawan Rath$Ranchi$Koderma$Govt Bus STand$2/2 AC$02:25 PM, 04:05 PM$200$Non Stop"} + +BusLists:{"info":"1.0$37$Pawan Rath$Ranchi$Giridih$Govt Bus STand$2/2 AC$05:10AM,06:05AM, 07:05AM, 08:05AM, 09:05AM, 10:05AM, 11:15AM, 12:05PM, 01:05PM, 01:50PM, 03:05PM 03:45PM, 05:05PM$350$Non Stop"} + +BusLists:{"info":"1.0$38$Pawan Rath$Ranchi$Bokaro/Dhanbad$Govt Bus STand$2/2 AC$06:10AM, 06:30AM, 07:00AM, 07:30AM, 08:00AM, 08:30AM, 09:00AM, 09:30AM, 10:00AM, 10:30AM, 11:00AM, 11:30AM, 12:00PM, 12:30PM, 01:00PM, 01:30PM, 02:00PM, 02:30PM, 03:00PM, 03:30PM, 04:00PM, 04:30PM, 05:00PM,05:30PM, 06:00PM,06:30PM$200/250$Non Stop"} + +BusLists:{"info":"1.0$39$Pammi Travels$Ranchi$Kolkata$Khadgara Bus Stand$2/2 NON AC$07:30 PM$300$Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan"} diff --git a/BusList(old).json b/BusList(old).json new file mode 100644 index 0000000..c87468f --- /dev/null +++ b/BusList(old).json @@ -0,0 +1,513 @@ +{ + "BusLists": [ + { + "version": "1.0", + "serviceNumber": "1", + "busOperator": "Ashirvad", + "Source": "Ranchi", + "Destination": "Bhubaneswar", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "4:40 PM", + "fareSeat": "550", + "via": "Tata,Bariapda,Baleshwar,Bhadrak,Panikoili,Chandil,Cuttak" + }, + { + + "version": "1.0", + "serviceNumber": "2", + "busOperator": "Dildar", + "Source": "Ranchi", + "Destination": "Bhubaneswar", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "6:40 PM", + "fareSeat": "550", + "via": "Chaibasa,Champua,Keonjhar,Anandpur,Panikoili" + }, + { + + "version": "1.0", + "serviceNumber": "3", + "busOperator": "Shirdi Sai", + "Source": "Ranchi", + "Destination": "Bhubaneswar", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "6:40 PM", + "fareSeat": "550", + "via": "Chaibasa,Champua,Keonjhar,Anandpur,Panikoili" + }, + { + + "version": "1.0", + "serviceNumber": "4", + "busOperator": "Shivam", + "Source": "Ranchi", + "Destination": "Siliguri", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "4:00 PM", + "fareSeat": "800", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj" + }, + { + + "version": "1.0", + "serviceNumber": "5", + "busOperator": "Shivam", + "Source": "Ranchi", + "Destination": "Siliguri", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "5:00 PM", + "fareSeat": "800", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj" + }, + { + + "version": "1.0", + "serviceNumber": "6", + "busOperator": "Jagdamba", + "Source": "Ranchi", + "Destination": "Siliguri", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "5:45 PM", + "fareSeat": "800", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj" + }, + { + + "version": "1.0", + "serviceNumber": "7", + "busOperator": "Ashirvad", + "Source": "Ranchi", + "Destination": "Siliguri", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "3:40 PM", + "fareSeat": "800", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia,Kisanganj" + }, + { + + "version": "1.0", + "serviceNumber": "8", + "busOperator": "Shivam", + "Source": "Ranchi", + "Destination": "Purnia", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "4:00 PM", + "fareSeat": "600", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia" + }, + { + + "version": "1.0", + "serviceNumber": "9", + "busOperator": "Shivam", + "Source": "Ranchi", + "Destination": "Purnia", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "5:00 PM", + "fareSeat": "600", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia" + }, + { + + "version": "1.0", + "serviceNumber": "10", + "busOperator": "Jagdamba", + "Source": "Ranchi", + "Destination": "Purnia", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "5:45 PM", + "fareSeat": "600", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia" + }, + { + + "version": "1.0", + "serviceNumber": "11", + "busOperator": "Ashirvad", + "Source": "Ranchi", + "Destination": "Purnia", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/1 AC", + "deptTime": "3:40 PM", + "fareSeat": "600", + "via": "Ramgarh,Hazaribagh,Deoghar,Bhagalpur,Purnia" + }, + { + + "version": "1.0", + "serviceNumber": "12", + "busOperator": "Kohinoor", + "Source": "Ranchi", + "Destination": "Bhagalpur", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "7:30 PM", + "fareSeat": "500", + "via": "Dhanbad,Bokaro,Dumka" + }, + + { + + "version": "1.0", + "serviceNumber": "13", + "busOperator": "JankiRath", + "Source": "Ranchi", + "Destination": "Muzzafarpur", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "6:00 PM", + "fareSeat": "500", + "via": "Hazipur,Mahua,Sonbarsa,Kachhipakki,Bhagwanpur" + }, + + { + + "version": "1.0", + "serviceNumber": "14", + "busOperator": "Shyamoli Volvo", + "Source": "Ranchi", + "Destination": "Kolkata", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "7:30 PM", + "fareSeat": "900", + "via": "Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan" + }, + { + + "version": "1.0", + "serviceNumber": "15", + "busOperator": "Royal Cruiser", + "Source": "Ranchi", + "Destination": "Kolkata", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "5:00 PM", + "fareSeat": "850", + "via": "Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan" + }, + { + + "version": "1.0", + "serviceNumber": "16", + "busOperator": "Rugby Super", + "Source": "Ranchi", + "Destination": "Katihar", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "4:15 PM", + "fareSeat": "500", + "via": "Hazaribagh,Bagodar,Jamua, Chakai, Deoghar, Banka, Amarpur, Bhagalpur, Purnia" + }, + { + + "version": "1.0", + "serviceNumber": "17", + "busOperator": "Rugby Super", + "Source": "Ranchi", + "Destination": "Sahebganj", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 AC", + "deptTime": "9:00 PM", + "fareSeat": "550", + "via": "Dhanbad,Jamtada,Dumka,Kathikund, Amrapara, Barhet" + }, + { + + "version": "1.0", + "serviceNumber": "18", + "busOperator": "Rugby Super", + "Source": "Ranchi", + "Destination": "Darbhanga", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "6:30 PM", + "fareSeat": "500", + "via": "Ramgarh,Hazaribagh,Koderma,hajipur,Jandaha,Chakla,Musrigharari,Samastipur" + }, + { + + "version": "1.0", + "serviceNumber": "19", + "busOperator": "Rugby Super", + "Source": "Ranchi", + "Destination": "Sahebganj", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "7:30 PM", + "fareSeat": "450", + "via": "Dhanbad,Jamtada,Dumka,Kathikund, Amrapara, Barhet" + }, + { + + "version": "1.0", + "serviceNumber": "20", + "busOperator": "Dipmala", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "1/2 AC", + "deptTime": "9:00 PM", + "fareSeat": "450", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "21", + "busOperator": "Puja Rath", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "1/2 AC", + "deptTime": "9:00 PM", + "fareSeat": "450", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "22", + "busOperator": "Sadhiv Rath", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "1/2 AC", + "deptTime": "9:20 PM", + "fareSeat": "450", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "23", + "busOperator": "Shatabdi", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "1/2 AC", + "deptTime": "9:25 PM", + "fareSeat": "450", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "24", + "busOperator": "Bharat Paryatan", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "2/2 AC", + "deptTime": "9:25 PM", + "fareSeat": "500", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "25", + "busOperator": "Prithvi Vahan", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Harmu", + "busType": "1/2 AC SL", + "deptTime": "9:40 PM", + "fareSeat": "750", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "26", + "busOperator": "Tiwari Motors", + "Source": "Ranchi" , + "Destination": "Aara", + "departureLocation": "Khadgara Bus Stand", + "busType": "1/2 NON AC", + "deptTime": "6:30 PM", + "fareSeat": "320", + "via": "Danapaur,Maner,Bihta,Koilwar" + }, + { + + "version": "1.0", + "serviceNumber": "27", + "busOperator": "Tiwari Motors", + "Source": "Ranchi" , + "Destination": "Aara", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "7:00 PM", + "fareSeat": "320", + "via": "Aurangabad,Daudnagar,Mehandiya,Arwal" + }, + { + + "version": "1.0", + "serviceNumber": "28", + "busOperator": "Mahuli Travels", + "Source": "Ranchi" , + "Destination": "Patna", + "departureLocation": "Khadgara Bus Stand", + "busType": "1/2 NON AC", + "deptTime": "9:30 PM", + "fareSeat": "300", + "via": "Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "29", + "busOperator": "Shubham Travels", + "Source": "Ranchi" , + "Destination": "Varanasi", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "8:00 PM", + "fareSeat": "400", + "via": "Aurangabad,Dehri on Son,Sasaram,Mohania,Chandauli" + }, + { + + "version": "1.0", + "serviceNumber": "30", + "busOperator": "Anamika Bhadauni", + "Source": "Ranchi" , + "Destination": "BiharSarif", + "departureLocation": "Harmu", + "busType": "1/2 NON AC", + "deptTime": "9:30 PM", + "fareSeat": "250", + "via": "Ramgarh,Hazaribagh,Nawada" + }, + { + + "version": "1.0", + "serviceNumber": "31", + "busOperator": "Panchwati", + "Source": "Ranchi" , + "Destination": "BiharSarif", + "departureLocation": "Harmu", + "busType": "2/2 NON AC", + "deptTime": "9:30 PM", + "fareSeat": "300", + "via": "Ramgarh,Hazaribagh,Nawada" + }, + { + + "version": "1.0", + "serviceNumber": "32", + "busOperator": "Anamika", + "Source": "Ranchi" , + "Destination": "BiharSarif", + "departureLocation": "Harmu", + "busType": "2/2 AC", + "deptTime": "9:30 PM", + "fareSeat": "300", + "via": "Ramgarh,Hazaribagh,Nawada" + }, + { + + "version": "1.0", + "serviceNumber": "33", + "busOperator": "Anamika Bhadauni", + "Source": "Ranchi" , + "Destination": "Bakhtiyarpur", + "departureLocation": "Harmu", + "busType": "1/2 NON AC", + "deptTime": "9:30 PM", + "fareSeat": "300", + "via": "Ramgarh,Hazaribagh,Nawada,Biharsarif" + }, + { + + "version": "1.0", + "serviceNumber": "34", + "busOperator": "Pawanrath", + "Source": "Ranchi" , + "Destination": "Chaibasa", + "departureLocation": "Government Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "06:00 AM,07:00 AM,08:00 AM,11:00 AM, 02:00 PM, 03:00 PM", + "fareSeat": "350", + "via": "Non Stop" + }, + { + + "version": "1.0", + "serviceNumber": "35", + "busOperator": "Pawanrath", + "Source": "Ranchi" , + "Destination": "Daltonganj/Gharwa", + "departureLocation": "Government Bus Stand", + "busType": "2/2 AC", + "deptTime": "05:30AM(G), 06:30 AM, 07:30 AM, 11:00 AM(G),12:40 PM(G), 02:45 PM(G), 03:30 PM(G)", + "fareSeat": "DALTONGANJ-250, GHARWA-320", + "via": "Non Stop" + }, + { + + "version": "1.0", + "serviceNumber": "36", + "busOperator": "Pawanrath", + "Source": "Ranchi" , + "Destination": "Koderma", + "departureLocation": "Government Bus Stand", + "busType": "2/2 AC", + "deptTime": "02:25 PM, 04:05 PM", + "fareSeat": "200", + "via": "Non Stop" + }, + { + + "version": "1.0", + "serviceNumber": "37", + "busOperator": "Pawanrath", + "Source": "Ranchi" , + "Destination": "Giridih", + "departureLocation": "Government Bus Stand", + "busType": "2/2 AC", + "deptTime": "05:10AM,06:05AM, 07:05AM, 08:05AM, 09:05AM, 10:05AM, 11:15AM, 12:05PM, 01:05PM, 01:50PM, 03:05PM 03:45PM, 05:05PM ", + "fareSeat": "350", + "via": "Non Stop" + }, + { + + "version": "1.0", + "serviceNumber": "38", + "busOperator": "Pawanrath", + "Source": "Ranchi" , + "Destination": "Bokaro-Dhanbad", + "departureLocation": "Government Bus Stand", + "busType": "2/2 AC", + "deptTime": "06:10AM, 06:30AM, 07:00AM, 07:30AM, 08:00AM, 08:30AM, 09:00AM, 09:30AM, 10:00AM, 10:30AM, 11:00AM, 11:30AM, 12:00PM, 12:30PM, 01:00PM, 01:30PM, 02:00PM, 02:30PM, 03:00PM, 03:30PM, 04:00PM, 04:30PM, 05:00PM,05:30PM, 06:00PM,06:30PM", + "fareSeat": "Bokaro-200, Dhanbad- 250", + "via": "Non Stop" + }, + { + + "version": "1.0", + "serviceNumber": "39", + "busOperator": "Pammi Travels", + "Source": "Ranchi", + "Destination": "Kolkata", + "departureLocation": "Khadgara Bus Stand", + "busType": "2/2 NON AC", + "deptTime": "7:30 PM", + "fareSeat": "300", + "via": "Bokaro,Dhanbad,Aasansol,Durgapur,Burdwan" + } + + ] +} diff --git a/FloSend(live).html b/FloSend(live).html new file mode 100644 index 0000000..059bf76 --- /dev/null +++ b/FloSend(live).html @@ -0,0 +1,3563 @@ + + + + + + +

FLO

+ + + +
+ Enter receiver Address : +

Enter the FLO Data

+
+ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FloSend(test).html b/FloSend(test).html new file mode 100644 index 0000000..2242e7b --- /dev/null +++ b/FloSend(test).html @@ -0,0 +1,3564 @@ + + + + + + +

FLO

+ + + +
+ Enter receiver Address : +

Enter the FLO Data

+
+ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/Live.html b/Live.html new file mode 100644 index 0000000..64d40ac --- /dev/null +++ b/Live.html @@ -0,0 +1,18 @@ + + +Display Bus List + +

Bus Routine

+
+

+ +

+
+
+ +
+
+ + + + diff --git a/Loading.gif b/Loading.gif new file mode 100644 index 0000000..b45d1d6 Binary files /dev/null and b/Loading.gif differ diff --git a/README.md b/README.md index 963dc69..b3f0ba8 100644 --- a/README.md +++ b/README.md @@ -1 +1,27 @@ -# Flo-Bus-Project \ No newline at end of file +# Flo-Bus-Project +## Steps To Follow +1. First The contents of BusList.json files needs to be transacted to blockchain to a particular address. + +2. Inorder to send the data use flosendData.html file.Here you can decide whether server should be mainnet or testnet.You just need to change the link of server variable. + +3. Open flosend.html file using browser.Enter the sender address and receiver address.(Both can be same) + +4. At one time send only 1 bus-route information in ascending order of serviceNumber with prefix(BusLists:) inserted with each bus-route, using https://www.browserling.com/tools/remove-all-whitespace(For removing whitespaces that can lead to out of bound error if not removed).Flo Wallet to be running is required while sending. + +Sample flodata will be: + +BusLists:{"info":"1$2$3$4$5$6$7$8$9$10"} + +You can get valid sender address using below terminal command: + + flo-cli -testnet listunspent + + Inorder to get private address for corresponding Sender address use the below terminal cmd: + + flo-cli -testnet dumpprivkey "sender address" + +5. Send it and wait for transaction to be confirmed.Send all routes to the same address(that is receiving address will be same for all routes). + +6. Change displayAddress variable in app.js file to the reciever address. + +7. Now you can open the html file using browser.The information will be displayed/retrieved from blockchain according to higher version no of bus-routes. diff --git a/Test.html b/Test.html new file mode 100644 index 0000000..63c1e58 --- /dev/null +++ b/Test.html @@ -0,0 +1,21 @@ + + +Display Bus List + +

Bus Routine

+
+

+ +

+
+
+
+ +
+
+
+ + + + + diff --git a/livenet.js b/livenet.js new file mode 100644 index 0000000..50548ef --- /dev/null +++ b/livenet.js @@ -0,0 +1,157 @@ +//Global Variables +var displayAddress = "oKv51tWdZWJyMJfVCtQoTo2FxrPicPtWbe"; //reading floData from transactions made to this address +var id_contents_map = new Map(); //to store contents of bus route with repsect to its service type number +var jsonParam = ['SNo.','Bus Operator','Source','Destination','Dept Location','Bus Type','Dept Time','Fare Seat','Via']; + +function convertStringToInt(string){ + return parseInt(string,10); +} + +function convertStringToFloat(string){ + return parseFloat(string); +} + +function compareVersion(newVer,oldVer){ + if(newVer > oldVer) + return true; + return false; +} + +let ajax = function (uri, params, req_type, callback) { + let url = `https://livenet.flocha.in/${uri}`; + //console.log(url); + + let response = {}; + var http = new XMLHttpRequest(); + http.open(req_type, url, true); + + http.onreadystatechange = function () { //Call a function when the state changes. + if (http.readyState == 4 && http.status == 200) { + response.success = true; + response.data = http.responseText; + callback(response.data); + } else { + //response.data = http.responseText; + response.success = false; + } + } + + http.send(params); + } + +function getTotalPages(address){ + //Getting an array of transactions + var uri = "api/txs/?address="+address; + try { + let res = ajax(uri, null, 'GET', function (response) { + try { + let data = JSON.parse(response); + //console.log(data["txs"]); + getTransactionsByPage(address,convertStringToInt(data["pagesTotal"]+'')); + } catch (error) { + console.log(error); + } + }); + } catch (error) { + console.error(error); + } +} + +function getTransactionsByPage(address,totalPages){ + var cnt = 0; + for(var i=0;i"; + } + var rowNum = 1; + for(var i=1;i>=1;i++){ + if(id_contents_map.get(i) === undefined) + break; + //var tableElement = document.getElementById("busTable"); + var row = tableElement.insertRow(rowNum); + for(var j=1;j<10;j++){ + var cell = row.insertCell(j-1); + cell.innerHTML = "
"+id_contents_map.get(i)[j]+"
"; + } + rowNum++; + } + document.getElementById('Loading').remove(); +} + +getTotalPages(displayAddress); \ No newline at end of file diff --git a/testnet.js b/testnet.js new file mode 100644 index 0000000..ec315e8 --- /dev/null +++ b/testnet.js @@ -0,0 +1,157 @@ +//Global Variables +var displayAddress = "oKv51tWdZWJyMJfVCtQoTo2FxrPicPtWbe"; //reading floData from transactions made to this address +var id_contents_map = new Map(); //to store contents of bus route with repsect to its service type number +var jsonParam = ['SNo.','Bus Operator','Source','Destination','Dept Location','Bus Type','Dept Time','Fare Seat','Via']; + +function convertStringToInt(string){ + return parseInt(string,10); +} + +function convertStringToFloat(string){ + return parseFloat(string); +} + +function compareVersion(newVer,oldVer){ + if(newVer > oldVer) + return true; + return false; +} + +let ajax = function (uri, params, req_type, callback) { + let url = `https://testnet.flocha.in/${uri}`; + //console.log(url); + + let response = {}; + var http = new XMLHttpRequest(); + http.open(req_type, url, true); + + http.onreadystatechange = function () { //Call a function when the state changes. + if (http.readyState == 4 && http.status == 200) { + response.success = true; + response.data = http.responseText; + callback(response.data); + } else { + //response.data = http.responseText; + response.success = false; + } + } + + http.send(params); + } + +function getTotalPages(address){ + //Getting an array of transactions + var uri = "api/txs/?address="+address; + try { + let res = ajax(uri, null, 'GET', function (response) { + try { + let data = JSON.parse(response); + //console.log(data["txs"]); + getTransactionsByPage(address,convertStringToInt(data["pagesTotal"]+'')); + } catch (error) { + console.log(error); + } + }); + } catch (error) { + console.error(error); + } +} + +function getTransactionsByPage(address,totalPages){ + var cnt = 0; + for(var i=0;i"; + } + var rowNum = 1; + for(var i=1;i>=1;i++){ + if(id_contents_map.get(i) === undefined) + break; + //var tableElement = document.getElementById("busTable"); + var row = tableElement.insertRow(rowNum); + for(var j=1;j<10;j++){ + var cell = row.insertCell(j-1); + cell.innerHTML = '
'+id_contents_map.get(i)[j]+"
"; + } + rowNum++; + } + document.getElementById('Loading').remove(); +} + +getTotalPages(displayAddress); \ No newline at end of file