<?php
// This file was auto-generated
return [
//    'version' => '',
    'metadata' =>
    [
//        'apiVersion' => '',
//        'endpointPrefix' => 'order',
        'protocol' => 'json',
//        'serviceFullName' => 'order',
//        'serviceId' => 'order',
    ],
    'operations' => [
        'PayOrder' => [
            'name' => 'PayOrder',
            'http' => [
                'method' => 'POST',
                'requestUri' => '/v2/regions/{regionId}/order/{orderNumber}:pay',
            ],
            'input' => [ 'shape' => 'PayOrderRequestShape', ],
            'output' => [ 'shape' => 'PayOrderResponseShape', ],
        ],
        'QueryOrders' => [
            'name' => 'QueryOrders',
            'http' => [
                'method' => 'POST',
                'requestUri' => '/v2/regions/{regionId}/orders',
            ],
            'input' => [ 'shape' => 'QueryOrdersRequestShape', ],
            'output' => [ 'shape' => 'QueryOrdersResponseShape', ],
        ],
        'QueryOrder' => [
            'name' => 'QueryOrder',
            'http' => [
                'method' => 'GET',
                'requestUri' => '/v2/regions/{regionId}/order/{orderNumber}',
            ],
            'input' => [ 'shape' => 'QueryOrderRequestShape', ],
            'output' => [ 'shape' => 'QueryOrderResponseShape', ],
        ],
    ],
    'shapes' => [
        'QueryOrderResultShape' => [
            'type' => 'structure',
            'members' => [
                'data' =>  [ 'shape' => 'OrderDetailResponseObject', ],
            ],
        ],
        'PayOrderRequestShape' => [
            'type' => 'structure',
            'members' => [
                'autoPay' => [ 'type' => 'boolean', 'locationName' => 'autoPay', ],
                'regionId' => [ 'type' => 'string', 'locationName' => 'regionId', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
            ],
        ],
        'QueryOrderResponseShape' => [
            'type' => 'structure',
            'members' => [
                'result' =>  [ 'shape' => 'QueryOrderResultShape', ],
            ],
        ],
        'ExtraInfo' => [
            'type' => 'structure',
            'members' => [
                'name' => [ 'type' => 'string', 'locationName' => 'name', ],
                'value' => [ 'type' => 'string', 'locationName' => 'value', ],
            ],
        ],
        'ListOrderRequest' => [
            'type' => 'structure',
            'members' => [
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'chargeMode' => [ 'type' => 'string', 'locationName' => 'chargeMode', ],
                'startTime' => [ 'type' => 'long', 'locationName' => 'startTime', ],
                'endTime' => [ 'type' => 'long', 'locationName' => 'endTime', ],
                'orderType' => [ 'type' => 'string', 'locationName' => 'orderType', ],
                'pageNumber' => [ 'type' => 'integer', 'locationName' => 'pageNumber', ],
                'pageSize' => [ 'type' => 'integer', 'locationName' => 'pageSize', ],
                'payType' => [ 'type' => 'string', 'locationName' => 'payType', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'status' => [ 'type' => 'string', 'locationName' => 'status', ],
            ],
        ],
        'OrderResponseObject' => [
            'type' => 'structure',
            'members' => [
                'actualFee' => [ 'type' => 'decimal', 'locationName' => 'actualFee', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'appName' => [ 'type' => 'string', 'locationName' => 'appName', ],
                'chargeMode' => [ 'type' => 'string', 'locationName' => 'chargeMode', ],
                'createTime' => [ 'type' => 'string', 'locationName' => 'createTime', ],
                'discountFee' => [ 'type' => 'decimal', 'locationName' => 'discountFee', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'orderType' => [ 'type' => 'string', 'locationName' => 'orderType', ],
                'payTime' => [ 'type' => 'string', 'locationName' => 'payTime', ],
                'payType' => [ 'type' => 'string', 'locationName' => 'payType', ],
                'paymentNumber' => [ 'type' => 'string', 'locationName' => 'paymentNumber', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'selfSupportType' => [ 'type' => 'string', 'locationName' => 'selfSupportType', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'status' => [ 'type' => 'string', 'locationName' => 'status', ],
                'totalFee' => [ 'type' => 'decimal', 'locationName' => 'totalFee', ],
            ],
        ],
        'OrderDetailResponseObject' => [
            'type' => 'structure',
            'members' => [
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'appName' => [ 'type' => 'string', 'locationName' => 'appName', ],
                'balancePay' => [ 'type' => 'decimal', 'locationName' => 'balancePay', ],
                'discountFee' => [ 'type' => 'decimal', 'locationName' => 'discountFee', ],
                'refundFee' => [ 'type' => 'decimal', 'locationName' => 'refundFee', ],
                'favorableFee' => [ 'type' => 'decimal', 'locationName' => 'favorableFee', ],
                'totalFee' => [ 'type' => 'decimal', 'locationName' => 'totalFee', ],
                'moneyPay' => [ 'type' => 'decimal', 'locationName' => 'moneyPay', ],
                'actualFee' => [ 'type' => 'decimal', 'locationName' => 'actualFee', ],
                'paidFee' => [ 'type' => 'decimal', 'locationName' => 'paidFee', ],
                'activityType' => [ 'type' => 'string', 'locationName' => 'activityType', ],
                'chargeMode' => [ 'type' => 'string', 'locationName' => 'chargeMode', ],
                'createTime' => [ 'type' => 'string', 'locationName' => 'createTime', ],
                'expirationTime' => [ 'type' => 'string', 'locationName' => 'expirationTime', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'orderType' => [ 'type' => 'string', 'locationName' => 'orderType', ],
                'payTime' => [ 'type' => 'string', 'locationName' => 'payTime', ],
                'payType' => [ 'type' => 'string', 'locationName' => 'payType', ],
                'payUrl' => [ 'type' => 'string', 'locationName' => 'payUrl', ],
                'payer' => [ 'type' => 'string', 'locationName' => 'payer', ],
                'paymentChannel' => [ 'type' => 'string', 'locationName' => 'paymentChannel', ],
                'paymentNumber' => [ 'type' => 'string', 'locationName' => 'paymentNumber', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'proposer' => [ 'type' => 'string', 'locationName' => 'proposer', ],
                'remark' => [ 'type' => 'string', 'locationName' => 'remark', ],
                'selfSupportType' => [ 'type' => 'string', 'locationName' => 'selfSupportType', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'siteType' => [ 'type' => 'string', 'locationName' => 'siteType', ],
                'status' => [ 'type' => 'string', 'locationName' => 'status', ],
                'updatedTime' => [ 'type' => 'string', 'locationName' => 'updatedTime', ],
                'childOrderDetailList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderDetailResponseObject', ], ],
                'orderItemDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderItemDetailResponseObject', ], ],
            ],
        ],
        'OrderResourceInfo' => [
            'type' => 'structure',
            'members' => [
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'resourceId' => [ 'type' => 'string', 'locationName' => 'resourceId', ],
                'sourceId' => [ 'type' => 'string', 'locationName' => 'sourceId', ],
            ],
        ],
        'PayOrderResultShape' => [
            'type' => 'structure',
            'members' => [
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'autoPay' => [ 'type' => 'boolean', 'locationName' => 'autoPay', ],
            ],
        ],
        'QueryOrdersResultShape' => [
            'type' => 'structure',
            'members' => [
                'resultList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderResponseObject', ], ],
                'totalCount' => [ 'type' => 'integer', 'locationName' => 'totalCount', ],
                'totalPage' => [ 'type' => 'integer', 'locationName' => 'totalPage', ],
            ],
        ],
        'OrderItemDetailResponseObject' => [
            'type' => 'structure',
            'members' => [
                'totalFee' => [ 'type' => 'decimal', 'locationName' => 'totalFee', ],
                'actualFee' => [ 'type' => 'decimal', 'locationName' => 'actualFee', ],
                'balancePay' => [ 'type' => 'decimal', 'locationName' => 'balancePay', ],
                'chargeDuration' => [ 'type' => 'integer', 'locationName' => 'chargeDuration', ],
                'moneyPay' => [ 'type' => 'decimal', 'locationName' => 'moneyPay', ],
                'refundFee' => [ 'type' => 'decimal', 'locationName' => 'refundFee', ],
                'chargeMode' => [ 'type' => 'string', 'locationName' => 'chargeMode', ],
                'createTime' => [ 'type' => 'string', 'locationName' => 'createTime', ],
                'expireDateAfter' => [ 'type' => 'string', 'locationName' => 'expireDateAfter', ],
                'expireDateBefore' => [ 'type' => 'string', 'locationName' => 'expireDateBefore', ],
                'extraInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtraInfo', ], ],
                'extraInfoAfter' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtraInfo', ], ],
                'extraInfoBefore' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtraInfo', ], ],
                'favorableFee' => [ 'type' => 'decimal', 'locationName' => 'favorableFee', ],
                'formula' => [ 'type' => 'string', 'locationName' => 'formula', ],
                'itemId' => [ 'type' => 'string', 'locationName' => 'itemId', ],
                'itemName' => [ 'type' => 'string', 'locationName' => 'itemName', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'priceSnapshot' => [ 'type' => 'string', 'locationName' => 'priceSnapshot', ],
                'quantity' => [ 'type' => 'integer', 'locationName' => 'quantity', ],
                'remark' => [ 'type' => 'string', 'locationName' => 'remark', ],
                'resizeFormulaType' => [ 'type' => 'string', 'locationName' => 'resizeFormulaType', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'siteType' => [ 'type' => 'string', 'locationName' => 'siteType', ],
                'status' => [ 'type' => 'string', 'locationName' => 'status', ],
                'unit' => [ 'type' => 'string', 'locationName' => 'unit', ],
                'orderItemDetailResponse' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderItemDetailResponseObject', ], ],
            ],
        ],
        'CreateOrderRequestObject' => [
            'type' => 'structure',
            'members' => [
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'az' => [ 'type' => 'string', 'locationName' => 'az', ],
                'chargeDuration' => [ 'type' => 'integer', 'locationName' => 'chargeDuration', ],
                'chargeMode' => [ 'type' => 'string', 'locationName' => 'chargeMode', ],
                'chargeUnit' => [ 'type' => 'string', 'locationName' => 'chargeUnit', ],
                'customInfo' => [ 'type' => 'string', 'locationName' => 'customInfo', ],
                'extraInfo' => [ 'type' => 'list', 'member' => [ 'shape' => 'ExtraInfo', ], ],
                'formula' => [ 'type' => 'string', 'locationName' => 'formula', ],
                'itemName' => [ 'type' => 'string', 'locationName' => 'itemName', ],
                'itemType' => [ 'type' => 'string', 'locationName' => 'itemType', ],
                'orderType' => [ 'type' => 'string', 'locationName' => 'orderType', ],
                'payType' => [ 'type' => 'string', 'locationName' => 'payType', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'promotionInfo' => [ 'type' => 'string', 'locationName' => 'promotionInfo', ],
                'quantity' => [ 'type' => 'integer', 'locationName' => 'quantity', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'resourceId' => [ 'type' => 'string', 'locationName' => 'resourceId', ],
                'returnUrl' => [ 'type' => 'string', 'locationName' => 'returnUrl', ],
                'salesAttribute' => [ 'type' => 'string', 'locationName' => 'salesAttribute', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'serviceProviderName' => [ 'type' => 'string', 'locationName' => 'serviceProviderName', ],
                'serviceProviderPin' => [ 'type' => 'string', 'locationName' => 'serviceProviderPin', ],
                'siteType' => [ 'type' => 'string', 'locationName' => 'siteType', ],
                'sourceId' => [ 'type' => 'string', 'locationName' => 'sourceId', ],
                'taskId' => [ 'type' => 'string', 'locationName' => 'taskId', ],
            ],
        ],
        'QueryOrderRequestShape' => [
            'type' => 'structure',
            'members' => [
                'includeDetail' => [ 'type' => 'boolean', 'locationName' => 'includeDetail', ],
                'regionId' => [ 'type' => 'string', 'locationName' => 'regionId', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
            ],
        ],
        'CreateOrderRequestList' => [
            'type' => 'structure',
            'members' => [
                'createOrderRequests' => [ 'type' => 'list', 'member' => [ 'shape' => 'CreateOrderRequestObject', ], ],
            ],
        ],
        'PayOrderResponseShape' => [
            'type' => 'structure',
            'members' => [
                'result' =>  [ 'shape' => 'PayOrderResultShape', ],
            ],
        ],
        'QueryOrdersRequestShape' => [
            'type' => 'structure',
            'members' => [
                'queryVo' =>  [ 'shape' => 'ListOrderRequest', ],
                'regionId' => [ 'type' => 'string', 'locationName' => 'regionId', ],
            ],
        ],
        'QueryOrdersResponseShape' => [
            'type' => 'structure',
            'members' => [
                'result' =>  [ 'shape' => 'QueryOrdersResultShape', ],
            ],
        ],
        'CreateOrderResponseObject' => [
            'type' => 'structure',
            'members' => [
                'message' => [ 'type' => 'string', 'locationName' => 'message', ],
                'orderNumber' => [ 'type' => 'string', 'locationName' => 'orderNumber', ],
                'actualFee' => [ 'type' => 'decimal', 'locationName' => 'actualFee', ],
                'success' => [ 'type' => 'boolean', 'locationName' => 'success', ],
                'orderResourceInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderResourceInfo', ], ],
            ],
        ],
    ],
];
