The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WebService::Recruit::Jalan::HotelSearchLite - Jalan Web Service "HotelSearchLite" API

SYNOPSIS

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";
}

DESCRIPTION

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.

METHODS

root

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;

xml

This returns the raw response context itself.

print $res->xml, "\n";

code

This returns the response status code.

my $code = $res->code; # usually "200" when succeeded

is_error

This returns true value when the response has an error.

die 'error!' if $res->is_error;

page

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";

pageset

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 ";
}

page_param

This returns a hash to specify the page for the next request.

my %hash = $res->page_param( $page->next_page );

page_query

This returns a query string to specify the page for the next request.

my $query = $res->page_query( $page->prev_page );

SEE ALSO

WebService::Recruit::Jalan

AUTHOR

Yusuke Kawasaki http://www.kawa.net/

This module is unofficial and released by the author in person.

COPYRIGHT AND LICENSE

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.