diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 24e64c3..c1ae590 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -1854,6 +1854,8 @@ sub bikes_available(){ #new rental_description $return->{$id}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}"; $return->{$id}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}"; + $return->{$id}->{rental_description}->{reserve_timerange} = "15 Min"; + $return->{$id}->{rental_description}->{reserve_timerange} = "30 Min" if($record->{$id}->{int11} == 3);#sig timeout time $return->{$id}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"] if($record->{$id}->{int25}); $return->{$id}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262 || $auth->{c_id} == 38883)); diff --git a/copri4/main/src/Mod/APIshareeio.pm b/copri4/main/src/Mod/APIshareeio.pm index a0543b3..8ce5801 100644 --- a/copri4/main/src/Mod/APIshareeio.pm +++ b/copri4/main/src/Mod/APIshareeio.pm @@ -150,10 +150,7 @@ sub sig_booking_update { if($response_in->{event} eq "RENTAL_START"){ $response->{response_state} = "OK: methode not implemented, because rental will be started by App and success returned by sig-connector"; } - elsif($response_in->{event} eq "SMARTLOCK"){ - $response->{response_state} = "OK: methode not implemented, because unlocking will be started by App and success returned by sig-connector"; - } - elsif($response_in->{event} eq "RENTAL_END" || $response_in->{event} eq "RESERVATION_END"){ + elsif($response_in->{event} eq "RENTAL_END" || $response_in->{event} eq "RESERVATION_END" || ($response_in->{event} eq "SMARTLOCK" && $response_in->{data}->{lockStatus} eq "unlocked")){ if($rentalId){ my $ctpos = {}; @@ -181,16 +178,19 @@ sub sig_booking_update { distance => $distance, }; - #addition state in context to get state=returned for miniquery - $sig_book->{station_lock_state} = "3" if($response_in->{event} eq "RENTAL_END"); - my $authraw = { c_id => "" }; $authraw->{c_id} = $ctpos->{ca_id} if($ctpos->{ca_id}); $q->param(-name=>'bike',-value=>"$ctpos->{ct_name}") if($ctpos->{ct_name}); $q->param(-name=>'state',-value=>"canceled") if($response_in->{event} eq "RESERVATION_END"); + + if($response_in->{event} eq "SMARTLOCK" && $response_in->{data}->{lockStatus} eq "unlocked"){ + $q->param(-name=>'lock_state',-value=>"unlocked"); + } if($response_in->{event} eq "RENTAL_END"){ $q->param(-name=>'state',-value=>"available"); $q->param(-name=>'lock_state',-value=>"locked"); + #addition state in context to get state=returned for miniquery + $sig_book->{station_lock_state} = "3"; } ($rows, $booking_values) = $apif->booking_update($q,$varenv,$authraw,$aowner,$sig_book) if($authraw->{c_id}); diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 1cdea92..28ea552 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -203,6 +203,7 @@ sub sig_available { #new rental_description $response_out->{$bike}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}"; $response_out->{$bike}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}"; + $response_out->{$bike}->{rental_description}->{reserve_timerange} = "30 Min"; $response_out->{$bike}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"];#TODO if($resp->{gps_tracker_id}); $response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262)); diff --git a/copri4/main/src/Mod/Pricing.pm b/copri4/main/src/Mod/Pricing.pm index dc64a2f..60236d7 100755 --- a/copri4/main/src/Mod/Pricing.pm +++ b/copri4/main/src/Mod/Pricing.pm @@ -319,6 +319,8 @@ sub fetch_rentalfeed { #new rental_description $return->{rental_description}->{name} = "$ctpos->{txt04}"; $return->{rental_description}->{id} = "$ctpos->{int09}"; + $return->{rental_description}->{reserve_timerange} = "15 Min"; + $return->{rental_description}->{reserve_timerange} = "30 Min" if($ctpos->{int11} == 3); foreach my $td (sort keys (%$td_template)){ my $time_unit = "";