| WebService-Recruit-Jalan documentation | Contained in the WebService-Recruit-Jalan distribution. |
WebService::Recruit::Jalan::HotelSearchLite - Jalan Web Service "HotelSearchLite" API
use WebService::Recruit::Jalan;
my $jalan = WebService::Recruit::Jalan->new();
$jalan->key( 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' );
my $param = {
s_area => '162612',
h_type => '1',
};
my $res = $jalan->HotelSearchLite( %$param );
die "error!" if $res->is_error;
my $list = $res->root->Hotel;
foreach my $hotel ( @$list ) {
print "HotelID: ", $hotel->HotelID, "\n";
print "HotelName: ", $hotel->HotelName, "\n";
}
This module is a interface for the HotelSearchLite API.
It accepts following query parameters to make an request.
my $param = {
pref => '130000',
l_area => '136200',
s_area => '136202',
h_id => '324994',
h_type => '0',
o_pool => '0',
parking => '0',
pub_bath => '0',
onsen => '0',
prv_bath => '0',
v_bath => '0',
sauna => '0',
jacz => '0',
mssg => '0',
r_ski => '0',
r_brd => '0',
pet => '0',
esthe => '0',
p_pong => '0',
limo => '0',
late_out => '0',
pict_size => '3', # pictM
order => '0',
start => '1',
count => '10',
};
$jalan above is an instance of WebService::Recruit::Jalan.
This returns the root element of the response.
my $root = $res->root;
You can retrieve each element by the following accessors.
$root->NumberOfResults;
$root->DisplayPerPage;
$root->DisplayFrom;
$root->APIVersion;
$root->Hotel;
$root->Hotel->[0]->HotelID;
$root->Hotel->[0]->HotelName;
$root->Hotel->[0]->PostCode;
$root->Hotel->[0]->HotelAddress;
$root->Hotel->[0]->Area;
$root->Hotel->[0]->Area->Region;
$root->Hotel->[0]->Area->Prefecture;
$root->Hotel->[0]->Area->LargeArea;
$root->Hotel->[0]->Area->SmallArea;
$root->Hotel->[0]->HotelType;
$root->Hotel->[0]->HotelDetailURL;
$root->Hotel->[0]->HotelCatchCopy;
$root->Hotel->[0]->HotelCaption;
$root->Hotel->[0]->PictureURL;
$root->Hotel->[0]->PictureCaption;
$root->Hotel->[0]->AccessInformation;
$root->Hotel->[0]->AccessInformation->[0]->name;
$root->Hotel->[0]->CheckInTime;
$root->Hotel->[0]->CheckOutTime;
$root->Hotel->[0]->X;
$root->Hotel->[0]->Y;
$root->Hotel->[0]->LastUpdate;
$root->Hotel->[0]->LastUpdate->day;
$root->Hotel->[0]->LastUpdate->month;
$root->Hotel->[0]->LastUpdate->year;
This returns the raw response context itself.
print $res->xml, "\n";
This returns the response status code.
my $code = $res->code; # usually "200" when succeeded
This returns true value when the response has an error.
die 'error!' if $res->is_error;
This returns a Data::Page instance.
my $page = $res->page();
print "Total: ", $page->total_entries, "\n";
print "Page: ", $page->current_page, "\n";
print "Last: ", $page->last_page, "\n";
This returns a Data::Pageset instance.
my $pageset = $res->pageset( 'fixed' );
$pageset->pages_per_set($pages_per_set);
my $set = $pageset->pages_in_set();
foreach my $num ( @$set ) {
print "$num ";
}
This returns a hash to specify the page for the next request.
my %hash = $res->page_param( $page->next_page );
This returns a query string to specify the page for the next request.
my $query = $res->page_query( $page->prev_page );
Yusuke Kawasaki http://www.kawa.net/
This module is unofficial and released by the author in person.
Copyright (c) 2007 Yusuke Kawasaki. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| WebService-Recruit-Jalan documentation | Contained in the WebService-Recruit-Jalan distribution. |
package WebService::Recruit::Jalan::HotelSearchLite; use strict; use vars qw( $VERSION ); use base qw( WebService::Recruit::Jalan::Base ); $VERSION = '0.10'; sub url { 'http://jws.jalan.net/APILite/HotelSearch/V1/'; } sub query_class { 'WebService::Recruit::Jalan::HotelSearchLite::Query'; } sub query_fields { [qw( key pref l_area s_area h_id h_type o_pool parking pub_bath onsen prv_bath v_bath sauna jacz mssg r_ski r_brd pet esthe p_pong limo late_out pict_size order start count )]; } sub notnull_param { [qw( key )]; } sub elem_class { 'WebService::Recruit::Jalan::HotelSearchLite::Element'; } sub root_elem { 'Results'; } sub elem_fields { { Results => [qw( NumberOfResults DisplayPerPage DisplayFrom APIVersion Hotel )], Hotel => [qw( HotelID HotelName PostCode HotelAddress Area HotelType HotelDetailURL HotelCatchCopy HotelCaption PictureURL PictureCaption AccessInformation CheckInTime CheckOutTime X Y LastUpdate )], Area => [qw( Region Prefecture LargeArea SmallArea )], AccessInformation => [qw( name _text )], LastUpdate => [qw( day month year )], }; } sub force_array { [qw( Hotel AccessInformation )]; } # __PACKAGE__->mk_query_accessors(); @WebService::Recruit::Jalan::HotelSearchLite::Query::ISA = qw( Class::Accessor::Fast ); WebService::Recruit::Jalan::HotelSearchLite::Query->mk_accessors( @{query_fields()} ); # __PACKAGE__->mk_elem_accessors(); @WebService::Recruit::Jalan::HotelSearchLite::Element::ISA = qw( Class::Accessor::Children::Fast ); WebService::Recruit::Jalan::HotelSearchLite::Element->mk_ro_accessors( root_elem() ); WebService::Recruit::Jalan::HotelSearchLite::Element->mk_child_ro_accessors( %{elem_fields()} );
1;